view tests/test-simplemerge-cmd @ 11715:4f9dfb54c8b5 stable

qpush --move: move the right patch even with comment lines 88fc876a4833 caused that we find the index of the moving patch in self.series but look it up in self.full_series. The difference between these is that full_series also contains comment lines, and we thus moved the wrong patch. Use back self.full_series to find the moving patch, but take care of striping the patch guard markers before comparing the patch name. Test cases have been added for comments and empty lines in self.full_series, and for the case of guarded patches. Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
author Gilles Moris <gilles.moris@free.fr>
date Sat, 10 Jul 2010 21:23:00 +0200
parents 0eb8c4df61bd
children
line wrap: on
line source

#!/bin/sh

cp "$TESTDIR"/../contrib/simplemerge .

echo base > base

echo local > local
cat base >> local
cp local orig

cat base > other
echo other >> other

echo '% changing local directly'
python simplemerge local base other && echo "merge succeeded"
cat local
cp orig local

echo '% printing to stdout'
python simplemerge -p local base other
echo ' local:'
cat local

echo '% conflicts'
cp base conflict-local
cp other conflict-other
echo not other >> conflict-local
echo end >> conflict-local
echo end >> conflict-other
python simplemerge -p conflict-local base conflict-other || echo "merge failed"

echo '% --no-minimal'
python simplemerge -p --no-minimal conflict-local base conflict-other

echo '% 1 label'
python simplemerge -p -L foo conflict-local base conflict-other

echo '% 2 labels'
python simplemerge -p -L foo -L bar conflict-local base conflict-other

echo '% too many labels'
python simplemerge -p -L foo -L bar -L baz conflict-local base conflict-other

echo '% binary file'
python -c "f = file('binary-local', 'w'); f.write('\x00'); f.close()"
cat orig >> binary-local
python simplemerge -p binary-local base other

echo '% binary file --text'
python simplemerge -a -p binary-local base other 2>&1 | $TESTDIR/printrepr.py

echo '% help'
python simplemerge --help

echo '% wrong number of arguments'
python simplemerge

echo '% bad option'
python simplemerge --foo -p local base other

exit 0