[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hassles when using git-buildpackage



Christian Welzel <gawain@camlann.de> writes:

> My situation:
> I use git-buildpackage to handle my packages. I'm following the
> suggested setup with master, upstream and pristine-tar branch.
> This works fine most the time, but now i'm a bit stuck.
> The current upstream version C is in master and upstream. Some
> time ago, upstream released the first alpha A of the next version.
> So i made two new branches: version-A based on master, upstream-A
> based on upstream. I imported the source of A into upstream-A and
> merged it into version-A, then i adopted the packaging to the new
> version. This were about 15-20 commits in version-A.
> Then upstream released some new point releases of current version C.
> I imported them to upstream, merged them into master, and did some
> more packaging work on master. Also about 15-20 commits on master.
>
> And now i want to get my changes in master:debian/ merged into version-
> A:debian/... I simple git checkout version-A && git merge master does
> not work, as it also tries to merge the changes in the upstream files.
> I would like to solve this in a way git knows about the merge so i
> can (hopefully) avoid problems, when version-A gets merged into master
> somewhere in the future.

I have encountered the same problem, I used git log to get a list of the
commits then created a series of git cherry-pick commands and pulled the
patches across.  If you would like to be cherry-picking less you could
use git rebase -i on master squash some of your commits together before
cherry-picking.  If you don't care about the history of the other branch
being preserved then you could use git checkout master -- debian from
the version-A branch to give you the updated files from the master
branch.

I don't think that I would trust merging, even if the branches did share
a common ancestor, because changes outside /debian might be pulled in.
Git-buildpackage will alert you to changes outside /debian, and if you
do want to be able to merge the branches you could recreate your version
a branch using git branch upstream upstream-A. Then import the new
version of the package into upstream-A but I wouldn't recommend it I
think that things would get messy fast.

If anyone has other suggestions I too would be interested.

Cheers,
Russell


Reply to: