texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Arch mirror


From: bump
Subject: Re: [Texmacs-dev] Arch mirror
Date: Thu, 2 Oct 2003 07:17:17 -0700

Contrast the method of making a patch with or without CVS.
Without CVS, you would typically maintain two directories,
one unchanged, one changed, and somewhere you keep a
script containing the line

diff -u -N -r [path to unchanged] [path to changed] > [patch].

You make your changes, then post the patch to the patch
manager.

OK, not too bad, but before you get around to making
the patch, Joris changes the default version of TeXmacs.
If you replace the reference directory, your patch
will contain hunks backing out all the changes he
made between 1.0.2 and 1.0.2.1.

You can't do that, obviously, so you don't update the
reference directory. You don't know if your patch will
clash with changes Joris has made in the (sometimes days,
sometimes weeks) between tarballs. If you end up with a
stale patch that clashes it is admittedly Joris' problem,
not yours if there is a difficult merge. But it is not
unaggravating nevertheless that you have to work with
an old version of TeXmacs.

INSTEAD suppose everything is in CVS. I will assume the
following method of work. Joris is the only one with
commit privileges. Joris makes frequent commits, so the
CVS mirrors his own working version, or one of them. When 
he wants to put up a tarball, he makes a CVS tag. This
would not require big changes in his method of working.

Now if you want to make a patch, you just run

cvs update
cvs diff -u >[patch]

If there are clashes, cvs update will find them. You
You don't have any of the aggravations I described
above, and it is less work for everyone. And as a
bonus, there is a CVS archive at Savannah with detailed
history of each file, colored diffs, etc.

I am writing as a GNU maintainer since 1999. I have
done things both ways.

Daniel Bump
http://www.gnu.org/software/gnugo/devel.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]