tests/test-merge-exec.t
author Simon Sapin <simon.sapin@octobus.net>
Tue, 09 Nov 2021 19:55:46 +0100
changeset 48335 b7fde9237c92
parent 44914 6d968cd40961
child 48345 d5a91701f7dc
permissions -rw-r--r--
rhg: Enable `rhg status` in most tests This subcommand is disabled by default because of bugs that make some test fail. Enable it in the rest of the tests in order to avoid regressing them. As with `RHG_ON_UNSUPPORTED`, an environment variable is used instead of a configuration file and `HGRCPATH` because some tests override `HGRCPATH`. Running `unset RHG_STATUS` at the start of a test restores the default of `rhg status` being disabled. Hopefully it can be increasingly removed from test files as bugs are fixed. Differential Revision: https://phab.mercurial-scm.org/D11756
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
===============================================
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
Testing merge involving change to the exec flag
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
===============================================
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
#require execbit
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
48335
b7fde9237c92 rhg: Enable `rhg status` in most tests
Simon Sapin <simon.sapin@octobus.net>
parents: 44914
diff changeset
     7
TODO: fix rhg bugs that make this test fail when status is enabled
b7fde9237c92 rhg: Enable `rhg status` in most tests
Simon Sapin <simon.sapin@octobus.net>
parents: 44914
diff changeset
     8
  $ unset RHG_STATUS
