From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7282 invoked by alias); 19 Sep 2002 19:12:12 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 7265 invoked from network); 19 Sep 2002 19:12:11 -0000 Received: from unknown (HELO jackfruit.Stanford.EDU) (171.64.38.136) by sources.redhat.com with SMTP; 19 Sep 2002 19:12:11 -0000 Received: (from carlton@localhost) by jackfruit.Stanford.EDU (8.11.6/8.11.6) id g8JJCAQ23981; Thu, 19 Sep 2002 12:12:10 -0700 X-Authentication-Warning: jackfruit.Stanford.EDU: carlton set sender to carlton@math.stanford.edu using -f To: Andrew Cagney Cc: gdb@sources.redhat.com Subject: branching References: <20020917143553.GA28408@nevyn.them.org> <20020917174928.GA23058@nevyn.them.org> <3D87815A.4010807@ges.redhat.com> From: David Carlton Date: Thu, 19 Sep 2002 12:12:00 -0000 In-Reply-To: <3D87815A.4010807@ges.redhat.com> Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-09/txt/msg00280.txt.bz2 On Tue, 17 Sep 2002 15:24:10 -0400, Andrew Cagney 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