flags: also test the removal of the exec flag
Differential Revision: https://phab.mercurial-scm.org/D8535
--- a/tests/test-merge-exec.t Sat May 16 20:38:31 2020 +0200
+++ b/tests/test-merge-exec.t Sat May 16 20:38:42 2020 +0200
@@ -27,9 +27,31 @@
$ hg commit -m "initial commit"
$ cd ..
+ $ hg init base-exec
+ $ cd base-exec
+ $ cat << EOF > a
+ > 1
+ > 2
+ > 3
+ > 4
+ > 5
+ > 6
+ > 7
+ > 8
+ > 9
+ > EOF
+ $ chmod +x a
+ $ touch b
+ $ hg add a b
+ $ hg commit -m "initial commit"
+ $ cd ..
+
Testing merging mode change
===========================
+Adding the flag
+---------------
+
setup
Change on one side, executable bit on the other
@@ -80,6 +102,63 @@
$ cd ..
+
+Removing the flag
+-----------------
+
+setup
+
+Change on one side, executable bit on the other
+
+ $ hg clone base-exec simple-merge-repo-removal
+ updating to branch default
+ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cd simple-merge-repo-removal
+ $ chmod -x a
+ $ hg ci -m "make a non-executable, no change"
+ $ [ -x a ] && echo "executable bit not removed"
+ [1]
+ $ hg up ".^"
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat << EOF > a
+ > 1
+ > 2
+ > 3
+ > 4
+ > 5
+ > 6
+ > 7
+ > x
+ > 9
+ > EOF
+ $ hg commit -m "edit end of file"
+ created new head
+
+merge them (from the update side)
+
+ $ hg merge 'desc("make a non-executable, no change")'
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ $ hg st
+ M a
+ $ [ -x a ] && echo "executable bit not removed"
+ [1]
+
+merge them (from the chmod side)
+
+ $ hg up -C 'desc("make a non-executable, no change")'
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg merge 'desc("edit end of file")'
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ $ hg st
+ M a
+ $ [ -x a ] && echo "executable bit not removed"
+ [1]
+
+
+ $ cd ..
+
Testing merging mode change with rename
=======================================