bug-cvs
[Top][All Lists]
Advanced

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

Re: Major change in conflict handling between 1.12.9 and 1.12.13?


From: Mark D. Baushke
Subject: Re: Major change in conflict handling between 1.12.9 and 1.12.13?
Date: Fri, 02 Jun 2006 09:03:57 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Stephanie,

> Date: Fri, 02 Jun 2006 12:34:06 +0200
> From: Stephanie Seibt <stephanie.seibt@hacon.de>
> User-Agent: Thunderbird 1.5.0.2 (Windows/20060308)
> To: "Mark D. Baushke" <mdb@gnu.org>
> Subject: Re: Major change in conflict handling between 1.12.9 and 1.12.13?
> X-SBScore: 0 (Spam Threshold: 20) (Block Threshold: 5)
> 
> Hi Mark,
> 
> thanks for your efforts.
> On my windows system I'm not able to patch my clients, the compilation
> of the sources didn't work ;-(
> I only have binaries.

I understand. FWIW binary/feature/x86-woe/cvs-1-12-13a.zip has been
uploaded to the area on http://download.savannah.gnu.org/releases/cvs/

which has a separate important windows client fix.

> Now I've tested with the same file as before on an actual gentoo-linux.

Ahhh... now, on gentoo-linux I KNOW you can fetch a copy of the
cvs-1.12.13 sources and apply the patch of my last e-mail to see if it
helps you or not.

> 
> Environment like before: Debian server cvs-1.12.9 (Debian-patch) with
> pserver access.
> 
> Steps 1) to 4) with client cvs-1.12.12 on the gentoo machine
> 
> The content of the Entries file is the same as before and persists at
> different cvs -n update calls.
> I've tried the updates after my join with three clients:
> cvs-1.11.20 and cvs-1.12.12 shows the conflict, cvs-1.12.13 does not.
> 
> Unfortunately I'm not able to send the file,v to you, because it's not
> my private software.

You may wish to try using the CVS_CLIENT_LOG environment variable as Jim
suggested. However, it might expose parts of your file, so please do
look at the ${CVS_CLIENT_LOG}.in and ${CVS_CLIENT_LOG}.out files closely
before you just send them along to us.

I am also interested to know the offset in bytes of the conflict markers
into the file.

I am expecting that the ${CVS_CLIENT_LOG}.in file will contain lines
like this:

Entry /file/1.5/+=//
Unchanged file1
update

And that the ${CVS_CLIENT_LOG}.out file will contain lines like this:

first-dir/
MT text C 
MT fname file
MT newline
error  

if everything is working correctly. The "+=" information in the date
field is VERY important.

        -- Mark

