From: "Shawn O. Pearce" <spearce@spearce.org>
To: Alexander Litvinov <litvinov2004@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Question: next, master and pu branches
Date: Fri, 2 Feb 2007 01:00:30 -0500 [thread overview]
Message-ID: <20070202060030.GA20442@spearce.org> (raw)
In-Reply-To: <200702021142.08975.litvinov2004@gmail.com>
Alexander Litvinov <litvinov2004@gmail.com> wrote:
> Can somebody explain the meaning of next and pu branches
Within git.git:
maint: Current stable release. Receives bug fixes for the
current release.
master: Stable development tip. The tip of this branch will be
used to create the next stable release.
next: Topics which are pretty stable and are likely to be merged
into master soon are merged here first, to make them visible to
a wider community and get more testing.
pu: aka "Proposed Updates". Junio publishes a number of branches
here and continously rebases this branch. Topics here may make
it into next (and then later master), or may not and just be
dropped forever.
>and some documenation
> about using topic branches.
What about Documentation/howto/using-topic-branches.txt ?
> My development model use two branches now: stable release and develment
> branch. All changes in the stable release branch are bug-fix only changes.
> All (or most) of them must go to development release. Now I do this using
> cherry-pick but it is not easy to track what was merged especialy when merge
> pruduce confic resloved by hands. Stable branch live long life, much more
> than 100 commits.
>
> It seems topic branches can help me here, but reading Documentation under git
> sources teach to make topic branch from the branch point and then merge it to
> both branches. This can work while stable branch has short life and was not
> heavily rewritten.
>
> If there any technique that can help me ?
The easiest way to do this is to create a new topic branch from
the merge base of the two branches (see git-merge-base's docs for
details). Make the fix on this branch, test it, then merge it into
your development branch.
If additional changes are needed, go back to the topic branch,
fix it there, then remerge the topic to your development branch.
When the topic is finally ready, merge it to your stable branch.
This is what the documentation suggests, because it works, and
works well. This is how Junio manages `next` (which is the same
as your development branch) and `master` (which is about the same
as your stable branch).
You can let git-rerere help you to manage conflicts which might
reoccur during merges. If you create the .git/rr-cache directory
then git-commit and git-merge will automatically use git-rerere to
help you.
If you are cherry-picking stuff back and forth this gets really hard,
as you point out. The tools don't help you very well here, as there
isn't enough data to figure out what is where. You can try using
git-cherry to tell you which commits are in both branches, but it
has limited usefulness if the commits are making different changes.
--
Shawn.
next prev parent reply other threads:[~2007-02-02 6:00 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-02 5:42 Question: next, master and pu branches Alexander Litvinov
2007-02-02 6:00 ` Shawn O. Pearce [this message]
2007-02-02 6:54 ` Alexander Litvinov
2007-02-02 6:57 ` Shawn O. Pearce
2007-02-02 6:02 ` Junio C Hamano
2007-02-02 6:52 ` Alexander Litvinov
-- strict thread matches above, loose matches on Subject: below --
2007-02-02 5:41 Alexander Litvinov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070202060030.GA20442@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=litvinov2004@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).