[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[bug] detect-merge-conflicts.sh reports false positive merge conflict markers

From: Matthias Buecher / Germany <mail_at_maddes.net>
Date: Sat, 02 Feb 2013 21:20:11 +0100

Hello,

the contrib script "detect-merge-conflicts.sh" [1] uses a grep command which also finds false positive merge conflict markers: it finds single lines of "=======" and the pre-commit will fail.

For example I wanted to add a readme file that contains the following two lines:
Install
=======

Of course committing failed.

The correct solution would be to use sed and search for real blocks of merge conflict marker:
SUSPICIOUS=$($SVNLOOK diff -t "$TXN" "$REPOS" | sed -n -e '/^+<<<<<<< \..*$/,/^+>>>>>>> \..*$/ { /^+=======$/p ; //q }' | wc -l)

This sed command finds blocks enclosed with new "<<<<<< ." and ">>>>>>>." and checks if this block contains a new line with "=======". If found it prints out that line and quits sed.

Kind regards
Matthias "Maddes" Bücher

P.S.:
I'm not subscribed and would appreciate being explicitly Cc:ed in any responses. Thanks.

[1] http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/detect-merge-conflicts.sh
Received on 2013-02-02 22:24:29 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.