From: David Carlton <carlton@math.stanford.edu>
To: Andrew Cagney <ac131313@ges.redhat.com>
Cc: gdb@sources.redhat.com
Subject: branching
Date: Thu, 19 Sep 2002 12:12:00 -0000 [thread overview]
Message-ID: <ro1fzw5x08m.fsf_-_@jackfruit.Stanford.EDU> (raw)
In-Reply-To: <3D87815A.4010807@ges.redhat.com>
On Tue, 17 Sep 2002 15:24:10 -0400, Andrew Cagney
<ac131313@ges.redhat.com> said:
> For branching, check the CVS man pages and:
> http://sources.redhat.com/gdb/current/onlinedocs/gdbint_15.html#SEC141
> but that is overkill --- you don't need the -D flag. So something like:
> cvs -d :ext:sources.redhat.com:/cvs/src rtag
> carlton_something-YYYYMMDD-branchpoint gdb+dejagnu
> cvs -d :ext:sources.redhat.com:/cvs/src rtag -b -r
> carlton_something-YYYYMMDD-branchpoint
> carlton_something-YYYYMMDD-branch gdb+dejagnu
> cvs -d :ext:sources.redhat.com:/cvs/src co -r
> carlton_something-YYYYMMDD-branch gdb+dejagnu
Okay, I've read the appropriate documentation, and I might understand
both what I want to type to create the branch and what I want to type
when I want to merge from the mainline into my branch. But I want to
run it by you, both because I really don't quite understand the
details of merging in from mainline to my branch and because it
differs slightly from the above (albeit only in naming conventions).
All my 'cvs' commands will really be 'cvs -d
:ext:carlton@sources.redhat.com:/cvs/src'.
To create the branch, I plan to:
1) Create a tag saying where the branch will start:
cvs rtag carlton-dictionary-YYYYMMDD-branchpoint gdb+dejagnu
2) Create the branch:
cvs rtag -b -r carlton-dictionary-YYYYMMDD-branchpoint
carlton-dictionary-branch gdb+dejagnu
3) Check out the branch: go to a different directory, and then do
cvs co -r carlton-dictionary-branch gdb+dejagnu
And to merge changes in from mainline, here's what I might do, but I'm
confused by it:
(All commands assume I'm in the branch's working directory, though it
shouldn't matter for the first command.)
1) Create a tag saying where the merges should end:
cvs rtag carlton-dictionary-YYYYMMDD-tag gdb+dejagnu
2) Merge in changes from my previous merge tag to the current merge
tag:
cvs update -j carlton-dictionary-PreviousYYYYMMDD-tag
-j carlton-dictionary-YYYYMMDD-tag
(The first time I do this, the first -tag will actually be
-branchpoint.)
3) Resolve inconsistencies, and then commit:
cvs commit
But I'm not at all sure that this is right: how does it know that the
tags that I've added apply to the mainline, or if they apply to all
branches at that particular time, then how do I specify that I want to
merge in from the mainline? (At first, I'd assumed that I'd do 'cvs
rtag' from a directory that is on the mainline, but the documentation
seems to say that rtag ignores your current working directory.) The
examples in the CVS manual talk about merging from a branch to a
mainline, but I'm in the reverse situation, and I don't know how to
refer to mainline explicitly, just how to refer to a branch
explicitly.
Also, some minor differences from what you suggested:
1) I'm not sure why it would be a good idea to put a date stamp in the
name of my branch.
2) It seems to me that, do do this branching and merging, I'll have to
tag mainline every once in a while; so I'm having the tags end in
-tag. You suggested having the initial tag end in -branchpoint,
which makes sense to me, so I'll do that. But if you'd prefer a
name other than -tag for my subsequent merge tags, that's fine with
me too. (-mergepoint?)
Once I get this figured out (and have a few merges under my belt),
should I write it up for the Internals manual?
David Carlton
carlton@math.stanford.edu
next parent reply other threads:[~2002-09-19 19:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <ro1fzw9h8r2.fsf@jackfruit.Stanford.EDU>
[not found] ` <20020917143553.GA28408@nevyn.them.org>
[not found] ` <ro1k7lkfr5d.fsf@jackfruit.Stanford.EDU>
[not found] ` <20020917174928.GA23058@nevyn.them.org>
[not found] ` <ro165x4fotl.fsf@jackfruit.Stanford.EDU>
[not found] ` <3D87815A.4010807@ges.redhat.com>
2002-09-19 12:12 ` David Carlton [this message]
2002-09-19 12:30 ` branching Kevin Buettner
2002-09-19 12:35 ` branching David Carlton
2002-09-19 13:07 ` branching Kevin Buettner
2002-09-19 13:12 ` branching Daniel Jacobowitz
2002-09-19 13:07 ` branching Keith Seitz
2002-09-19 13:11 ` branching Kevin Buettner
2002-09-19 13:19 ` branching Keith Seitz
2002-09-19 22:29 ` branching Daniel Berlin
2002-09-20 17:18 ` branching Andrew Cagney
2002-09-20 17:45 ` branching Daniel Berlin
2002-09-19 13:45 ` branching David Carlton
2002-09-19 14:52 ` branching Keith Seitz
2002-09-19 15:10 ` branching David Carlton
2005-02-12 4:24 Branching Russell Shaw
2005-02-13 0:10 Branching Paul Schlie
2005-02-13 11:14 ` Branching Russell Shaw
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=ro1fzw5x08m.fsf_-_@jackfruit.Stanford.EDU \
--to=carlton@math.stanford.edu \
--cc=ac131313@ges.redhat.com \
--cc=gdb@sources.redhat.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