[prog] CVS travails, and strategies

John Clarke johnc+linuxchix at kirriwa.net
Wed Sep 17 15:46:37 EST 2003


On Wed, Sep 17, 2003 at 12:43:48PM +1000, Jenn Vesperman wrote:
> On Wed, 2003-09-10 at 00:59, Michelle Murrain wrote:

I sent Michelle a reply last night (after I found her message in the
archive) but mistakenly sent it direct to her rather than to the list. 
I'll forward a copy to the list.

> > anyway. So I made a new head sandbox, and used the command cvs update -j
> > branchname -D some_time_ago, which merged my branch features with my
> > trunk in the new sandbox. Worked almost perfectly, although it wiped out
> 
> Using -j -D doesn't make any sense to me. What I -think- you managed to

It's OK, and it almost did the job, but I don't think it's the best way
to do it.  You can pass two "-j" options to "cvs update", and cvs will
merge the differences between the two given revisions into the current
working copy.  For example:

    [johnc at dropbear]$ cvs ci -m "Merged changes from v3.6 branch" Makefile
    Checking in Makefile;
    /usr/local/cvsroot/rvpm/test/src/make/Makefile,v  <--  Makefile
    new revision: 1.89; previous revision: 1.88
    done

To reverse the change:

    [johnc at dropbear]$ cvs update -j 1.89 -j 1.88 Makefile
    RCS file: /usr/local/cvsroot/test/src/make/Makefile,v
    retrieving revision 1.89
    retrieving revision 1.88
    Merging differences between 1.89 and 1.89 into Makefile
    
and now compare my working copy with the previous revision:

    [johnc at dropbear]$ cvs diff -r 1.88 Makefile
        [no differences output]

Now I can commit the changes and v1.90 will be identical (except for
keyword expansion) to 1.88.  Then I do the merge again, and hopefully
this time get it right :-)

"-j -D" works similarly to "-j -j", but it reverses every change made
since the given date, rather than between the two given revisions.

> * Replace the head sandbox with sticky files as of -D some_time_ago.

Yes.

> * Merge the branch to the files as of -D some_time_ago.

No.  -j works just the same as any other update - only on the current
working copy.  Michelle was working on the head, so that's all that she
changed. The branch wouldn't have changed at all.

> > Now to the philosophy question - Is it better (easier) to use the trunk
> > for bugfixes, or the branch?
> 
> 'Yes'.

I like that answer :-)


Cheers,

John
-- 
whois !JC774-AU at whois.aunic.net
GPG key id: 0xD59C360F
http://kirriwa.net/john/


More information about the Programming mailing list