All of lore.kernel.org
 help / color / mirror / Atom feed
* git-svn multiple branches and merging
@ 2009-03-02 12:09 Igor Lautar
  2009-03-12  9:31 ` Igor Lautar
  0 siblings, 1 reply; 2+ messages in thread
From: Igor Lautar @ 2009-03-02 12:09 UTC (permalink / raw)
  To: git

Hi All,

I'm using git-svn to manage quite large svn repository. This
repository also does not follow 'general' svn rules about how to name
branches.

So we have something like:
trunk -> development
branches\version1 -> version1 maintenance
branches\custom\version1_fix -> customized version1 with certain fixes

etc.

When importing, I've only imported trunk and branches I'm interested
in. Thus, I have multiple remotes for which git-svn does not know they
are related (or how they branched from each other). Also, I have not
imported whole history, as its just to much trouble.

Now, I want to start a new branch, lets say branches\dev1, which is
branches from trunk. This will be used for various improvements, which
do not go to trunk immediatelly.
I also want to keep this branch in sync with main trunk.

Up to now, I have been doing this by git-cherry-pick all changes from
dev1 branch point. Is there a better way to do? Note that branch dev1
in git-svn does not know about previous commits in trunk (git remote
ref was initialized from branch point for dev1).

Just merging trunk (represented by a remote in git-svn) makes a mess
(as expected). Basically, what I want to do is tell git-svn that merge
was already done up to a certain point from that branch so git-merge
then only picks up new changes from that point on (and the ones that
have not been cherry-picked).

Is there a way to get out of this mess? I'm fine with cherry-pick, but
it requires some manual labor (like remembering/finding last
cherry-picked commit).

Thank you,
Igor

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

* Re: git-svn multiple branches and merging
  2009-03-02 12:09 git-svn multiple branches and merging Igor Lautar
@ 2009-03-12  9:31 ` Igor Lautar
  0 siblings, 0 replies; 2+ messages in thread
From: Igor Lautar @ 2009-03-12  9:31 UTC (permalink / raw)
  To: git

Hi,

Figured out a (little) better way.

Say A is point where last merge was done and B is head of branch we
want to cherry-pick from:

for c in $(git-rev-list --reverse A...B); do git-cherry-pick $c; done

I'm sure for can be replaced with something better, but it works for
me. However, I still need last merge (cherry-pick) point. It would be
nice to hear if anybody has a better idea...

Regards,
Igor

On Mon, Mar 2, 2009 at 1:09 PM, Igor Lautar <igor.lautar@gmail.com> wrote:
> Hi All,
>
> I'm using git-svn to manage quite large svn repository. This
> repository also does not follow 'general' svn rules about how to name
> branches.
>
> So we have something like:
> trunk -> development
> branches\version1 -> version1 maintenance
> branches\custom\version1_fix -> customized version1 with certain fixes
>
> etc.
>
> When importing, I've only imported trunk and branches I'm interested
> in. Thus, I have multiple remotes for which git-svn does not know they
> are related (or how they branched from each other). Also, I have not
> imported whole history, as its just to much trouble.
>
> Now, I want to start a new branch, lets say branches\dev1, which is
> branches from trunk. This will be used for various improvements, which
> do not go to trunk immediatelly.
> I also want to keep this branch in sync with main trunk.
>
> Up to now, I have been doing this by git-cherry-pick all changes from
> dev1 branch point. Is there a better way to do? Note that branch dev1
> in git-svn does not know about previous commits in trunk (git remote
> ref was initialized from branch point for dev1).
>
> Just merging trunk (represented by a remote in git-svn) makes a mess
> (as expected). Basically, what I want to do is tell git-svn that merge
> was already done up to a certain point from that branch so git-merge
> then only picks up new changes from that point on (and the ones that
> have not been cherry-picked).
>
> Is there a way to get out of this mess? I'm fine with cherry-pick, but
> it requires some manual labor (like remembering/finding last
> cherry-picked commit).
>
> Thank you,
> Igor
>

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

end of thread, other threads:[~2009-03-12  9:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-02 12:09 git-svn multiple branches and merging Igor Lautar
2009-03-12  9:31 ` Igor Lautar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.