git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Moving commits from one branch to another
@ 2013-01-23 12:04 Stefan Schulze
  2013-01-23 12:12 ` John Keeping
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Schulze @ 2013-01-23 12:04 UTC (permalink / raw)
  To: git

Hi,

my team uses a central git-repo since >1500 commits and now we have to sync
(only one-way is necessary for now) our repository every three weeks with an
external svn-repo.
I created the new base-directory (incl. trunk/tags/branches) in svn and
added it to my local repo using git svn init && git fetch.
Now I have two branches in my local repository (master and "svnbranch") and
cherry-picked the very first commit from master to svnbranch (it was
probably not necessary), tagged this commit as "publishedToSvn". Now I want
to add all commits publishedToSvn..master onto svnbranch. I didn't managed
to succeed using git-rebase (probably because of the missing common
commits?) and using git grafts / filter-branch modifies my already published
master.

Is there any way to move/copy commits from one branch to another without a
common base-commit and without a forced push of master?

Thanks in advance,
  Stefan Schulze

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

* Re: Moving commits from one branch to another
  2013-01-23 12:04 Moving commits from one branch to another Stefan Schulze
@ 2013-01-23 12:12 ` John Keeping
  2013-01-23 14:13   ` AW: " Stefan Schulze
  0 siblings, 1 reply; 5+ messages in thread
From: John Keeping @ 2013-01-23 12:12 UTC (permalink / raw)
  To: Stefan Schulze; +Cc: git

On Wed, Jan 23, 2013 at 01:04:03PM +0100, Stefan Schulze wrote:
> my team uses a central git-repo since >1500 commits and now we have to sync
> (only one-way is necessary for now) our repository every three weeks with an
> external svn-repo.
> I created the new base-directory (incl. trunk/tags/branches) in svn and
> added it to my local repo using git svn init && git fetch.
> Now I have two branches in my local repository (master and "svnbranch") and
> cherry-picked the very first commit from master to svnbranch (it was
> probably not necessary), tagged this commit as "publishedToSvn". Now I want
> to add all commits publishedToSvn..master onto svnbranch. I didn't managed
> to succeed using git-rebase (probably because of the missing common
> commits?) and using git grafts / filter-branch modifies my already published
> master.
> 
> Is there any way to move/copy commits from one branch to another without a
> common base-commit and without a forced push of master?

Did you try "git rebase" with "--onto"?  You probably want something
like this:

    git rebase --onto svnbranch publishedToSvn master


John

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

* AW: Moving commits from one branch to another
  2013-01-23 12:12 ` John Keeping
@ 2013-01-23 14:13   ` Stefan Schulze
  2013-01-23 14:49     ` John Keeping
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Schulze @ 2013-01-23 14:13 UTC (permalink / raw)
  To: git

> > Is there any way to move/copy commits from one branch to another
> > without a common base-commit and without a forced push of master?
>
> Did you try "git rebase" with "--onto"?  You probably want something
> like this:
> 
>     git rebase --onto svnbranch publishedToSvn master

I already tried this some days ago, but wasn't sure about the result. The
resulting history looks exactly what I expected, but all the commits are on
master after executing this commands and svnbranch only contains the
original two commits (svn-commit creating the root directory and the
cherry-picked commit from master)

Does the current branch matter if I call git-rebase with the
<branch>-argument?

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

* Re: Moving commits from one branch to another
  2013-01-23 14:13   ` AW: " Stefan Schulze
@ 2013-01-23 14:49     ` John Keeping
  2013-01-23 15:44       ` AW: " Schulze, Stefan
  0 siblings, 1 reply; 5+ messages in thread
From: John Keeping @ 2013-01-23 14:49 UTC (permalink / raw)
  To: Stefan Schulze; +Cc: git

On Wed, Jan 23, 2013 at 03:13:19PM +0100, Stefan Schulze wrote:
> > > Is there any way to move/copy commits from one branch to another
> > > without a common base-commit and without a forced push of master?
> >
> > Did you try "git rebase" with "--onto"?  You probably want something
> > like this:
> > 
> >     git rebase --onto svnbranch publishedToSvn master
> 
> I already tried this some days ago, but wasn't sure about the result. The
> resulting history looks exactly what I expected, but all the commits are on
> master after executing this commands and svnbranch only contains the
> original two commits (svn-commit creating the root directory and the
> cherry-picked commit from master)

Ah, I missed that you wanted to update svnbranch.  I don't think there's
a single command that will do that, but this should work:

    git rebase --onto svnbranch publishedToSvn master^0
    git checkout -B svnbranch HEAD

This uses a detached head to avoid modifying the wrong branch and then
updates "svnbranch" to point at that after the rebase.

> Does the current branch matter if I call git-rebase with the
> <branch>-argument?

No it will checkout that branch first.


John

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

* AW: Moving commits from one branch to another
  2013-01-23 14:49     ` John Keeping
@ 2013-01-23 15:44       ` Schulze, Stefan
  0 siblings, 0 replies; 5+ messages in thread
From: Schulze, Stefan @ 2013-01-23 15:44 UTC (permalink / raw)
  To: git@vger.kernel.org

> git rebase --onto svnbranch publishedToSvn master^0
> git checkout -B svnbranch HEAD

Great! This does exactly what I want!

Thanks for your support,
  Stefan Schulze

--------------------------
ckc ag
Sitz:
Am Alten Bahnhof 13
38122 Braunschweig

Telefon +49 (0)531 / 80 110 0
Telefax +49 (0)531 / 80 110 18444
http://www.ckc-group.de

Amtsgericht Braunschweig
HRB 5405

Vorstand:
H.-G. Christian Krentel
(Vorsitzender)
Karsten Kisser

Aufsichtsrat:
Dr. Heinz-Werner Weinrich
(Vorsitzender)
Jens Fokuhl
(stellv. Vorsitzender)
Prof. Dr. Reinhold Haux
Cäsar Jaworski
Dr. Rita Schulz
Thorsten Sponholz
--------------------------

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

end of thread, other threads:[~2013-01-23 15:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-23 12:04 Moving commits from one branch to another Stefan Schulze
2013-01-23 12:12 ` John Keeping
2013-01-23 14:13   ` AW: " Stefan Schulze
2013-01-23 14:49     ` John Keeping
2013-01-23 15:44       ` AW: " Schulze, Stefan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).