git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 4/4] git-svn.txt: elaborate on rev_map files

From
Keshav Kini <keshav.kini@gmail.com>
Date
Sep 29, 2013, 23:46 UTC
Message-ID
<1380498360-18387-5-git-send-email-keshav.kini@gmail.com>
In-Reply-To
<1380498360-18387-1-git-send-email-keshav.kini@gmail.com>

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>
---
 Documentation/git-svn.txt | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 3ddf545..5383496 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]
-- 
1.8.3.2
Previous: Keshav KiniNext: Jonathan Nieder
Message 12 of 14 in “git-svn.txt: mention how to rebuild rev_map files”
  1. git-svn.txt: mention how to rebuild rev_map filesKeshav Kini, Sep 23, 2013
  2. Jonathan NiederSep 25, 2013
  3. Eric WongSep 25, 2013
  4. Keshav KiniSep 25, 2013
  5. Jonathan NiederSep 26, 2013
  6. Keshav KiniSep 26, 2013
  7. Keshav KiniSep 26, 2013
  8. 0/4 git-svn.txt: miscellaneous changesKeshav Kini, Sep 29, 2013
  9. 1/4 git-svn.txt: fix AsciiDoc formatting errorKeshav Kini, Sep 29, 2013
  10. 2/4 git-svn.txt: reword description of gc commandKeshav Kini, Sep 29, 2013
  11. 3/4 git-svn.txt: replace .git with $GIT_DIRKeshav Kini, Sep 29, 2013
  12. 4/4 git-svn.txt: elaborate on rev_map filesKeshav Kini, Sep 29, 2013
  13. Jonathan NiederSep 30, 2013
  14. Eric WongOct 10, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.