{"thread":{"id":"35003","subject":"[PATCH] git-svn.txt: mention how to rebuild rev_map files","startedAt":"2013-09-23T21:19:05Z","lastAt":"2013-10-10T06:59:47Z","messageCount":14,"participants":["Keshav Kini","Jonathan Nieder","Eric Wong"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"228109","messageId":"1379971145-8971-1-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":null,"subject":"[PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-23T21:19:05Z","receivedAt":"2013-09-23T21:19:05Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"The man page for `git svn` describes a situation in which \"'git svn'\nwill not be able to rebuild\" your .git/svn/**/.rev_map files, but no\nmention is made of in what circumstances `git svn` *will* be able to do\nso, or how to get `git svn` to do so.\n\nThis patch adds some language to the description of the 'fetch' command\nto rectify this oversight, and also fixes an AsciiDoc escaping typo.\n\nSigned-off-by: Keshav Kini <keshav.kini@gmail.com>\n---\n Documentation/git-svn.txt | 11 +++++++----\n 1 file changed, 7 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 4dd3bcb..040117a 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -103,9 +103,12 @@ COMMANDS\n \n 'fetch'::\n \tFetch unfetched revisions from the Subversion remote we are\n-\ttracking.  The name of the [svn-remote \"...\"] section in the\n-\t.git/config file may be specified as an optional command-line\n-\targument.\n+\ttracking.  If necessary, rebuild the .git/svn/\\*\\*/.rev_map.*\n+\tfiles, given the requisite information exists in commit\n+\tmessages (see the svn.noMetadata config option for more\n+\tinformation).  The name of the [svn-remote \"...\"] section in\n+\tthe .git/config file may be specified as an optional\n+\tcommand-line argument.\n \n --localtime;;\n \tStore Git commit times in the local timezone instead of UTC.  This\n@@ -684,7 +687,7 @@ svn-remote.<name>.noMetadata::\n +\n This option can only be used for one-shot imports as 'git svn'\n will not be able to fetch again without metadata. Additionally,\n-if you lose your .git/svn/**/.rev_map.* files, 'git svn' will not\n+if you lose your .git/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n be able to rebuild them.\n +\n The 'git svn log' command will not work on repositories using\n-- \n1.8.3.2\n"},{"id":"228231","messageId":"20130925194402.GA9464@google.com","threadId":"35003","inReplyTo":"1379971145-8971-1-git-send-email-keshav.kini@gmail.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-09-25T19:44:03Z","receivedAt":"2013-09-25T19:44:03Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nKeshav Kini wrote:\n\n> The man page for `git svn` describes a situation in which \"'git svn'\n> will not be able to rebuild\" your .git/svn/**/.rev_map files, but no\n> mention is made of in what circumstances `git svn` *will* be able to do\n> so, or how to get `git svn` to do so.\n>\n> This patch adds some language to the description of the 'fetch' command\n> to rectify this oversight, and also fixes an AsciiDoc escaping typo.\n>\n> Signed-off-by: Keshav Kini <keshav.kini@gmail.com>\n\nGood idea.\n\n[...]\n> --- a/Documentation/git-svn.txt\n> +++ b/Documentation/git-svn.txt\n> @@ -103,9 +103,12 @@ COMMANDS\n>  \n>  'fetch'::\n>  \tFetch unfetched revisions from the Subversion remote we are\n> -\ttracking.  The name of the [svn-remote \"...\"] section in the\n> -\t.git/config file may be specified as an optional command-line\n> -\targument.\n> +\ttracking.  If necessary, rebuild the .git/svn/\\*\\*/.rev_map.*\n> +\tfiles, given the requisite information exists in commit\n> +\tmessages (see the svn.noMetadata config option for more\n> +\tinformation).  The name of the [svn-remote \"...\"] section in\n> +\tthe .git/config file may be specified as an optional\n> +\tcommand-line argument.\n\nTaking a step back, the reader might wonder *why* he would want\nto run \"git svn fetch\" to rebuilt these .rev_map.* files, and what\nthey are for.\n\nPerhaps there should be a separate REVISION MAP section describing\nthis in more detail.  Something as simple as\n\n\tFILES\n\t-----\n\t.git/svn/\\*\\*/.rev_map.\\*::\n\t\tMapping between Subversion revision numbers and Git\n\t\tcommit names.  Can be rebuilt using the git-svn-id:\n\t\tlines at the end of every commit as long as the\n\t\tnoMetadata option is not set (see the 'svn.noMetadata'\n\t\tsection above for details).\n\t+\n\t'git svn fetch' and 'git svn rebase' automatically update\n\tthe rev_map if it is missing or not up to date.  'git svn\n\treset' automatically rewinds it.\n\nThen this reference in 'fetch' could just say something like\n\n\t...\n\targument.\n\t+\n This automatically updates the rev_map if needed (see\n '.git/svn/\\*\\*/.rev_map.\\*' in the FILES section below for\n details).\n\n> @@ -684,7 +687,7 @@ svn-remote.<name>.noMetadata::\n>  +\n>  This option can only be used for one-shot imports as 'git svn'\n>  will not be able to fetch again without metadata. Additionally,\n> -if you lose your .git/svn/**/.rev_map.* files, 'git svn' will not\n> +if you lose your .git/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n\nI don't mind seeing this fix snuck into the same commit, but a\nseparate commit that could be applied more quickly would be even\nbetter. ;-)\n\nThanks and hope that helps,\nJonathan\n"},{"id":"228232","messageId":"20130925194750.GA5796@dcvr.yhbt.net","threadId":"35003","inReplyTo":"20130925194402.GA9464@google.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2013-09-25T19:47:50Z","receivedAt":"2013-09-25T19:47:50Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Keshav Kini wrote:\n> > +\ttracking.  If necessary, rebuild the .git/svn/\\*\\*/.rev_map.*\n> > +\tfiles, given the requisite information exists in commit\n> > +\tmessages (see the svn.noMetadata config option for more\n> > +\tinformation).  The name of the [svn-remote \"...\"] section in\n> > +\tthe .git/config file may be specified as an optional\n> > +\tcommand-line argument.\n> \n> Taking a step back, the reader might wonder *why* he would want\n> to run \"git svn fetch\" to rebuilt these .rev_map.* files, and what\n> they are for.\n> \n> Perhaps there should be a separate REVISION MAP section describing\n> this in more detail.  Something as simple as\n\nI agree with Jonathan's suggestions.\n\nKeshav: can you please resend with Jonathan's suggestions?\nThanks both.\n"},{"id":"228238","messageId":"874n98qxqx.fsf@gmail.com","threadId":"35003","inReplyTo":"20130925194402.GA9464@google.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-25T23:37:10Z","receivedAt":"2013-09-25T23:37:10Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n> Taking a step back, the reader might wonder *why* he would want\n> to run \"git svn fetch\" to rebuilt these .rev_map.* files, and what\n> they are for.\n>\n> Perhaps there should be a separate REVISION MAP section describing\n> this in more detail.  Something as simple as\n>\n> \tFILES\n> \t-----\n> \t.git/svn/\\*\\*/.rev_map.\\*::\n> \t\tMapping between Subversion revision numbers and Git\n> \t\tcommit names.  Can be rebuilt using the git-svn-id:\n> \t\tlines at the end of every commit as long as the\n> \t\tnoMetadata option is not set (see the 'svn.noMetadata'\n> \t\tsection above for details).\n> \t+\n> \t'git svn fetch' and 'git svn rebase' automatically update\n> \tthe rev_map if it is missing or not up to date.  'git svn\n> \treset' automatically rewinds it.\n>\n> Then this reference in 'fetch' could just say something like\n>\n> \t...\n> \targument.\n> \t+\n>  This automatically updates the rev_map if needed (see\n>  '.git/svn/\\*\\*/.rev_map.\\*' in the FILES section below for\n>  details).\n\nNote that only the first two asterisks are escaped in my patch. For some\nreason, escaping all three causes a literal '\\' to appear in asciidoc's\noutput...\n\nI changed the wording of your first paragraph a bit according to what I\nthought it meant. Does it still convey what you wanted to convey, and is\nit still correct?\n\n\tMapping between Subversion revision numbers and Git commit\n\tnames.  In a repository where the noMetadata option is not set,\n\tthis can be rebuilt from the git-svn-id: lines that are at the\n\tend of every commit (see the 'svn.noMetadata' section above for\n\tdetails).\n\nAlso, I'm having a bit of trouble trying to get a definition to start\nwith a '.' character in AsciiDoc.  Escaping the '.' produces a\ndefinition block, but with a literal '\\' before the '.'.  If I don't\nescape the '.', asciidoc thinks it's a section heading or something. Is\nasciidoc just incapable of doing this, or am I missing something?\n\n-Keshav\n"},{"id":"228242","messageId":"20130926000648.GE9464@google.com","threadId":"35003","inReplyTo":"874n98qxqx.fsf@gmail.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-09-26T00:06:48Z","receivedAt":"2013-09-26T00:06:48Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Keshav Kini wrote:\n\n> I changed the wording of your first paragraph a bit according to what I\n> thought it meant. Does it still convey what you wanted to convey, and is\n> it still correct?\n>\n>         Mapping between Subversion revision numbers and Git commit\n>         names.  In a repository where the noMetadata option is not set,\n>         this can be rebuilt from the git-svn-id: lines that are at the\n>         end of every commit (see the 'svn.noMetadata' section above for\n>         details).\n\nSounds good.\n\n> Also, I'm having a bit of trouble trying to get a definition to start\n> with a '.' character in AsciiDoc.  Escaping the '.' produces a\n> definition block, but with a literal '\\' before the '.'.  If I don't\n> escape the '.', asciidoc thinks it's a section heading or something. Is\n> asciidoc just incapable of doing this, or am I missing something?\n\nOh.  Yeah, this can be a pain.  Quoting the filename with `backticks`\nmight work.  Writing $GIT_DIR instead of .git might be simpler (see\nv1.5.3.2~18 \"Documentation/git-config.txt: AsciiDoc tweak to avoid\nleading dot\", 2007-09-14).\n\nThanks,\nJonathan\n"},{"id":"228244","messageId":"87mwn0pbk4.fsf@gmail.com","threadId":"35003","inReplyTo":"20130926000648.GE9464@google.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-26T02:21:47Z","receivedAt":"2013-09-26T02:21:47Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n> Keshav Kini wrote:\n>\n>> I changed the wording of your first paragraph a bit according to what I\n>> thought it meant. Does it still convey what you wanted to convey, and is\n>> it still correct?\n>>\n>>         Mapping between Subversion revision numbers and Git commit\n>>         names.  In a repository where the noMetadata option is not set,\n>>         this can be rebuilt from the git-svn-id: lines that are at the\n>>         end of every commit (see the 'svn.noMetadata' section above for\n>>         details).\n>\n> Sounds good.\n>\n>> Also, I'm having a bit of trouble trying to get a definition to start\n>> with a '.' character in AsciiDoc.  Escaping the '.' produces a\n>> definition block, but with a literal '\\' before the '.'.  If I don't\n>> escape the '.', asciidoc thinks it's a section heading or something. Is\n>> asciidoc just incapable of doing this, or am I missing something?\n>\n> Oh.  Yeah, this can be a pain.  Quoting the filename with `backticks`\n> might work.  Writing $GIT_DIR instead of .git might be simpler (see\n> v1.5.3.2~18 \"Documentation/git-config.txt: AsciiDoc tweak to avoid\n> leading dot\", 2007-09-14).\n\nGood point.  Actually it seems to me that writing $GIT_DIR is in fact\nmore correct, since $GIT_DIR need not be \".git\" at all.  So I'll just\nuse that.  Reroll coming up in a bit.\n\n-Keshav\n"},{"id":"228256","messageId":"87a9j0pamj.fsf@gmail.com","threadId":"35003","inReplyTo":"20130925194402.GA9464@google.com","subject":"Re: [PATCH] git-svn.txt: mention how to rebuild rev_map files","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-26T02:41:56Z","receivedAt":"2013-09-26T02:41:56Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n>> @@ -684,7 +687,7 @@ svn-remote.<name>.noMetadata::\n>>  +\n>>  This option can only be used for one-shot imports as 'git svn'\n>>  will not be able to fetch again without metadata. Additionally,\n>> -if you lose your .git/svn/**/.rev_map.* files, 'git svn' will not\n>> +if you lose your .git/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n>\n> I don't mind seeing this fix snuck into the same commit, but a\n> separate commit that could be applied more quickly would be even\n> better. ;-)\n\nMay I also roll into said commit a couple of replacements of \".git\" with\n\"$GIT_DIR\" in the same file, or other such minor touchups?\n\n-Keshav\n"},{"id":"228462","messageId":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":"1379971145-8971-1-git-send-email-keshav.kini@gmail.com","subject":"[PATCH v2 0/4] git-svn.txt: miscellaneous changes","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-29T23:45:56Z","receivedAt":"2013-09-29T23:45:56Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"I'm not sure if this was the best way to split my changes into commits.\nPlease let me know if it wasn't.\n\nKeshav Kini (4):\n  git-svn.txt: fix AsciiDoc formatting error\n  git-svn.txt: reword description of gc command\n  git-svn.txt: replace .git with $GIT_DIR\n  git-svn.txt: elaborate on rev_map files\n\n Documentation/git-svn.txt | 46 +++++++++++++++++++++++++++++++++-------------\n 1 file changed, 33 insertions(+), 13 deletions(-)\n\n-- \n1.8.3.2\n"},{"id":"228463","messageId":"1380498360-18387-2-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"[PATCH v2 1/4] git-svn.txt: fix AsciiDoc formatting error","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-29T23:45:57Z","receivedAt":"2013-09-29T23:45:57Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"As asterisks are used to indicate bold text in AsciiDoc, shell glob\nexpressions must be escaped appropriately.\n\nSigned-off-by: Keshav Kini <keshav.kini@gmail.com>\n---\n Documentation/git-svn.txt | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 4dd3bcb..239c33c 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -684,7 +684,7 @@ svn-remote.<name>.noMetadata::\n +\n This option can only be used for one-shot imports as 'git svn'\n will not be able to fetch again without metadata. Additionally,\n-if you lose your .git/svn/**/.rev_map.* files, 'git svn' will not\n+if you lose your .git/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n be able to rebuild them.\n +\n The 'git svn log' command will not work on repositories using\n-- \n1.8.3.2\n"},{"id":"228464","messageId":"1380498360-18387-3-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"[PATCH v2 2/4] git-svn.txt: reword description of gc command","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-29T23:45:58Z","receivedAt":"2013-09-29T23:45:58Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"It's redundant to say that $GIT_DIR/svn/<refname>/unhandled.log or\n$GIT_DIR/svn/<refname>/index is in .git/svn when $GIT_DIR is '.git', and\nis wrong when $GIT_DIR is not '.git'\n\nAlso, a '/' was missing from the pathname $GIT_DIR/svn/<refname>/index .\n\nSigned-off-by: Keshav Kini <keshav.kini@gmail.com>\n---\n Documentation/git-svn.txt | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 239c33c..62ec727 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -435,8 +435,8 @@ Any other arguments are passed directly to 'git log'\n \tspecific revision.\n \n 'gc'::\n-\tCompress $GIT_DIR/svn/<refname>/unhandled.log files in .git/svn\n-\tand remove $GIT_DIR/svn/<refname>index files in .git/svn.\n+\tCompress $GIT_DIR/svn/<refname>/unhandled.log files and remove\n+\t$GIT_DIR/svn/<refname>/index files.\n \n 'reset'::\n \tUndoes the effects of 'fetch' back to the specified revision.\n-- \n1.8.3.2\n"},{"id":"228465","messageId":"1380498360-18387-4-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"[PATCH v2 3/4] git-svn.txt: replace .git with $GIT_DIR","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-29T23:45:59Z","receivedAt":"2013-09-29T23:45:59Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"As $GIT_DIR may not equal '.git', it's usually more generally correct to\nrefer to files in $GIT_DIR rather than in .git .\n\nThis will also allow me to link some of the occurrences of '.git' in\ngit-svn.txt to a new reference target inside this file in an upcoming\ncommit, because in AsciiDoc definitions apparently can't start with\na '.' character.\n\nSigned-off-by: Keshav Kini <keshav.kini@gmail.com>\n---\n Documentation/git-svn.txt | 16 ++++++++--------\n 1 file changed, 8 insertions(+), 8 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 62ec727..3ddf545 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -104,8 +104,8 @@ COMMANDS\n 'fetch'::\n \tFetch unfetched revisions from the Subversion remote we are\n \ttracking.  The name of the [svn-remote \"...\"] section in the\n-\t.git/config file may be specified as an optional command-line\n-\targument.\n+\t$GIT_DIR/config file may be specified as an optional\n+\tcommand-line argument.\n \n --localtime;;\n \tStore Git commit times in the local timezone instead of UTC.  This\n@@ -684,7 +684,7 @@ svn-remote.<name>.noMetadata::\n +\n This option can only be used for one-shot imports as 'git svn'\n will not be able to fetch again without metadata. Additionally,\n-if you lose your .git/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n+if you lose your $GIT_DIR/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n be able to rebuild them.\n +\n The 'git svn log' command will not work on repositories using\n@@ -977,8 +977,8 @@ When using multiple --branches or --tags, 'git svn' does not automatically\n handle name collisions (for example, if two branches from different paths have\n the same name, or if a branch and a tag have the same name).  In these cases,\n use 'init' to set up your Git repository then, before your first 'fetch', edit\n-the .git/config file so that the branches and tags are associated with\n-different name spaces.  For example:\n+the $GIT_DIR/config file so that the branches and tags are associated\n+with different name spaces.  For example:\n \n \tbranches = stable/*:refs/remotes/svn/stable/*\n \tbranches = debug/*:refs/remotes/svn/debug/*\n@@ -1006,7 +1006,7 @@ CONFIGURATION\n -------------\n \n 'git svn' stores [svn-remote] configuration information in the\n-repository .git/config file.  It is similar the core Git\n+repository $GIT_DIR/config file.  It is similar the core Git\n [remote] sections except 'fetch' keys do not accept glob\n arguments; but they are instead handled by the 'branches'\n and 'tags' keys.  Since some SVN repositories are oddly\n@@ -1060,8 +1060,8 @@ $ git svn branch -d branches/server release-2-3-0\n \n Note that git-svn keeps track of the highest revision in which a branch\n or tag has appeared. If the subset of branches or tags is changed after\n-fetching, then .git/svn/.metadata must be manually edited to remove (or\n-reset) branches-maxRev and/or tags-maxRev as appropriate.\n+fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove\n+(or reset) branches-maxRev and/or tags-maxRev as appropriate.\n \n SEE ALSO\n --------\n-- \n1.8.3.2\n"},{"id":"228466","messageId":"1380498360-18387-5-git-send-email-keshav.kini@gmail.com","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"[PATCH v2 4/4] git-svn.txt: elaborate on rev_map files","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2013-09-29T23:46:00Z","receivedAt":"2013-09-29T23:46:00Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"The man page for `git svn` describes a situation in which \"'git svn'\nwill not be able to rebuild\" your $GIT_DIR/svn/**/.rev_map* files, but\nno mention is made of in what circumstances `git svn` *will* be able to\ndo so, how to get `git svn` to do so, or even what these files are.\n\nThis patch adds a FILES section to the man page with a description of\nwhat $GIT_DIR/svn/**/.rev_map* files are and how they are (re)built, and\nlinks to this description from various other parts of the man page.\n\nSigned-off-by: Keshav Kini <keshav.kini@gmail.com>\n---\n Documentation/git-svn.txt | 28 ++++++++++++++++++++++++----\n 1 file changed, 24 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 3ddf545..5383496 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -106,6 +106,9 @@ COMMANDS\n \ttracking.  The name of the [svn-remote \"...\"] section in the\n \t$GIT_DIR/config file may be specified as an optional\n \tcommand-line argument.\n++\n+This automatically updates the rev_map if needed (see\n+'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details).\n \n --localtime;;\n \tStore Git commit times in the local timezone instead of UTC.  This\n@@ -201,6 +204,9 @@ accept.  However, '--fetch-all' only fetches from the current\n +\n Like 'git rebase'; this requires that the working tree be clean\n and have no uncommitted changes.\n++\n+This automatically updates the rev_map if needed (see\n+'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details).\n \n -l;;\n --local;;\n@@ -449,9 +455,10 @@ Any other arguments are passed directly to 'git log'\n \tfile cannot be ignored forever (with --ignore-paths) the only\n \tway to repair the repo is to use 'reset'.\n +\n-Only the rev_map and refs/remotes/git-svn are changed.  Follow 'reset'\n-with a 'fetch' and then 'git reset' or 'git rebase' to move local\n-branches onto the new tree.\n+Only the rev_map and refs/remotes/git-svn are changed (see\n+'$GIT_DIR/svn/\\*\\*/.rev_map.*' in the FILES section below for details).\n+Follow 'reset' with a 'fetch' and then 'git reset' or 'git rebase' to\n+move local branches onto the new tree.\n \n -r <n>;;\n --revision=<n>;;\n@@ -684,7 +691,7 @@ svn-remote.<name>.noMetadata::\n +\n This option can only be used for one-shot imports as 'git svn'\n will not be able to fetch again without metadata. Additionally,\n-if you lose your $GIT_DIR/svn/\\*\\*/.rev_map.* files, 'git svn' will not\n+if you lose your '$GIT_DIR/svn/\\*\\*/.rev_map.*' files, 'git svn' will not\n be able to rebuild them.\n +\n The 'git svn log' command will not work on repositories using\n@@ -1063,6 +1070,19 @@ or tag has appeared. If the subset of branches or tags is changed after\n fetching, then $GIT_DIR/svn/.metadata must be manually edited to remove\n (or reset) branches-maxRev and/or tags-maxRev as appropriate.\n \n+FILES\n+-----\n+$GIT_DIR/svn/\\*\\*/.rev_map.*::\n+\tMapping between Subversion revision numbers and Git commit\n+\tnames.  In a repository where the noMetadata option is not set,\n+\tthis can be rebuilt from the git-svn-id: lines that are at the\n+\tend of every commit (see the 'svn.noMetadata' section above for\n+\tdetails).\n++\n+'git svn fetch' and 'git svn rebase' automatically update the rev_map\n+if it is missing or not up to date.  'git svn reset' automatically\n+rewinds it.\n+\n SEE ALSO\n --------\n linkgit:git-rebase[1]\n-- \n1.8.3.2\n"},{"id":"228475","messageId":"20130930192446.GV9464@google.com","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"Re: [PATCH v2 0/4] git-svn.txt: miscellaneous changes","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-09-30T19:24:46Z","receivedAt":"2013-09-30T19:24:46Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Keshav Kini wrote:\n\n> Keshav Kini (4):\n>   git-svn.txt: fix AsciiDoc formatting error\n>   git-svn.txt: reword description of gc command\n>   git-svn.txt: replace .git with $GIT_DIR\n>   git-svn.txt: elaborate on rev_map files\n\nThanks.\n"},{"id":"228685","messageId":"20131010065947.GB2413@dcvr.yhbt.net","threadId":"35003","inReplyTo":"1380498360-18387-1-git-send-email-keshav.kini@gmail.com","subject":"Re: [PATCH v2 0/4] git-svn.txt: miscellaneous changes","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2013-10-10T06:59:47Z","receivedAt":"2013-10-10T06:59:47Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Keshav Kini <keshav.kini@gmail.com> wrote:\n> I'm not sure if this was the best way to split my changes into commits.\n> Please let me know if it wasn't.\n> \n> Keshav Kini (4):\n>   git-svn.txt: fix AsciiDoc formatting error\n>   git-svn.txt: reword description of gc command\n>   git-svn.txt: replace .git with $GIT_DIR\n>   git-svn.txt: elaborate on rev_map files\n> \n>  Documentation/git-svn.txt | 46 +++++++++++++++++++++++++++++++++-------------\n>  1 file changed, 33 insertions(+), 13 deletions(-)\n\nGood enough for me :)   Pushed to git-svn.git\n\nThe following changes since commit 128a96c98442524c7f2eeef4757b1e48445f24ce:\n\n  Update draft release notes to 1.8.5 for the fifth batch of topics (2013-09-20 12:42:02 -0700)\n\nare available in the git repository at:\n\n  git://git.bogomips.org/git-svn.git master\n\nfor you to fetch changes up to 945b9c14ffd3e11c916ee2b2428a0b2be9645829:\n\n  git-svn.txt: elaborate on rev_map files (2013-10-10 06:56:12 +0000)\n\n----------------------------------------------------------------\nKeshav Kini (4):\n      git-svn.txt: fix AsciiDoc formatting error\n      git-svn.txt: reword description of gc command\n      git-svn.txt: replace .git with $GIT_DIR\n      git-svn.txt: elaborate on rev_map files\n\nNicolas Vigier (1):\n      git-svn: fix signed commit parsing\n\n Documentation/git-svn.txt | 46 +++++++++++++++++++++++++++++++++-------------\n git-svn.perl              |  2 +-\n 2 files changed, 34 insertions(+), 14 deletions(-)\n"}]}