[Top][All Lists]
[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 15:40:50 +1000 |
greg (or anyone that remembers), could i ask, why this feature wasn't
included in the main build then? did people find it too complicated?
unnecessary? noone got around to it?
-----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>