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

Re: [1/2 PATCH] git-svn: make multi-init less confusing

From
David Kågedal <davidk@lysator.liu.se>
Date
Jan 8, 2007, 12:56 UTC
Message-ID
<87lkkdr82g.fsf@morpheus.local>
In-Reply-To
<m2ejq9trf1.fsf@gmail.com>
Seth Falcon <sethfalcon@gmail.com> writes:
Show 11 quoted lines
> David Kågedal <davidk@lysator.liu.se> writes:
>> Now if you could only clarify the documentation of dcommit to explain
>> whether it creates one svn revision per commit in your branch, or if
>> it creates a single svn revision with the full diff, and the
>> documentation would be perfect :-)
>
> dcommit creates one svn rev for each commit listed by:
>
>    git log remotes/git-svn..HEAD
>
> + seth

Ok, so I tried rewriting the documentation. But I'm still not sure I understand fully how it works.

diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index f5f57e8..8c91e78 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -57,15 +57,18 @@ See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in
 manually joining branches on commit.
 
 'dcommit'::
-	Commit all diffs from a specified head directly to the SVN
-	repository, and then rebase or reset (depending on whether or
-	not there is a diff between SVN and head).  It is recommended
-	that you run git-svn fetch and rebase (not pull) your commits
-	against the latest changes in the SVN repository.
-	An optional command-line argument may be specified as an
-	alternative to HEAD.
-	This is advantageous over 'set-tree' (below) because it produces
-	cleaner, more linear history.
+	Commit to the Subversion repository all commits in a branch
+	that are not yet in Subversion.  If no branch name is given,
+	HEAD is used.
+	
+	After committing, the branch is rebased or reset (depending on
+	whether or not there is a diff between SVN and the branch).
+	It is recommended that you run git-svn fetch and rebase (not
+	pull) your commits against the latest changes in the SVN
+	repository.
+
+	This is advantageous over 'set-tree' (below) because it
+	produces cleaner, more linear history.
 
 'log'::
 	This should make it easy to look up svn log messages when svn

First of all, I would like to see the 'dcommit' header show that a
branch name can be given, and what else you might want to write there.

Secondly, the second paragraph is not very clear.  What does it mean
that the branch is "rebased or reset"? Against what? And why does it
matter if I have a diff? And does it still work if I'm dcommitting
another branch than HEAD?

I can probably guess the answer to some of these questions, but I
would like to improve the documentation so nobody has to guess.
-- 
David Kågedal
Previous: Seth FalconNext: David Kågedal
Message 5 of 8 in “git-svn usability”
  1. David KågedalJan 4, 2007
  2. 1/2 git-svn: make multi-init less confusingEric Wong, Jan 5, 2007
  3. David KågedalJan 5, 2007
  4. Seth FalconJan 5, 2007
  5. David KågedalJan 8, 2007
  6. David KågedalJan 8, 2007
  7. David KågedalJan 8, 2007
  8. 2/2 git-svn: update documentation for multi-{init|fetch}Eric Wong, Jan 5, 2007

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.