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

Re: git-svn, merging et al.

From
Kevin Ballard <kevin@sb.org>
Date
May 16, 2008, 17:40 UTC
Message-ID
<05A51125-339A-45A2-B2CF-8035F2FAE741@sb.org>
In-Reply-To
<320075ff0805160850r473582d9qc33f71ba7f56dd51@mail.gmail.com>
On May 16, 2008, at 11:50 AM, Nigel Magnay wrote:
Show 27 quoted lines
> Ok - it's Friday and I've got to interact with svn again..
>
> I'm using git-svn, and I've not followed the guidance. Development has
> gone on in git branches and merges - but now I need to commit the
> changes back into svn, and dcommit is, understandably, not very happy.
>
> I'm intending to instead do something like a
>  git format-patch svn-branch..git-branch
>  git checkout svn-branch
> ... apply all the patches ...
>  git commit
>  git svn dcommit
>  # back to the git work
>  git checkout git-branch
>  # this shouldn't have to do merging - but it will have the parents
> to make it clear where the last merge happened from ?
>  git merge svn-branch
>
>
> I'm happy that I'm bludgeoning changes in one big blob into SVN, as I
> can reasonably say 'if you want the real details, go look at gitweb)
>
> I've tried doing this with
> git checkout svn-branch
> git merge --squash git-branch
>
> But I don't get the result I'm expecting - what have I missed?

That merge command will produce a single commit, which isn't what you want. format-patch + am should work to linearize history, but you could also use rebase.

I recommend trying something like
   git checkout -b test svn-branch && git format-patch svn-branch..git- 
branch | git am

Then you can examine your test branch to make sure it's linear, make sure it compiles and looks good, then if it's good merge that into svn- branch (which will be a fast-forward).

-Kevin Ballard
-- 
Kevin Ballard
http://kevin.sb.org
kevin@sb.org
http://www.tildesoft.com
Previous: Nigel MagnayNext: Nigel Magnay
Message 2 of 3 in “git-svn, merging et al.”
  1. Nigel MagnayMay 16, 2008
  2. Kevin BallardMay 16, 2008
  3. Nigel MagnayMay 19, 2008

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.