Git development
 help / color / mirror / Atom feed
* How to rebase for git svn?
@ 2008-11-05 19:09 Yang Zhang
  2008-11-06  9:55 ` Eric Wong
  0 siblings, 1 reply; 5+ messages in thread
From: Yang Zhang @ 2008-11-05 19:09 UTC (permalink / raw)
  To: git

Hi, I made a git svn repository from an svn repository.  Then I cloned 
the git repository, committed some changes to the clone, and pulled back 
to the original repository.  However, now the original repository gives 
me conflicts whenever I run git svn rebase.  I believe this is because 
git pull treats the other repository's commits as a branch and merges 
them back instead of rebasing them and maintaining the type of linear 
history that is good for playing with svn.  Any hints as to how to fix 
this?  I think the solution is to undo the merge that resulted from the 
pull, but I don't know how to do this.

I wrote a simple script reproducing exactly what's going on (along with 
a transcript of its output).  I tried to make it as simple as possible, 
but it can probably be simplified even more to reproduce the problem:

http://assorted.svn.sourceforge.net/viewvc/assorted/sandbox/trunk/src/git/gitsvn.bash?revision=1057&view=markup

Thanks in advance for any help!
-- 
Yang Zhang
http://www.mit.edu/~y_z/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How to rebase for git svn?
  2008-11-05 19:09 How to rebase for git svn? Yang Zhang
@ 2008-11-06  9:55 ` Eric Wong
  2008-11-06 10:15   ` Sverre Rabbelier
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Wong @ 2008-11-06  9:55 UTC (permalink / raw)
  To: Yang Zhang; +Cc: git

Yang Zhang <yanghatespam@gmail.com> wrote:
> Hi, I made a git svn repository from an svn repository.  Then I cloned  
> the git repository, committed some changes to the clone, and pulled back  
> to the original repository.  However, now the original repository gives  
> me conflicts whenever I run git svn rebase.  I believe this is because  
> git pull treats the other repository's commits as a branch and merges  
> them back instead of rebasing them and maintaining the type of linear  
> history that is good for playing with svn.  Any hints as to how to fix  
> this?  I think the solution is to undo the merge that resulted from the  
> pull, but I don't know how to do this.
>
> I wrote a simple script reproducing exactly what's going on (along with  
> a transcript of its output).  I tried to make it as simple as possible,  
> but it can probably be simplified even more to reproduce the problem:
>
> http://assorted.svn.sourceforge.net/viewvc/assorted/sandbox/trunk/src/git/gitsvn.bash?revision=1057&view=markup
>
> Thanks in advance for any help!

Hi,

Try passing --rebase or --squash with "git pull" to keep history linear
for SVN.

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How to rebase for git svn?
  2008-11-06  9:55 ` Eric Wong
@ 2008-11-06 10:15   ` Sverre Rabbelier
  2008-11-06 10:24     ` Björn Steinbrink
  0 siblings, 1 reply; 5+ messages in thread
From: Sverre Rabbelier @ 2008-11-06 10:15 UTC (permalink / raw)
  To: Eric Wong; +Cc: Yang Zhang, git

On Thu, Nov 6, 2008 at 10:55, Eric Wong <normalperson@yhbt.net> wrote:
> Yang Zhang <yanghatespam@gmail.com> wrote:
>> Thanks in advance for any help!
>
> Try passing --rebase or --squash with "git pull" to keep history linear
> for SVN.

Consider doing the following:
git config alias.repull "pull --rebase"
And then using 'git repull' instead of 'git pull'.

-- 
Cheers,

Sverre Rabbelier

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How to rebase for git svn?
  2008-11-06 10:15   ` Sverre Rabbelier
@ 2008-11-06 10:24     ` Björn Steinbrink
  2008-11-06 20:05       ` Yang Zhang
  0 siblings, 1 reply; 5+ messages in thread
From: Björn Steinbrink @ 2008-11-06 10:24 UTC (permalink / raw)
  To: sverre; +Cc: Eric Wong, Yang Zhang, git

On 2008.11.06 11:15:21 +0100, Sverre Rabbelier wrote:
> On Thu, Nov 6, 2008 at 10:55, Eric Wong <normalperson@yhbt.net> wrote:
> > Yang Zhang <yanghatespam@gmail.com> wrote:
> >> Thanks in advance for any help!
> >
> > Try passing --rebase or --squash with "git pull" to keep history linear
> > for SVN.
> 
> Consider doing the following:
> git config alias.repull "pull --rebase"
> And then using 'git repull' instead of 'git pull'.

Or set branch.<name>.rebase in your config and just use "git pull" ;-)
Setting branch.autosetuprebase might also be useful in that case.

You should be careful to make sure that the other side does not lag
behind WRT svn, though. Otherwise, you end up rebasing commits that
corresponds to svn revisions. Bad.

Björn

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: How to rebase for git svn?
  2008-11-06 10:24     ` Björn Steinbrink
@ 2008-11-06 20:05       ` Yang Zhang
  0 siblings, 0 replies; 5+ messages in thread
From: Yang Zhang @ 2008-11-06 20:05 UTC (permalink / raw)
  To: Björn Steinbrink; +Cc: sverre, Eric Wong, git

Björn Steinbrink wrote:
> On 2008.11.06 11:15:21 +0100, Sverre Rabbelier wrote:
>> On Thu, Nov 6, 2008 at 10:55, Eric Wong <normalperson@yhbt.net> wrote:
>>> Yang Zhang <yanghatespam@gmail.com> wrote:
>>>> Thanks in advance for any help!
>>> Try passing --rebase or --squash with "git pull" to keep history linear
>>> for SVN.
>> Consider doing the following:
>> git config alias.repull "pull --rebase"
>> And then using 'git repull' instead of 'git pull'.
> 
> Or set branch.<name>.rebase in your config and just use "git pull" ;-)
> Setting branch.autosetuprebase might also be useful in that case.
> 
> You should be careful to make sure that the other side does not lag
> behind WRT svn, though. Otherwise, you end up rebasing commits that
> corresponds to svn revisions. Bad.
> 
> Björn

git pull --rebase doesn't seem to be working either....

http://assorted.svn.sourceforge.net/viewvc/assorted/sandbox/trunk/src/git/gitsvn.bash?revision=1064&view=markup
-- 
Yang Zhang
http://www.mit.edu/~y_z/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-11-06 20:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-05 19:09 How to rebase for git svn? Yang Zhang
2008-11-06  9:55 ` Eric Wong
2008-11-06 10:15   ` Sverre Rabbelier
2008-11-06 10:24     ` Björn Steinbrink
2008-11-06 20:05       ` Yang Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox