Re: [ANNOUNCE] Stacked Git 0.15-rc1

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

 



2009/7/14 Larry D'Anna <larry@xxxxxxxxxxxxxx>:
> * Catalin Marinas (catalin.marinas@xxxxxxxxx) [090712 18:41]:
>> - New 'publish' command for maintaining merge-friendly branches
>
> I'd like to know more about that.  The documentation doesn't say much.  What's
> it do exactly?

You basically keep two branches - one with patches where you can
freely update, reorder, add and remove patches (re-writing the
history) but usually private and another public that people can merge.
The history is never re-written on the public branch and you never
need to work on it directly. The tree of the public branch head is the
same as the stgit branch tree (but history may differ).

The publish command checks for any new changes on the stgit branch and
generates commits on top of the public branch (called <branch>.public
by default). It detects new patches added on top of your branch and
adds them as new commits to the public one. If the stgit branch was
rebased, it generates a merge commit on the public branch. If a patch
was modified and you then publish, it may ask for a commit message to
describe the change. If you reorder patches but the final tree is not
modified, no new changes are published.

I also find it useful when maintaining several stgit branches and want
to merge them into a master branch. If there are conflicts, they need
o be resolved every time I rebase the stgit branches. To avoid this,
in the master branch I only merge the published branches (the master
branch on http://www.linux-arm.org/git?p=linux-2.6.git;a=summary is
created this way). This also helps with conflicts with upstream as you
only need to solve them in the stgit branch rather than the master
one.

-- 
Catalin
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]