gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] cvs update difficulties.


From: Arend Bayer
Subject: Re: [gnugo-devel] cvs update difficulties.
Date: Thu, 28 Feb 2002 14:29:49 -0500 (EST)

I sometimes have the same problems as Trevor.

On Wed, 27 Feb 2002, Trevor Morris wrote:

> Dan said:
> >
> >This shouldn't happen.
> >
> >The only time when you should get clashes is when someone
> >else is working on the same lines of the same file. If you
> >CVS checkout a version after you've made some changes,
> >you should get
> >
> >M [filename]
> >
> >If your working copy contains changes that have already
> >been checked in you'll get an additional message to the
> >effect that your file already contains the changes.

Unless you have edited lines that were already changed in the previous
patch (or are close to such lines), in which case patch does not recognize
that the previous changes are already contained locally.

> What happened, step by step:
>
> 1) I submitted trevor_1_27.7
> 2) I continued working on my source tree that had these changes
>    in it already.
> 3) Dan added trevor_1_27.7 to CVS.
> 4) I ran CVS update.
> 5) I got large merge conflicts in the files I'd modified.

When there is no clash with patches from someone else, I sometimes use
the following workaround:

After 1) - to 3), do
4) cvs diff -r HEAD > trevor_1_27.8
   This gives you the changes you have made locally against trevor_1_27.7
   included. Unfortunately, it will also contain the reverse of other patches
   that have been applied in CVS but not locally. You can reduce the problem
   by using "cvs update -D <date just before trevor_1_27.7 got applied>",
   first, and by specifying the files that you have worked on as option in
   the command line above. But it's also not much work to edit the patch
   file.
5) If you are sure this worked,  you just apply trevor_1_27.8 to a directory
   tree that is synced with cvs (e.g. just do "cvs update -C" first).
6) To be nice to Dan, it is probably best to run cvs diff again, to get a
   patch file that applies as cleanly as possible.

Another solution might be to maintain a local CVS repository. Unfortunately,
it seems to be a drawback of CVS that it cannot handle multiple repositories
well.

Arend






reply via email to

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