info-cvs
[Top][All Lists]
Advanced

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

RE: new feature suggestion: 3-way conflict indicators


From: Matthew Herrmann
Subject: RE: new feature suggestion: 3-way conflict indicators
Date: Wed, 19 Jun 2002 14:28:24 +1000

Thanks Greg, I'll look for them.

I suspected this idea would be up your alley for some reason.

-- matt

-----Original Message-----
From: Greg A. Woods [mailto:address@hidden
Sent: Wednesday, 19 June 2002 13:33
To: Matthew Herrmann
Cc: CVS Mailing List
Subject: Re: new feature suggestion: 3-way conflict indicators


[ On Wednesday, June 19, 2002 at 09:04:37 (+1000), Matthew Herrmann wrote: ]
> Subject: new feature suggestion: 3-way conflict indicators
>
> I have a suggestion for a new feature I think would be exceedingly useful
> for difficult merges. The idea is to have 3-way conflict indicators.

I suggested the same, and provided full patches to implement them,
several years ago!  ;-)  See the archives.....  (I think...)

The core patch is (including some extra unrelated fixes):

$ cvs diff rcscmds.c
Index: rcscmds.c
===================================================================
RCS file: /home2/cvsroot/ccvs/src/rcscmds.c,v
retrieving revision 1.50
diff -c -r1.50 rcscmds.c
*** rcscmds.c   14 Feb 2001 04:31:27 -0000      1.50
--- rcscmds.c   19 Jun 2002 03:31:51 -0000
***************
*** 245,254 ****
--- 245,258 ----
      char *tmp1, *tmp2;
      char *diffout = NULL;
      int retval;
+     struct stat file_info;

      if (options != NULL && options[0] != '\0')
        assert (options[0] == '-' && options[1] == 'k');

+     if (CVS_STAT (workfile, &file_info) < 0)
+       error (1, errno, "could not stat %s", workfile);
+
      cvs_output ("RCS file: ", 0);
      cvs_output (rcs->path, 0);
      cvs_output ("\n", 1);
***************
*** 298,305 ****
         only for diagnostic messages -- CVS no longer forks to run diff3.
*/
      diffout = cvs_temp_name();
      call_diff_setup ("diff3");
!     call_diff_arg ("-E");
!     call_diff_arg ("-am");

      call_diff_arg ("-L");
      call_diff_arg (workfile);
--- 302,308 ----
         only for diagnostic messages -- CVS no longer forks to run diff3.
*/
      diffout = cvs_temp_name();
      call_diff_setup ("diff3");
!     call_diff_arg ("-ATam");

      call_diff_arg ("-L");
      call_diff_arg (workfile);
***************
*** 321,326 ****
--- 324,332 ----

      if (diffout)
        copy_file (diffout, workfile);
+
+     if (chmod (workfile, file_info.st_mode) < 0)
+       error (0, errno, "cannot change mode of file %s", workfile);

      /* Clean up. */
      {


--
                                                                Greg A. Woods

+1 416 218-0098;  <address@hidden>;  <address@hidden>;
<address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird
<address@hidden>




reply via email to

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