summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorKeshav Kini <keshav.kini@gmail.com>2013-09-29 18:46:00 -0500
committerEric Wong <normalperson@yhbt.net>2013-10-10 06:56:12 +0000
commit945b9c14ffd3e11c916ee2b2428a0b2be9645829 (patch)
treec9fd2df5988c1976da23c0d40bf19814af0e1b65 /Documentation
parent6fe7a30aec23eb8082f00b614dde3603b0754646 (diff)
downloadgit-945b9c14ffd3e11c916ee2b2428a0b2be9645829.tar.gz
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>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-svn.txt28
1 files changed, 24 insertions, 4 deletions
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 3ddf545602..5383496cbb 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -106,6 +106,9 @@ COMMANDS
tracking. The name of the [svn-remote "..."] section in the
$GIT_DIR/config file may be specified as an optional
command-line argument.
++
+This automatically updates the rev_map if needed (see
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
--localtime;;
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
+
Like 'git rebase'; this requires that the working tree be clean
and have no uncommitted changes.
++
+This automatically updates the rev_map if needed (see
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
-l;;
--local;;
@@ -449,9 +455,10 @@ Any other arguments are passed directly to 'git log'
file cannot be ignored forever (with --ignore-paths) the only
way to repair the repo is to use 'reset'.
+
-Only the rev_map and refs/remotes/git-svn are changed. Follow 'reset'
-with a 'fetch' and then 'git reset' or 'git rebase' to move local
-branches onto the new tree.
+Only the rev_map and refs/remotes/git-svn are changed (see
+'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
+Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to
+move local branches onto the new tree.
-r <n>;;
--revision=<n>;;
@@ -684,7 +691,7 @@ svn-remote.<name>.noMetadata::
+
This option can only be used for one-shot imports as 'git svn'
will not be able to fetch again without metadata. Additionally,
-if you lose your $GIT_DIR/svn/\*\*/.rev_map.* files, 'git svn' will not
+if you lose your '$GIT_DIR/svn/\*\*/.rev_map.*' files, 'git svn' will not
be able to rebuild them.
+
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
fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove
(or reset) branches-maxRev and/or tags-maxRev as appropriate.
+FILES
+-----
+$GIT_DIR/svn/\*\*/.rev_map.*::
+ Mapping between Subversion revision numbers and Git commit
+ names. In a repository where the noMetadata option is not set,
+ this can be rebuilt from the git-svn-id: lines that are at the
+ end of every commit (see the 'svn.noMetadata' section above for
+ details).
++
+'git svn fetch' and 'git svn rebase' automatically update the rev_map
+if it is missing or not up to date. 'git svn reset' automatically
+rewinds it.
+
SEE ALSO
--------
linkgit:git-rebase[1]