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

Re: Multiple branches and git-svn

From
Pierre Habouzit <madcoder@debian.org>
Date
Aug 21, 2007, 15:12 UTC
Message-ID
<20070821151243.GA29020@artemis.corp>
In-Reply-To
<20070821115611.GA21410@mimvista.com>
On Tue, Aug 21, 2007 at 11:56:11AM +0000, David Watson wrote:
Show 9 quoted lines
> Now, I'm not sure this is 100% the fault of git-svn. Perhaps keeping its
> metadata about which SVN branch it's connected to isn't the best thing, but
> git-merge is doing exactly what you ask for. Perhaps we need a merge command in
> git-svn that does the right thing? Although what that right thing would be, I'm
> not quite sure.  Either way, there needs to be a BIG GIGANTIC WARNING in the
> git-svn manual that if you actually use git for what it claims to be great at
> (i.e., merging) you may be in for a world of pain, with your coworkers and boss
> coming at you with pitchforks and torches. Especially because there are
> so many git users who need to interoperate with SVN.
  IMHO here is what git-svn should do. It should use the not-so-new
remotes mechanism, and have all the svn remotes branches under a remote
namespace, clean, simple, and also knowing which "upstream" svn "thing"
it's following.
  Then, when you just git checkout --track -b <branch> <svn-remote/foo>
  hack hack hack
  git commit
  hack hack hack
  git commit
  git merge <svn-remote/another-branch>
  hack hack hack
  git commit
  and then you just want to:
  git svn dcommit.
  Using the fact that <branch> tracks <svn-remote/foo> and that
<svn-remote/foo> is in fact the plain mirror of upstream's branch foo,
it should be able to know where to actually commit and wrt what it has
to make history clean.
  IMHO a git-$scm gateway just has to feed "remotes" branches, and
provide some plumbing commands (like dcommit) to be able to feed some
changes to the other $scm, with a workflow like this one:
  1. pull $scm into a shadow git repository
  2. import/merge $scm changes into your local branch
  3. make changes / merges whatever
  4. push $scm..<yourbranch> into $scm
  5. goto 1, so that you can "win" your changes from 4. back in the $scm
     local shadow repository.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: David KastrupNext: Benoit SIGOURE
Message 7 of 9 in “Multiple branches and git-svn”
  1. David KastrupAug 15, 2007
  2. Benoit SIGOUREAug 21, 2007
  3. David KastrupAug 21, 2007
  4. David WatsonAug 21, 2007
  5. David KastrupAug 21, 2007
  6. David KastrupAug 21, 2007
  7. Pierre HabouzitAug 21, 2007
  8. Benoit SIGOUREAug 21, 2007
  9. Benoit SIGOUREAug 21, 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.