> 
> Cheers, Stephanie
> 
> 
> Mark D. Baushke schrieb:
> > Hi Stephanie,
> > The information you are producing for me is not very helpful. :-(
> > I have moved this discussion to the bug-cvs mailing list. For folks
> > just
> > joining this problem, look on the info-cvs@gnu.org list archives.
> > Grasping at straws, the only change I see that might remotely have
> > caused a change in behavior between cvs 1.12.9 and 1.12.13 is this one:
> > 2005-09-22  Derek Price  <derek@ximbiot.com>
> >     * classify.c (Classify_File): Consolidate redundant
> > conditionals.
> > Does the patch below fix your problem? (Sadly, this means you will
> > need
> > to (re)build CVS. If you are not able to build from the cvs 1.12.13a
> > sources, this puts us in a bit of an impass as I have no windows boxes
> > of any kind in my world...) If you are able to reproduce the problem on
> > a Debian system, then things might be easier for you to track down.
> >     -- Mark
> > --- cvs-1.12.13/src/classify.c.orig 2005-09-22 20:37:42.000000000
> > -0700
> > +++ cvs-1.12.13/src/classify.c      2006-06-02 02:05:02.103376910 -0700
> > @@ -236,8 +236,19 @@ Classify_File (struct file_info *finfo,
> > finfo->fullname);
> >             ret = T_REMOVE_ENTRY;
> >         }
> > -       else if (strcmp (vers->ts_user, vers->ts_rcs)
> > -                && No_Difference (finfo, vers))
> > +       else if (strcmp (vers->ts_user, vers->ts_rcs) == 0)
> > +       {
> > +
> > +           /*
> > +            * The user file is still unmodified, so just remove it from
> > +            * the entry list
> > +            */
> > +           if (!really_quiet)
> > +               error (0, 0, "`%s' is no longer in the repository",
> > +                      finfo->fullname);
> > +           ret = T_REMOVE_ENTRY;
> > +       }
> > +       else if (No_Difference (finfo, vers))
> >         {
> >             /* they are different -> conflict */
> >             if (!really_quiet)
> > @@ -249,13 +260,10 @@ Classify_File (struct file_info *finfo,
> > }
> >         else
> >         {
> > -
> > -           /*
> > -            * The user file is still unmodified, so just remove it from
> > -            * the entry list
> > -            */
> > +           /* they weren't really different */
> >             if (!really_quiet)
> > -               error (0, 0, "`%s' is no longer in the repository",
> > +               error (0, 0,
> > +                      "warning: `%s' is not (any longer) pertinent",
> >                        finfo->fullname);
> >             ret = T_REMOVE_ENTRY;
> >         }
> > @@ -284,9 +292,7 @@ Classify_File (struct file_info *finfo,
> > error (0, 0, "warning: `%s' was lost", finfo->fullname);
> >             ret = T_CHECKOUT;
> >         }
> > -       else if (!strcmp (vers->ts_user,
> > -                         vers->ts_conflict
> > -                         ? vers->ts_conflict : vers->ts_rcs))
> > +       else if (strcmp (vers->ts_user, vers->ts_rcs) == 0)
> >         {
> >             /*
> > @@ -300,8 +306,6 @@ Classify_File (struct file_info *finfo,
> > if (vers->entdata->options &&
> >                 strcmp (vers->entdata->options, vers->options) != 0)
> >                 ret = T_CHECKOUT;
> > -           else if (vers->ts_conflict)
> > -               ret = T_CONFLICT;
> >             else
> >             {
> >                 sticky_ck (finfo, aflag, vers);
> >   ------- original message -------
> > Date: Fri, 02 Jun 2006 10:44:55 +0200
> > From: Stephanie Seibt <stephanie.seibt@hacon.de>
> > To: "Mark D. Baushke" <mdb@gnu.org>
> > Cc: info-cvs@gnu.org
> > Subject: Re: Major change in conflict handling between 1.12.9 and 1.12.13?
> > Hi Mark,
> > Mark D. Baushke schrieb:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA1
> >> Stephanie Seibt <stephanie.seibt@hacon.de> writes:
> >>
> >>> here is my test case:
> >>>
> >>> 1) cvs update -j last_join_tag -j BRANCHNAME >logfile 2>&1
> >>> 2) content of logfile:
> >>>    RCS file: /cvs-repository/path_to_file/file,v
> >>>    retrieving revision 1.2
> >>>    retrieving revision 1.2.10.1
> >>>    Merging differences between 1.2 and 1.2.10.1 into file
> >>>    rcsmerge: warning: conflicts during merge
> >> As I do not actually have your file,v available as a test case, this
> >> does not help very much.
> >>
> > file revision 1.2
> > snip:
> >       my @r = (q$Revision: 1.2 $ =~ /\d+/g);
> > file revision 1.2.10
> > snip:
> >       my @r = (q$Revision: 1.2.10.1 $ =~ /\d+/g);
> > file after join:
> > <<<<<<< file
> >       my @r = (q$Revision: 1.5 $ =~ /\d+/g);
> > =======
> >       my @r = (q$Revision: 1.2.10.1 $ =~ /\d+/g);
> >>>>>>>> 1.2.10.1
> >
> >>> 3) content of CVS/Entries:
> >>>    /file/1.5/Result of merge+Fri Jun  2 08:02:40 2006//
> >>> 4) cvs -n update file shows nothing (is cvs-1.12.13 for Windows)
> >> And is the contents of the CVS/Entries file unchanged after this
> >> step #4 operation?
> >>
> > the content is unchanged
> >
> >>> 5) cvs-1.11.17 -n update shows (also Windows client)
> >>>    C file
> >> What dose 'cvs-1.12.13 version' output? (i.e., what is the the server
> >> revision of CVS)? It would also be good to know the server hardware and
> >> operating system type and any special configurations that went into the
> >> server versio n of cvs.
> >> Are you able to give me any further details about the configuration
> >> of
> >> the cvs 1.12.13 you are using?
> >>
> > I thought I did it in my first mail
> > Environment: remote server cvs-1.12.9 (Debian-patch, should be equal
> > to cvs-1.12.13)
> > pserver access
> > client cvs-1.12.13 for Windows (downloaded from gnu.org)
> > output of cvs-1.12.13 version is
> > Client: Concurrent Versions System (CVS) 1.12.13 (client)
> > Server: Concurrent Versions System (CVS) 1.12.9 (client/server)
> > the server is Debian GNU/Linux 3.1
> >
> >>> Hope this helps, Stephanie
> >> Sadly, not yet. Until an unless I can understand what is happening,
> >> I am
> >> not able to fix it.
> >>    -- Mark
> >> -----BEGIN PGP SIGNATURE-----
> >> Version: GnuPG v1.4.3 (FreeBSD)
> >> iD8DBQFEf/UMCg7APGsDnFERAt6zAJ46fX+Jqrrpkz/iyeUHBCVp5LjCigCffM8q
> >> IqPCv3BFVDlTQD1tIXwxIhQ=
> >> =Tkhg
> >> -----END PGP SIGNATURE-----
> >>
> > Greetings, Stephanie
> >
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEgGFsCg7APGsDnFERApeRAKCJ6lafWmyzfH2qOdgD/oe+63i86gCgzB5e
bPKOEi2KnmZXpQ9HQ/e+PIU=
=ezWc
-----END PGP SIGNATURE-----




reply via email to

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