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

Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Sep 25, 2013, 19:44 UTC
Message-ID
<20130925194402.GA9464@google.com>
In-Reply-To
<1379971145-8971-1-git-send-email-keshav.kini@gmail.com>
Hi,
Keshav Kini wrote:
Show 9 quoted lines
> The man page for `git svn` describes a situation in which "'git svn'
> will not be able to rebuild" your .git/svn/**/.rev_map files, but no
> mention is made of in what circumstances `git svn` *will* be able to do
> so, or how to get `git svn` to do so.
>
> This patch adds some language to the description of the 'fetch' command
> to rectify this oversight, and also fixes an AsciiDoc escaping typo.
>
> Signed-off-by: Keshav Kini <keshav.kini@gmail.com>
Good idea.
[...]
Show 15 quoted lines
> --- a/Documentation/git-svn.txt
> +++ b/Documentation/git-svn.txt
> @@ -103,9 +103,12 @@ COMMANDS
>  
>  'fetch'::
>  	Fetch unfetched revisions from the Subversion remote we are
> -	tracking.  The name of the [svn-remote "..."] section in the
> -	.git/config file may be specified as an optional command-line
> -	argument.
> +	tracking.  If necessary, rebuild the .git/svn/\*\*/.rev_map.*
> +	files, given the requisite information exists in commit
> +	messages (see the svn.noMetadata config option for more
> +	information).  The name of the [svn-remote "..."] section in
> +	the .git/config file may be specified as an optional
> +	command-line argument.

Taking a step back, the reader might wonder *why* he would want to run "git svn fetch" to rebuilt these .rev_map.* files, and what they are for.

Perhaps there should be a separate REVISION MAP section describing this in more detail. Something as simple as

	FILES
	-----
	.git/svn/\*\*/.rev_map.\*::
		Mapping between Subversion revision numbers and Git
		commit names.  Can be rebuilt using the git-svn-id:
		lines at the end of every commit as long as the
		noMetadata option is not set (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.
Then this reference in 'fetch' could just say something like
	...
	argument.
	+
 This automatically updates the rev_map if needed (see
 '.git/svn/\*\*/.rev_map.\*' in the FILES section below for
 details).
Show 6 quoted lines
> @@ -684,7 +687,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/svn/**/.rev_map.* files, 'git svn' will not
> +if you lose your .git/svn/\*\*/.rev_map.* files, 'git svn' will not

I don't mind seeing this fix snuck into the same commit, but a separate commit that could be applied more quickly would be even better. ;-)

Thanks and hope that helps, Jonathan

Previous: Keshav KiniNext: Eric Wong
Message 2 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.