tests/test-merge-exec.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 15 Oct 2021 16:12:00 +0200
changeset 48250 1730b2fceaa1
parent 44914 6d968cd40961
child 48335 b7fde9237c92
permissions -rw-r--r--
dirstate-v2: adds a flag to mark a file as modified Right now, a files with a file system state that requires a lookup (same size, different mtime) will requires a lookup. If the result of that lookup is a modified files, it will remains ambiguous, requiring a lookup on the next status run too. To fix this, we introduce a dedicated flag in the new format. Such flag will allow to record such file as "known modified" avoiding an extra lookup later. As None of the associate code currently exist in the status code, we do the minimal implementation: if we read a dirstate entry with this flag set, we make it as "ambiguous" so that the next status code has to look it up. The same as it would have to without this flag existing anyway. Differential Revision: https://phab.mercurial-scm.org/D11681
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
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
Initial setup
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
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
  $ 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
    13
  $ 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
    14
  $ 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
    15
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  > 8
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  $ touch 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 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
    27
  $ 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
    28
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    30
  $ 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
    31
  $ 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
    32
  $ 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
    33
  > 1
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    34
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    35
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    36
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    37
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    38
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    39
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    40
  > 8
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    41
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    42
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    43
  $ 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
    44
  $ touch 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 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
    46
  $ 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
    47
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    48
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
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
    50
===========================
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    52
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
    53
---------------
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
    54
