view tests/test-convert-cvsnt-mergepoints.out @ 9827:4fe9ca519637

mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127) Previous code was computing hunks then checking if these hunks could be ignored when taking whitespace/blank-lines options in accounts. This approach is simple but fails with hunks containing both whitespace and non-whitespace changes, the whole hunk is emitted while it can be mostly made of whitespace. The new version normalize the whitespaces before hunk generation, and test for blank-lines afterwards.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 11 Nov 2009 18:31:42 +0100
parents c66e324d3961
children
line wrap: on
line source

% create cvs repository
cvs -f -Q -d *REPO* init
% checkout #1: add foo.txt
cvs -f -Q checkout -d cvsworktmp .
cvs -f -Q add foo
cvs -f -Q add foo.txt
cvs -f ci -f -m add foo.txt foo.txt
initial revision: 1.1
% checkout #2: create MYBRANCH1 and modify foo.txt on it
cvs -f -Q checkout -d cvswork foo
cvs -f -q rtag -b -R MYBRANCH1 foo
cvs -f -Q update -P -r MYBRANCH1
cvs -f ci -f -m bar foo.txt
new revision: 1.1.2.1; previous revision: 1.1
cvs -f ci -f -m baz foo.txt
new revision: 1.1.2.2; previous revision: 1.1.2.1
% create MYBRANCH1_2 and modify foo.txt some more
cvs -f -q rtag -b -R -r MYBRANCH1 MYBRANCH1_2 foo
cvs -f -Q update -P -r MYBRANCH1_2
cvs -f ci -f -m bazzie foo.txt
new revision: 1.1.2.2.2.1; previous revision: 1.1.2.2
% create MYBRANCH1_1 and modify foo.txt yet again
cvs -f -q rtag -b -R MYBRANCH1_1 foo
cvs -f -Q update -P -r MYBRANCH1_1
cvs -f ci -f -m quux foo.txt
new revision: 1.1.4.1; previous revision: 1.1
% merge MYBRANCH1 to MYBRANCH1_1
rcsmerge: warning: conflicts during merge
cvs -f -Q update -P -jMYBRANCH1
RCS file: *REPO*/foo/foo.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.2
Merging differences between 1.1 and 1.1.2.2 into foo.txt
cvs -f ci -f -m merge1+clobber foo.txt
new revision: 1.1.4.2; previous revision: 1.1.4.1
% return to trunk and merge MYBRANCH1_2
cvs -f -Q update -P -A
cvs -f -Q update -P -jMYBRANCH1_2
RCS file: *REPO*/foo/foo.txt,v
retrieving revision 1.1
retrieving revision 1.1.2.2.2.1
Merging differences between 1.1 and 1.1.2.2.2.1 into foo.txt
cvs -f ci -f -m merge2 foo.txt
new revision: 1.2; previous revision: 1.1
collecting CVS rlog
7 log entries
creating changesets
7 changeset entries
---------------------
PatchSet 1 
Date:
Author:
Branch: HEAD
Tag: (none) 
Branchpoints: MYBRANCH1_1, MYBRANCH1 
Log:
foo.txt

Members: 
	foo.txt:INITIAL->1.1 

---------------------
PatchSet 2 
Date:
Author:
Branch: MYBRANCH1
Tag: (none) 
Parent: 1
Log:
bar

Members: 
	foo.txt:1.1->1.1.2.1 

---------------------
PatchSet 3 
Date:
Author:
Branch: MYBRANCH1
Tag: (none) 
Branchpoints: MYBRANCH1_2 
Parent: 2
Log:
baz

Members: 
	foo.txt:1.1.2.1->1.1.2.2 

---------------------
PatchSet 4 
Date:
Author:
Branch: MYBRANCH1_1
Tag: (none) 
Parent: 1
Log:
quux

Members: 
	foo.txt:1.1->1.1.4.1 

---------------------
PatchSet 5 
Date:
Author:
Branch: MYBRANCH1_2
Tag: (none) 
Parent: 3
Log:
bazzie

Members: 
	foo.txt:1.1.2.2->1.1.2.2.2.1 

---------------------
PatchSet 6 
Date:
Author:
Branch: HEAD
Tag: (none) 
Parents: 1,5
Log:
merge

Members: 
	foo.txt:1.1->1.2 

---------------------
PatchSet 7 
Date:
Author:
Branch: MYBRANCH1_1
Tag: (none) 
Parents: 4,3
Log:
merge

Members: 
	foo.txt:1.1.4.1->1.1.4.2