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

Re: sharing git work while downstream from svn?

From
Avery Pennarun <apenwarr@gmail.com>
Date
Aug 11, 2009, 23:03 UTC
Message-ID
<32541b130908111603v1e3f6c42peac792caf7097e0d@mail.gmail.com>
In-Reply-To
<auto-000020209577@sci.utah.edu>
On Tue, Aug 11, 2009 at 10:55 PM, tom fogal<tfogal@alumni.unh.edu> wrote:
> This gets to be a mess when trunk changes: I'll rebase + potentially
> fix some conflicts.  Other developers with some of the experimental
> patches will svn update, and get similar conflicts.  These might differ
> in subtle ways, and now exchanging patches gets more difficult.

We use git-svn at Versabanq, and our process is very simple: never use rebase, period.

Instead, do all your work in a branch *other* than the git-svn main branch. When you're ready to merge your stuff into svn, do:

git checkout git-svn
git svn rebase
git checkout myworkingbranch
git merge git-svn
   # and resolve any conflicts
git checkout git-svn
git merge --no-ff myworkingbranch   # the --no-ff is very important here!
git svn dcommit

This basically results in a *single* commit getting sent to svn, rather than the batch of all the git commits you've been working on. Most svn users don't care about this, because they lose all that granularity whenever they merge a branch anyhow. Meanwhile, all your git users never have to worry about rebasing *anything* and can use the normal git merge/pull stuff.

Have fun,
Avery
Previous: tom fogalNext: tom fogal
Message 2 of 4 in “sharing git work while downstream from svn?”
  1. tom fogalAug 11, 2009
  2. Avery PennarunAug 11, 2009
  3. tom fogalAug 11, 2009
  4. Avery PennarunAug 11, 2009

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.