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: Greg A. Woods
Subject: Re: new feature suggestion: 3-way conflict indicators
Date: Tue, 18 Jun 2002 23:33:18 -0400 (EDT)

[ 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]