44907
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
setup
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    57
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
    58
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
  $ 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
    60
  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
    61
  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
    62
  $ 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
    63
  $ 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
    64
  $ 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
    65
  $ [ -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
    66
  $ hg up ".^"
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
  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
    68
  $ 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
    69
  > 1
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  > 2
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  > 3
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  > 4
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  > 5
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  > 6
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  > 7
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  > x
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  > 9
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  > EOF
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  $ 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
    80
  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
    81
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
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
    83
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
  $ 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
    85
  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
    86
  (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
    87
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
  $ [ -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
    90
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
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
    92
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
  $ 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
    94
  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
    95
  $ 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
    96
  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
    97
  (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
    98
  $ hg st
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  M a
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  $ [ -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
   101
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
  $ cd ..
bf5ed664f467 flags: introduce explicit testing for merging change to exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
44913
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   105
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   106
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
   107
-----------------
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
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
   110
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   111
  $ 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
   112
  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
   113
  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
   114
  $ 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
   115
  $ 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
   116
  $ 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
   117
  $ [ -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
   118
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   119
  $ hg up ".^"
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   120
  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
   121
  $ 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
   122
  > 1
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   123
  > 2
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   124
  > 3
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   125
  > 4
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   126
  > 5
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   127
  > 6
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   128
  > 7
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   129
  > x
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   130
  > 9
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   131
  > EOF
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   132
  $ 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
   133
  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
   134
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   135
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
   136
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   137
  $ 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
   138
  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
   139
  (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
   140
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   141
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   142
  $ [ -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
   143
  [1]
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   144
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   145
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
   146
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   147
  $ 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
   148
  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
   149
  $ 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
   150
  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
   151
  (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
   152
  $ hg st
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   153
  M a
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   154
  $ [ -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
   155
  [1]
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
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   158
  $ cd ..
9afee647a9f0 flags: also test the removal of the exec flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44912
diff changeset
   159
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
   160
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
   161
=======================================
9438c84d1dce flags: also test merging a rename with and exec flag change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44907
diff changeset
   162
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   163
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   164
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   165
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
   166
  $ 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
   167
  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
   168
  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
   169
  $ 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
   170
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
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
   172
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
  $ 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
   174
  $ 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
   175
  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
   176
  $ 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
   177
  $ [ -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
   178
  $ 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
   179
  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
   180
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
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
   182
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 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
   184
  $ 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
   185
  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
   186
    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
  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
   188
  $ 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
   189
  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
   190
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
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
   192
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
  $ 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
   194
  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
   195
  (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
   196
  $ 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
   197
  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
   198
    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
   199
  $ [ -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
   200
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
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
   202
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
  $ 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
   204
  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
   205
  $ 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
   206
  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
   207
  (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
   208
  $ 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
   209
  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
   210
    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
   211
  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
   212
  $ [ -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
   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
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
  $ 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
   216
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   217
Removing the flag
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
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   220
  $ 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
   221
  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
   222
  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
   223
  $ 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
   224
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   225
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
   226
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   227
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   228
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   229
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   230
  $ 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
   231
  $ [ -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
   232
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   233
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   234
  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
   235
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   236
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
   237
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   238
  $ 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
   239
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   240
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   241
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   242
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   243
  $ 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
   244
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   245
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   246
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
   247
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   248
  $ 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
   249
  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
   250
  (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
   251
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   252
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   253
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   254
  $ [ -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
   255
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   256
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   257
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
   258
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   259
  $ 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
   260
  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
   261
  $ 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
   262
  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
   263
  (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
   264
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   265
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   266
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   267
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   268
  $ [ -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
   269
  [1]
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
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   272
  $ cd ..
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
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
   275
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
   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
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
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   279
Adding the flag
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   280
---------------
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   281
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
   282
  $ 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
   283
  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
   284
  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
   285
  $ 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
   286
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
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
   288
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
  $ 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
   290
  $ 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
   291
  > 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
   292
  > 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
   293
  > 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
   294
  > 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
   295
  > 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
   296
  > 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
   297
  > 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
   298
  > 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
   299
  > 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
   300
  > 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
   301
  $ 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
   302
  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
   303
  $ 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
   304
  $ [ -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
   305
  $ 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
   306
  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
   307
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
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
   309
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 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
   311
  $ 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
   312
  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
   313
    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
  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
   315
  $ 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
   316
  > 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
   317
  > 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
   318
  > 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
   319
  > 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
   320
  > 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
   321
  > 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
   322
  > 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
   323
  > 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
   324
  > 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
   325
  > 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
   326
  $ 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
   327
  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
   328
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
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
   330
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
  $ 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
   332
  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
   333
  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
   334
  (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
   335
  $ 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
   336
  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
   337
    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
   338
  $ [ -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
   339
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
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
   341
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
  $ 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
   343
  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
   344
  $ 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
   345
  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
   346
  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
   347
  (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
   348
  $ 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
   349
  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
   350
    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
  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
   352
  $ [ -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
   353
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
  $ cd ..
44914
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   355
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   356
Removing the flag
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
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   359
  $ 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
   360
  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
   361
  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
   362
  $ 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
   363
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   364
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
   365
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   366
  $ chmod -x a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   367
  $ cat << EOF > a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   368
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   369
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   370
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   371
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   372
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   373
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   374
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   375
  > 8
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   376
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   377
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   378
  $ hg status
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   379
  M a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   380
  $ 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
   381
  $ [ -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
   382
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   383
  $ hg up ".^"
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   384
  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
   385
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   386
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
   387
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   388
  $ 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
   389
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   390
  A z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   391
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   392
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   393
  $ cat << EOF > z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   394
  > 1
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   395
  > 2
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   396
  > 3
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   397
  > 4
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   398
  > 5
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   399
  > 6
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   400
  > 7
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   401
  > x
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   402
  > 9
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   403
  > EOF
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   404
  $ 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
   405
  created new head
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   406
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   407
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
   408
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   409
  $ 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
   410
  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
   411
  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
   412
  (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
   413
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   414
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   415
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   416
  $ [ -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
   417
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   418
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   419
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
   420
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   421
  $ 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
   422
  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
   423
  $ 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
   424
  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
   425
  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
   426
  (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
   427
  $ hg st --copies
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   428
  M z
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   429
    a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   430
  R a
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   431
  $ [ -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
   432
  [1]
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   433
6d968cd40961 flags: also test merge with executable bit removed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44913
diff changeset
   434
  $ cd ..