tests/test-merge-exec.t
author Manuel Jacob <me@manueljacob.de>
Sun, 22 May 2022 03:50:34 +0200
changeset 49269 395f28064826
parent 48345 d5a91701f7dc
permissions -rw-r--r--
worker: avoid potential partial write of pickled data Previously, the code wrote the pickled data using os.write(). However, os.write() can write less bytes than passed to it. To trigger the problem, the pickled data had to be larger than 2147479552 bytes on my system. Instead, open a file object and pass it to pickle.dump(). This also has the advantage that it doesn’t buffer the whole pickled data in memory. Note that the opened file must be buffered because pickle doesn’t support unbuffered streams because unbuffered streams’ write() method might write less bytes than passed to it (like os.write()) but pickle.dump() relies on that all bytes are written (see https://github.com/python/cpython/issues/93050). The side effect of using a file object and a with statement is that wfd is explicitly closed now while it seems like before it was implicitly closed by process exit.
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
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
Initial setup
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
==============
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
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
  $ 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
    12
  $ 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
    13
  $ 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
    14
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  > 8
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  $ touch b
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  $ 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
    26
  $ 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
    27
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    29
  $ 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
    30
  $ 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
    31
  $ 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
    32
  > 1
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    33
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    34
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    35
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    36
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    37
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    38
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    39
  > 8
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    40
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    41
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    42
  $ 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
    43
  $ touch b
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    44
  $ 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
    45
  $ 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
    46
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    47
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
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
    49
===========================
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    51
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
    52
---------------
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    53
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
setup
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
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
    57
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
  $ 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
    59
  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
    60
  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
    61
  $ 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
    62
  $ 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
    63
  $ 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
    64
  $ [ -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
    65
  $ hg up ".^"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  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
    67
  $ 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
    68
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  > x
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  $ 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
    79
  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
    80
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
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
    82
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  $ 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
    84
  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
    85
  (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
    86
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  $ [ -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
    89
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
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
    91
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  $ 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
    93
  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
    94
  $ 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
    95
  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
    96
  (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
    97
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  $ [ -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
   100
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   104
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   105
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
   106
-----------------
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   107
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   108
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
   109
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   110
  $ 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
   111
  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
   112
  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
   113
  $ 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
   114
  $ 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
   115
  $ 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
   116
  $ [ -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
   117
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   118
  $ hg up ".^"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   119
  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
   120
  $ 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
   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
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   123
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   124
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   125
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   126
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   127
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   128
  > x
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   129
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   130
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   131
  $ 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
   132
  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
   133
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   134
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
   135
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   136
  $ 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
   137
  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
   138
  (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
   139
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   140
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   141
  $ [ -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
   142
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   143
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   144
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
   145
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   146
  $ 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
   147
  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
   148
  $ 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
   149
  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
   150
  (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
   151
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   152
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   153
  $ [ -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
   154
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   155
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   156
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   157
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   158
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
   159
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
   160
=======================================
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   161
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   162
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   163
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   164
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
   165
  $ 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
   166
  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
   167
  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
   168
  $ 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
   169
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
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
   171
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
  $ 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
   173
  $ 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
   174
  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
   175
  $ 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
   176
  $ [ -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
   177
  $ 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
   178
  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
   179
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
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
   181
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
  $ 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
   183
  $ 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
   184
  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
   185
    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
   186
  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
   187
  $ 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
   188
  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
   189
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
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
   191
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
  $ 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
   193
  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
   194
  (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
   195
  $ 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
   196
  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
   197
    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
   198
  $ [ -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
   199
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   200
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
   201
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
  $ 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
   203
  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
   204
  $ 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
   205
  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
   206
  (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
   207
  $ 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
   208
  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
   209
    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
   210
  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
   211
  $ [ -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
   212
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   213
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
  $ 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
   215
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   216
Removing the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   217
-----------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   218
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   219
  $ 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
   220
  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
   221
  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
   222
  $ 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
   223
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   224
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
   225
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   226
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   227
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   228
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   229
  $ 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
   230
  $ [ -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
   231
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   232
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   233
  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
   234
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   235
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
   236
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   237
  $ 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
   238
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   239
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   240
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   241
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   242
  $ 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
   243
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   244
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   245
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
   246
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   247
  $ 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
   248
  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
   249
  (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
   250
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   251
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   252
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   253
  $ [ -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
   254
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   255
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   256
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
   257
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   258
  $ 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
   259
  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
   260
  $ 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
   261
  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
   262
  (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
   263
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   264
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   265
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   266
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   267
  $ [ -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
   268
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   269
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   270
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   271
  $ cd ..
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   272
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   273
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
   274
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
   275
===================================================================
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
   276
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
   277
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   278
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   279
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   280
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
   281
  $ 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
   282
  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
   283
  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
   284
  $ 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
   285
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
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
   287
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
  $ 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
   289
  $ 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
   290
  > 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
   291
  > 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
   292
  > 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
   293
  > 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
   294
  > 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
   295
  > 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
   296
  > 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
   297
  > 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
   298
  > 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
   299
  > 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
   300
  $ 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
   301
  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
   302
  $ 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
   303
  $ [ -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
   304
  $ 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
   305
  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
   306
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
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
   308
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
  $ 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
   310
  $ 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
   311
  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
   312
    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
   313
  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
   314
  $ 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
   315
  > 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
   316
  > 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
   317
  > 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
   318
  > 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
   319
  > 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
   320
  > 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
   321
  > 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
   322
  > 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
   323
  > 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
   324
  > 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
   325
  $ 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
   326
  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
   327
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
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
   329
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
  $ 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
   331
  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
   332
  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
   333
  (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
   334
  $ 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
   335
  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
   336
    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
   337
  $ [ -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
   338
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
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
   340
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
  $ 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
   342
  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
   343
  $ 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
   344
  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
   345
  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
   346
  (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
   347
  $ 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
   348
  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
   349
    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
   350
  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
   351
  $ [ -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
   352
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
  $ cd ..
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   354
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   355
Removing the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   356
-----------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   357
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   358
  $ 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
   359
  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
   360
  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
   361
  $ 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
   362
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   363
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
   364
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   365
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   366
  $ cat << EOF > a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   367
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   368
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   369
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   370
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   371
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   372
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   373
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   374
  > 8
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   375
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   376
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   377
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   378
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   379
  $ 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
   380
  $ [ -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
   381
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   382
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   383
  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
   384
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   385
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
   386
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   387
  $ 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
   388
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   389
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   390
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   391
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   392
  $ cat << EOF > z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   393
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   394
  > 2
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   395
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   396
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   397
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   398
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   399
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   400
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   401
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   402
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   403
  $ 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
   404
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   405
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   406
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
   407
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   408
  $ 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
   409
  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
   410
  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
   411
  (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
   412
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   413
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   414
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   415
  $ [ -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
   416
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   417
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   418
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
   419
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   420
  $ 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
   421
  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
   422
  $ 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
   423
  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
   424
  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
   425
  (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
   426
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   427
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   428
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   429
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   430
  $ [ -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
   431
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   432
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   433
  $ cd ..