b7fde9237c92 rhg: Enable `rhg status` in most tests
Simon Sapin <simon.sapin@octobus.net>
parents: 44914
diff changeset
     9
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
Initial setup
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
==============
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  $ hg init base-repo
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  $ cd base-repo
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  $ cat << EOF > a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  > 8
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  $ touch b
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  $ hg add a b
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  $ hg commit -m "initial commit"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    33
  $ hg init base-exec
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    34
  $ cd base-exec
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    35
  $ cat << EOF > a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    36
  > 1
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    37
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    38
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    39
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    40
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    41
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    42
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    43
  > 8
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    44
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    45
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    46
  $ chmod +x a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    47
  $ touch b
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    48
  $ hg add a b
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    49
  $ hg commit -m "initial commit"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    50
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    51
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
Testing merging mode change
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
===========================
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    55
Adding the flag
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    56
---------------
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    57
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
setup
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
Change on one side, executable bit on the other
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    62
  $ hg clone base-repo simple-merge-repo
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
  updating to branch default
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
  $ cd simple-merge-repo
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  $ chmod +x a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
  $ hg ci -m "make a executable, no change"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
  $ [ -x a ] || echo "executable bit not recorded"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  $ hg up ".^"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  $ cat << EOF > a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  > x
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  $ hg commit -m "edit end of file"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  created new head
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
merge them (from the update side)
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
  $ hg merge 'desc("make a executable, no change")'
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
  (branch merge, don't forget to commit)
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  $ [ -x a ] || echo "executable bit lost"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
merge them (from the chmod side)
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  $ hg up -C 'desc("make a executable, no change")'
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  $ hg merge 'desc("edit end of file")'
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  (branch merge, don't forget to commit)
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
  $ [ -x a ] || echo "executable bit lost"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   105
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   108
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   109
Removing the flag
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   110
-----------------
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   111
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   112
Change on one side, executable bit on the other
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   113
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   114
  $ hg clone base-exec simple-merge-repo-removal
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   115
  updating to branch default
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   116
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   117
  $ cd simple-merge-repo-removal
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   118
  $ chmod -x a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   119
  $ hg ci -m "make a non-executable, no change"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   120
  $ [ -x a ] && echo "executable bit not removed"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   121
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   122
  $ hg up ".^"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   123
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   124
  $ cat << EOF > a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   125
  > 1
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   126
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   127
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   128
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   129
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   130
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   131
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   132
  > x
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   133
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   134
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   135
  $ hg commit -m "edit end of file"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   136
  created new head
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   137
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   138
merge them (from the update side)
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   139
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   140
  $ hg merge 'desc("make a non-executable, no change")'
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   141
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   142
  (branch merge, don't forget to commit)
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   143
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   144
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   145
  $ [ -x a ] && echo "executable bit not removed"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   146
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   147
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   148
merge them (from the chmod side)
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   149
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   150
  $ hg up -C 'desc("make a non-executable, no change")'
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   151
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   152
  $ hg merge 'desc("edit end of file")'
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   153
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   154
  (branch merge, don't forget to commit)
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   155
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   156
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   157
  $ [ -x a ] && echo "executable bit not removed"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   158
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   159
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   160
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   161
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   162
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   163
Testing merging mode change with rename
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   164
=======================================
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   165
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   166
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   167
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   168
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   169
  $ hg clone base-repo rename-merge-repo
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   170
  updating to branch default
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   171
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   172
  $ cd rename-merge-repo
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   173
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   174
make "a" executable on one side
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   175
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   176
  $ chmod +x a
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   177
  $ hg status
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   178
  M a
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   179
  $ hg ci -m "make a executable"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   180
  $ [ -x a ] || echo "executable bit not recorded"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   181
  $ hg up ".^"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   182
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   183
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   184
make "a" renamed on the other side
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   185
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   186
  $ hg mv a z
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   187
  $ hg st --copies
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   188
  A z
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   189
    a
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   190
  R a
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   191
  $ hg ci -m "rename a to z"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   192
  created new head
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   193
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   194
merge them (from the rename side)
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   195
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   196
  $ hg merge 'desc("make a executable")'
44909
d452acc8cce8 flags: account for flag change when tracking rename relevant to merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44908
diff changeset
   197
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   198
  (branch merge, don't forget to commit)
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   199
  $ hg st --copies
44909
d452acc8cce8 flags: account for flag change when tracking rename relevant to merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44908
diff changeset
   200
  M z
d452acc8cce8 flags: account for flag change when tracking rename relevant to merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44908
diff changeset
   201
    a
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   202
  $ [ -x z ] || echo "executable bit lost"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   203
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   204
merge them (from the chmod side)
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   205
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   206
  $ hg up -C 'desc("make a executable")'
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   207
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   208
  $ hg merge 'desc("rename a to z")'
44909
d452acc8cce8 flags: account for flag change when tracking rename relevant to merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44908
diff changeset
   209
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   210
  (branch merge, don't forget to commit)
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   211
  $ hg st --copies
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   212
  M z
44909
d452acc8cce8 flags: account for flag change when tracking rename relevant to merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44908
diff changeset
   213
    a
44908
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   214
  R a
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   215
  $ [ -x z ] || echo "executable bit lost"
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   216
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   217
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   218
  $ cd ..
44910
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   219
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   220
Removing the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   221
-----------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   222
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   223
  $ hg clone base-exec rename-merge-repo-removal
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   224
  updating to branch default
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   225
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   226
  $ cd rename-merge-repo-removal
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   227
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   228
make "a" non-executable on one side
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   229
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   230
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   231
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   232
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   233
  $ hg ci -m "make a non-executable"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   234
  $ [ -x a ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   235
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   236
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   237
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   238
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   239
make "a" renamed on the other side
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   240
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   241
  $ hg mv a z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   242
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   243
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   244
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   245
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   246
  $ hg ci -m "rename a to z"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   247
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   248
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   249
merge them (from the rename side)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   250
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   251
  $ hg merge 'desc("make a non-executable")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   252
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   253
  (branch merge, don't forget to commit)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   254
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   255
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   256
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   257
  $ [ -x z ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   258
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   259
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   260
merge them (from the chmod side)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   261
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   262
  $ hg up -C 'desc("make a non-executable")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   263
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   264
  $ hg merge 'desc("rename a to z")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   265
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   266
  (branch merge, don't forget to commit)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   267
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   268
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   269
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   270
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   271
  $ [ -x z ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   272
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   273
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   274
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   275
  $ cd ..
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   276
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   277
44910
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   278
Testing merging mode change with rename + modification on both side
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   279
===================================================================
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   280
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   281
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   282
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   283
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   284
44910
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   285
  $ hg clone base-repo rename+mod-merge-repo
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   286
  updating to branch default
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   287
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   288
  $ cd rename+mod-merge-repo
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   289
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   290
make "a" executable on one side
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   291
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   292
  $ chmod +x a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   293
  $ cat << EOF > a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   294
  > 1
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   295
  > x
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   296
  > 3
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   297
  > 4
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   298
  > 5
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   299
  > 6
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   300
  > 7
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   301
  > 8
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   302
  > 9
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   303
  > EOF
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   304
  $ hg status
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   305
  M a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   306
  $ hg ci -m "make a executable, and change start"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   307
  $ [ -x a ] || echo "executable bit not recorded"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   308
  $ hg up ".^"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   309
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   310
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   311
make "a" renamed on the other side
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   312
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   313
  $ hg mv a z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   314
  $ hg st --copies
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   315
  A z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   316
    a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   317
  R a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   318
  $ cat << EOF > z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   319
  > 1
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   320
  > 2
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   321
  > 3
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   322
  > 4
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   323
  > 5
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   324
  > 6
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   325
  > 7
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   326
  > x
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   327
  > 9
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   328
  > EOF
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   329
  $ hg ci -m "rename a to z, and change end"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   330
  created new head
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   331
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   332
merge them (from the rename side)
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   333
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   334
  $ hg merge 'desc("make a executable")'
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   335
  merging z and a to z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   336
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   337
  (branch merge, don't forget to commit)
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   338
  $ hg st --copies
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   339
  M z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   340
    a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   341
  $ [ -x z ] || echo "executable bit lost"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   342
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   343
merge them (from the chmod side)
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   344
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   345
  $ hg up -C 'desc("make a executable")'
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   346
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   347
  $ hg merge 'desc("rename a to z")'
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   348
  merging a and z to z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   349
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   350
  (branch merge, don't forget to commit)
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   351
  $ hg st --copies
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   352
  M z
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   353
    a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   354
  R a
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   355
  $ [ -x z ] || echo "executable bit lost"
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   356
783f059509e4 flags: add a test for merging exec flag change with rename and file change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44909
diff changeset
   357
  $ cd ..
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   358
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   359
Removing the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   360
-----------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   361
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   362
  $ hg clone base-exec rename+mod-merge-repo-removal
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   363
  updating to branch default
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   364
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   365
  $ cd rename+mod-merge-repo-removal
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   366
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   367
make "a" non-executable on one side
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   368
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   369
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   370
  $ cat << EOF > a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   371
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   372
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   373
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   374
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   375
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   376
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   377
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   378
  > 8
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   379
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   380
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   381
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   382
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   383
  $ hg ci -m "make a non-executable, and change start"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   384
  $ [ -x z ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   385
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   386
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   387
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   388
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   389
make "a" renamed on the other side
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   390
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   391
  $ hg mv a z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   392
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   393
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   394
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   395
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   396
  $ cat << EOF > z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   397
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   398
  > 2
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   399
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   400
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   401
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   402
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   403
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   404
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   405
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   406
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   407
  $ hg ci -m "rename a to z, and change end"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   408
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   409
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   410
merge them (from the rename side)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   411
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   412
  $ hg merge 'desc("make a non-executable")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   413
  merging z and a to z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   414
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   415
  (branch merge, don't forget to commit)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   416
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   417
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   418
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   419
  $ [ -x z ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   420
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   421
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   422
merge them (from the chmod side)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   423
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   424
  $ hg up -C 'desc("make a non-executable")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   425
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   426
  $ hg merge 'desc("rename a to z")'
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   427
  merging a and z to z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   428
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   429
  (branch merge, don't forget to commit)
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   430
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   431
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   432
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   433
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   434
  $ [ -x z ] && echo "executable bit not removed"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   435
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   436
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   437
  $ cd ..