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