{"thread":{"id":"6258","subject":"[PATCH] Documentation/git-svn: clarify dcommit, rebase vs pull/merge","startedAt":"2007-01-07T01:53:40Z","lastAt":"2007-01-07T01:53:40Z","messageCount":1,"participants":["Eric Wong"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"30998","messageId":"20070107015340.GA18322@localdomain","threadId":"6258","inReplyTo":null,"subject":"[PATCH] Documentation/git-svn: clarify dcommit, rebase vs pull/merge","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-01-07T01:53:40Z","receivedAt":"2007-01-07T01:53:40Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Clarify that dcommit creates a revision in SVN for every commit\nin git.  Also, add 'merge' to the rebase vs pull section because\ngit-merge is now a first-class UI.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n Documentation/git-svn.txt |   33 ++++++++++++++++++---------------\n 1 files changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex f754d2f..ce63def 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -53,11 +53,13 @@ See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in\n manually joining branches on commit.\n \n 'dcommit'::\n-\tCommit all diffs from a specified head directly to the SVN\n+\tCommit each diff from a specified head directly to the SVN\n \trepository, and then rebase or reset (depending on whether or\n-\tnot there is a diff between SVN and head).  It is recommended\n-\tthat you run git-svn fetch and rebase (not pull) your commits\n-\tagainst the latest changes in the SVN repository.\n+\tnot there is a diff between SVN and head).  This will create\n+\ta revision in SVN for each commit in git.\n+\tIt is recommended that you run git-svn fetch and rebase (not\n+\tpull or merge) your commits against the latest changes in the\n+\tSVN repository.\n \tAn optional command-line argument may be specified as an\n \talternative to HEAD.\n \tThis is advantageous over 'set-tree' (below) because it produces\n@@ -408,19 +410,20 @@ See also:\n \tgit-svn multi-init\n ------------------------------------------------------------------------\n \n-REBASE VS. PULL\n----------------\n+REBASE VS. PULL/MERGE\n+---------------------\n \n Originally, git-svn recommended that the remotes/git-svn branch be\n-pulled from.  This is because the author favored 'git-svn set-tree B'\n-to commit a single head rather than the 'git-svn set-tree A..B' notation\n-to commit multiple commits.\n-\n-If you use 'git-svn set-tree A..B' to commit several diffs and you do not\n-have the latest remotes/git-svn merged into my-branch, you should use\n-'git rebase' to update your work branch instead of 'git pull'.  'pull'\n-can cause non-linear history to be flattened when committing into SVN,\n-which can lead to merge commits reversing previous commits in SVN.\n+pulled or merged from.  This is because the author favored\n+'git-svn set-tree B' to commit a single head rather than the\n+'git-svn set-tree A..B' notation to commit multiple commits.\n+\n+If you use 'git-svn set-tree A..B' to commit several diffs and you do\n+not have the latest remotes/git-svn merged into my-branch, you should\n+use 'git rebase' to update your work branch instead of 'git pull' or\n+'git merge'.  'pull/merge' can cause non-linear history to be flattened\n+when committing into SVN, which can lead to merge commits reversing\n+previous commits in SVN.\n \n DESIGN PHILOSOPHY\n -----------------\n\n-- \nEric Wong\n"}]}