@matheusbsbs / matheus-bagliano / commits / 6c32a7a994
Fork 0

git-svn.txt: make formatting more consistent.

- correctly link paragraphs within list items - consistently format examples - put option alernatives on separate lines - always use [verse] for config items - always indent 1st paragraph of a list item, with a tab Signed-off-by: Yann Dirson <ydirson@altern.org> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Yann Dirson committed Jul 7, 2009 at 22:22 UTC 6c32a7a99495da3f49e2a142791bc10af3f6f059
1 file changed +101 -110
Documentation/git-svn.txt
+101 -110
@@ -26,7 +26,6 @@ Subversion updated from git by the 'dcommit' command.
26
27 COMMANDS
28 --------
29 ---
29
30 'init'::
31 Initializes an empty git repository with additional
@@ -105,7 +104,7 @@ COMMANDS
104
105 --parent;;
106 Fetch only from the SVN parent of the current HEAD.
108 -
107 ++
108 This doesn't interfere with interoperating with the Subversion
109 repository you cloned from, but if you wish for your local Git
110 repository to be able to interoperate with someone else's local Git
@@ -118,20 +117,28 @@ the same local timezone.
117 The '--ignore-paths' option should match for every 'fetch'
118 (including automatic fetches due to 'clone', 'dcommit',
119 'rebase', etc) on a given repository.
121 -
120 ++
121 +[verse]
122 config key: svn-remote.<name>.ignore-paths
123 -
124 - If the ignore-paths config key is set and the command
125 - line option is also given, both regular expressions
126 - will be used.
127 -
123 ++
124 +If the ignore-paths config key is set and the command line option is
125 +also given, both regular expressions will be used.
126 ++
127 Examples:
128 ++
129 +--
130 +Skip "doc*" directory for every fetch;;
131 ++
132 +------------------------------------------------------------------------
133 +--ignore-paths="^doc"
134 +------------------------------------------------------------------------
135
130 - --ignore-paths="^doc" - skip "doc*" directory for every
131 - fetch.
132 -
133 - --ignore-paths="^[^/]+/(?:branches|tags)" - skip
134 - "branches" and "tags" of first level directories.
136 +Skip "branches" and "tags" of first level directories;;
137 ++
138 +------------------------------------------------------------------------
139 +--ignore-paths="^[^/]+/(?:branches|tags)"
140 +------------------------------------------------------------------------
141 +--
142
143 'clone'::
144 Runs 'init' and 'fetch'. It will automatically create a
@@ -147,15 +154,15 @@ Examples:
154 'rebase'::
155 This fetches revisions from the SVN parent of the current HEAD
156 and rebases the current (uncommitted to SVN) work against it.
150 -
157 ++
158 This works similarly to `svn update` or 'git pull' except that
159 it preserves linear history with 'git rebase' instead of
160 'git merge' for ease of dcommitting with 'git svn'.
154 -
161 ++
162 This accepts all options that 'git svn fetch' and 'git rebase'
163 accept. However, '--fetch-all' only fetches from the current
164 [svn-remote], and not all [svn-remote] definitions.
158 -
165 ++
166 Like 'git rebase'; this requires that the working tree be clean
167 and have no uncommitted changes.
168
@@ -186,14 +193,13 @@ and have no uncommitted changes.
193 method (e.g. `svn://` or `http://` for anonymous read) to be
194 reused if a user is later given access to an alternate transport
195 method (e.g. `svn+ssh://` or `https://`) for commit.
189 -
196 ++
197 +[verse]
198 config key: svn-remote.<name>.commiturl
191 -
199 config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)
193 -
194 - Using this option for any other purpose (don't ask)
195 - is very strongly discouraged.
196 ---
200 ++
201 +Using this option for any other purpose (don't ask) is very strongly
202 +discouraged.
203
204 'branch'::
205 Create a branch in the SVN repository.
@@ -232,10 +238,12 @@ where <name> is the name of the SVN repository as specified by the -R option to
238 The following features from `svn log' are supported:
239 +
240 --
235 --r/--revision=<n>[:<n>];;
241 +-r <n>[:<n>];;
242 +--revision=<n>[:<n>];;
243 is supported, non-numeric args are not:
244 HEAD, NEXT, BASE, PREV, etc ...
238 --v/--verbose;;
245 +-v;;
246 +--verbose;;
247 it's not completely compatible with the --verbose
248 output in svn log, but reasonably close.
249 --limit=<n>;;
@@ -274,7 +282,6 @@ Any other arguments are passed directly to 'git log'
282 changes that haven't been committed to SVN (including local
283 working-copy edits) are shown as revision 0.
284
277 ---
285 'find-rev'::
286 When given an SVN revision number of the form 'rN', returns the
287 corresponding git commit hash (this can optionally be followed by a
@@ -340,58 +347,56 @@ Any other arguments are passed directly to 'git log'
347 "checksum mismatch" (missed a modification). If the problem
348 file cannot be ignored forever (with --ignore-paths) the only
349 way to repair the repo is to use 'reset'.
343 -
350 ++
351 Only the rev_map and refs/remotes/git-svn are changed. Follow 'reset'
352 with a 'fetch' and then 'git reset' or 'git rebase' to move local
353 branches onto the new tree.
354
348 --r/--revision=<n>;;
355 +-r <n>;;
356 +--revision=<n>;;
357 Specify the most recent revision to keep. All later revisions
358 are discarded.
351 --p/--parent;;
359 +-p;;
360 +--parent;;
361 Discard the specified revision as well, keeping the nearest
362 parent instead.
363 Example:;;
364 Assume you have local changes in "master", but you need to refetch "r2".
356 -
365 ++
366 ------------
367 r1---r2---r3 remotes/git-svn
368 \
369 A---B master
370 ------------
362 -
371 ++
372 Fix the ignore-paths or SVN permissions problem that caused "r2" to
373 be incomplete in the first place. Then:
365 -
374 ++
375 [verse]
376 git svn reset -r2 -p
377 git svn fetch
369 -
378 ++
379 ------------
380 r1---r2'--r3' remotes/git-svn
381 \
382 r2---r3---A---B master
383 ------------
375 -
384 ++
385 Then fixup "master" with 'git rebase'.
386 Do NOT use 'git merge' or your history will not be compatible with a
387 future 'dcommit'!
379 -
388 ++
389 [verse]
390 git rebase --onto remotes/git-svn A^ master
382 -
391 ++
392 ------------
393 r1---r2'--r3' remotes/git-svn
394 \
395 A'--B' master
396 ------------
397
389 -
390 ---
391 -
398 OPTIONS
399 -------
394 ---
400
401 --shared[={false|true|umask|group|all|world|everybody}]::
402 --template=<template_directory>::
@@ -400,85 +405,81 @@ OPTIONS
405
406 -r <ARG>::
407 --revision <ARG>::
403 -
404 -Used with the 'fetch' command.
405 -
408 + Used with the 'fetch' command.
409 ++
410 This allows revision ranges for partial/cauterized history
411 to be supported. $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges),
412 $NUMBER:HEAD, and BASE:$NUMBER are all supported.
409 -
413 ++
414 This can allow you to make partial mirrors when running fetch;
415 but is generally not recommended because history will be skipped
416 and lost.
417
418 -::
419 --stdin::
416 -
417 -Only used with the 'set-tree' command.
418 -
420 + Only used with the 'set-tree' command.
421 ++
422 Read a list of commits from stdin and commit them in reverse
423 order. Only the leading sha1 is read from each line, so
424 'git rev-list --pretty=oneline' output can be used.
425
426 --rmdir::
424 -
425 -Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
426 -
427 + Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
428 ++
429 Remove directories from the SVN tree if there are no files left
430 behind. SVN can version empty directories, and they are not
431 removed by default if there are no files left in them. git
432 cannot version empty directories. Enabling this flag will make
433 the commit to SVN act like git.
432 -
434 ++
435 +[verse]
436 config key: svn.rmdir
437
438 -e::
439 --edit::
437 -
438 -Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
439 -
440 + Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
441 ++
442 Edit the commit message before committing to SVN. This is off by
443 default for objects that are commits, and forced on when committing
444 tree objects.
443 -
445 ++
446 +[verse]
447 config key: svn.edit
448
449 -l<num>::
450 --find-copies-harder::
448 -
449 -Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
450 -
451 + Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
452 ++
453 They are both passed directly to 'git diff-tree'; see
454 linkgit:git-diff-tree[1] for more information.
453 -
455 ++
456 [verse]
457 config key: svn.l
458 config key: svn.findcopiesharder
459
460 -A<filename>::
461 --authors-file=<filename>::
460 -
461 -Syntax is compatible with the file used by 'git cvsimport':
462 -
462 + Syntax is compatible with the file used by 'git cvsimport':
463 ++
464 ------------------------------------------------------------------------
465 loginname = Joe User <user@example.com>
466 ------------------------------------------------------------------------
466 -
467 ++
468 If this option is specified and 'git svn' encounters an SVN
469 committer name that does not exist in the authors-file, 'git svn'
470 will abort operation. The user will then have to add the
471 appropriate entry. Re-running the previous 'git svn' command
472 after the authors-file is modified should continue operation.
472 -
473 ++
474 +[verse]
475 config key: svn.authorsfile
476
477 --authors-prog=<filename>::
476 -
477 -If this option is specified, for each SVN committer name that does not
478 -exist in the authors file, the given file is executed with the committer
479 -name as the first argument. The program is expected to return a single
480 -line of the form "Name <email>", which will be treated as if included in
481 -the authors file.
478 + If this option is specified, for each SVN committer name that
479 + does not exist in the authors file, the given file is executed
480 + with the committer name as the first argument. The program is
481 + expected to return a single line of the form "Name <email>",
482 + which will be treated as if included in the authors file.
483
484 -q::
485 --quiet::
@@ -487,16 +488,15 @@ the authors file.
488
489 --repack[=<n>]::
490 --repack-flags=<flags>::
490 -
491 -These should help keep disk usage sane for large fetches
492 -with many revisions.
493 -
491 + These should help keep disk usage sane for large fetches with
492 + many revisions.
493 ++
494 --repack takes an optional argument for the number of revisions
495 to fetch before repacking. This defaults to repacking every
496 1000 commits fetched if no argument is specified.
497 -
497 ++
498 --repack-flags are passed directly to 'git repack'.
499 -
499 ++
500 [verse]
501 config key: svn.repack
502 config key: svn.repackflags
@@ -505,41 +505,36 @@ config key: svn.repackflags
505 --merge::
506 -s<strategy>::
507 --strategy=<strategy>::
508 -
509 -These are only used with the 'dcommit' and 'rebase' commands.
510 -
508 + These are only used with the 'dcommit' and 'rebase' commands.
509 ++
510 Passed directly to 'git rebase' when using 'dcommit' if a
511 'git reset' cannot be used (see 'dcommit').
512
513 -n::
514 --dry-run::
516 -
517 -This can be used with the 'dcommit', 'rebase', 'branch' and 'tag'
518 -commands.
519 -
515 + This can be used with the 'dcommit', 'rebase', 'branch' and
516 + 'tag' commands.
517 ++
518 For 'dcommit', print out the series of git arguments that would show
519 which diffs would be committed to SVN.
522 -
520 ++
521 For 'rebase', display the local branch associated with the upstream svn
522 repository associated with the current branch and the URL of svn
523 repository that will be fetched from.
526 -
524 ++
525 For 'branch' and 'tag', display the urls that will be used for copying when
526 creating the branch or tag.
527
530 ---
528
529 ADVANCED OPTIONS
530 ----------------
534 ---
531
532 -i<GIT_SVN_ID>::
533 --id <GIT_SVN_ID>::
538 -
539 -This sets GIT_SVN_ID (instead of using the environment). This
540 -allows the user to override the default refname to fetch from
541 -when tracking a single URL. The 'log' and 'dcommit' commands
542 -no longer require this switch as an argument.
534 + This sets GIT_SVN_ID (instead of using the environment). This
535 + allows the user to override the default refname to fetch from
536 + when tracking a single URL. The 'log' and 'dcommit' commands
537 + no longer require this switch as an argument.
538
539 -R<remote name>::
540 --svn-remote <remote name>::
@@ -553,33 +548,30 @@ no longer require this switch as an argument.
548 started tracking a branch and never tracked the trunk it was
549 descended from. This feature is enabled by default, use
550 --no-follow-parent to disable it.
556 -
551 ++
552 +[verse]
553 config key: svn.followparent
554
559 ---
555 CONFIG FILE-ONLY OPTIONS
556 ------------------------
562 ---
557
558 svn.noMetadata::
559 svn-remote.<name>.noMetadata::
566 -
567 -This gets rid of the 'git-svn-id:' lines at the end of every commit.
568 -
560 + This gets rid of the 'git-svn-id:' lines at the end of every commit.
561 ++
562 If you lose your .git/svn/git-svn/.rev_db file, 'git svn' will not
563 be able to rebuild it and you won't be able to fetch again,
564 either. This is fine for one-shot imports.
572 -
565 ++
566 The 'git svn log' command will not work on repositories using
567 this, either. Using this conflicts with the 'useSvmProps'
568 option for (hopefully) obvious reasons.
569
570 svn.useSvmProps::
571 svn-remote.<name>.useSvmProps::
579 -
580 -This allows 'git svn' to re-map repository URLs and UUIDs from
581 -mirrors created using SVN::Mirror (or svk) for metadata.
582 -
572 + This allows 'git svn' to re-map repository URLs and UUIDs from
573 + mirrors created using SVN::Mirror (or svk) for metadata.
574 ++
575 If an SVN revision has a property, "svm:headrev", it is likely
576 that the revision was created by SVN::Mirror (also used by SVK).
577 The property contains a repository UUID and a revision. We want
@@ -602,14 +594,13 @@ svn-remote.<name>.rewriteRoot::
594 metadata so users of it will see the public URL.
595
596 svn.brokenSymlinkWorkaround::
605 -This disables potentially expensive checks to workaround broken symlinks
606 -checked into SVN by broken clients. Set this option to "false" if you
607 -track a SVN repository with many empty blobs that are not symlinks.
608 -This option may be changed while 'git svn' is running and take effect on
609 -the next revision fetched. If unset, 'git svn' assumes this option to be
610 -"true".
611 -
612 ---
597 + This disables potentially expensive checks to workaround
598 + broken symlinks checked into SVN by broken clients. Set this
599 + option to "false" if you track a SVN repository with many
600 + empty blobs that are not symlinks. This option may be changed
601 + while 'git svn' is running and take effect on the next
602 + revision fetched. If unset, 'git svn' assumes this option to
603 + be "true".
604
605 Since the noMetadata, rewriteRoot, useSvnsyncProps and useSvmProps
606 options all affect the metadata generated and used by 'git svn'; they