git-svn.txt: elaborate on rev_map files
The man page for `git svn` describes a situation in which "'git svn' will not be able to rebuild" your $GIT_DIR/svn/**/.rev_map* files, but no mention is made of in what circumstances `git svn` *will* be able to do so, how to get `git svn` to do so, or even what these files are. This patch adds a FILES section to the man page with a description of what $GIT_DIR/svn/**/.rev_map* files are and how they are (re)built, and links to this description from various other parts of the man page. Signed-off-by: Keshav Kini <keshav.kini@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
Keshav Kini committed
Sep 29, 2013 at 18:46 UTC
945b9c14ffd3e11c916ee2b2428a0b2be9645829
1 file changed
+24
-4
Documentation/git-svn.txt
+24
-4
@@ -106,6 +106,9 @@ COMMANDS
106
tracking. The name of the [svn-remote "..."] section in the
107
$GIT_DIR/config file may be specified as an optional
108
command-line argument.
109
++
110
+This automatically updates the rev_map if needed (see
111
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
112
113
--localtime;;
114
Store Git commit times in the local timezone instead of UTC. This
@@ -201,6 +204,9 @@ accept. However, '--fetch-all' only fetches from the current
204
+
205
Like 'git rebase'; this requires that the working tree be clean
206
and have no uncommitted changes.
207
++
208
+This automatically updates the rev_map if needed (see
209
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
210
211
-l;;
212
--local;;
@@ -449,9 +455,10 @@ Any other arguments are passed directly to 'git log'
455
file cannot be ignored forever (with --ignore-paths) the only
456
way to repair the repo is to use 'reset'.
457
+
452
-Only the rev_map and refs/remotes/git-svn are changed. Follow 'reset'
453
-with a 'fetch' and then 'git reset' or 'git rebase' to move local
454
-branches onto the new tree.
458
+Only the rev_map and refs/remotes/git-svn are changed (see
459
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
460
+Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to
461
+move local branches onto the new tree.
462
463
-r <n>;;
464
--revision=<n>;;
@@ -684,7 +691,7 @@ svn-remote.<name>.noMetadata::
691
+
692
This option can only be used for one-shot imports as 'git svn'
693
will not be able to fetch again without metadata. Additionally,
687
-if you lose your $GIT_DIR/svn/\*\*/.rev_map.* files, 'git svn' will not
694
+if you lose your '$GIT_DIR/svn/\*\*/.rev_map.*' files, 'git svn' will not
695
be able to rebuild them.
696
+
697
The 'git svn log' command will not work on repositories using
@@ -1063,6 +1070,19 @@ or tag has appeared. If the subset of branches or tags is changed after
1070
fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove
1071
(or reset) branches-maxRev and/or tags-maxRev as appropriate.
1072
1073
+FILES
1074
+-----
1075
+$GIT_DIR/svn/\*\*/.rev_map.*::
1076
+ Mapping between Subversion revision numbers and Git commit
1077
+ names. In a repository where the noMetadata option is not set,
1078
+ this can be rebuilt from the git-svn-id: lines that are at the
1079
+ end of every commit (see the 'svn.noMetadata' section above for
1080
+ details).
1081
++
1082
+'git svn fetch' and 'git svn rebase' automatically update the rev_map
1083
+if it is missing or not up to date. 'git svn reset' automatically
1084
+rewinds it.
1085
+
1086
SEE ALSO
1087
--------
1088
linkgit:git-rebase[1]