Patchwork D8535: flags: also test the removal of the exec flag

login
register
mail settings
Submitter phabricator
Date May 16, 2020, 8:12 p.m.
Message ID <differential-rev-PHID-DREV-yekegcaxnjb2khdj3xmz-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/46322/
State Superseded
Headers show

Comments

phabricator - May 16, 2020, 8:12 p.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D8535

AFFECTED FILES
  tests/test-merge-exec.t

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-merge-exec.t b/tests/test-merge-exec.t
--- a/tests/test-merge-exec.t
+++ b/tests/test-merge-exec.t
@@ -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
 =======================================