tests/test-sparse-merges.t
author Pulkit Goyal <pulkit@yandex-team.ru>
Tue, 21 Aug 2018 15:09:22 +0300
changeset 39526 c6eb2118f44f
parent 39285 a3fd84f4fb38
child 39527 9db856446298
permissions -rw-r--r--
tests: show that merging with sparse is broken when rename is involved This patch adds test to show that merging with sparse is broken when you have a rename on one side and just modification on another side. Differential Revision: https://phab.mercurial-scm.org/D4340
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     1
test merging things outside of the sparse checkout
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     2
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     3
  $ hg init myrepo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     4
  $ cd myrepo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
  $ cat > .hg/hgrc <<EOF
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     6
  > [extensions]
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
  > sparse=
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     8
  > EOF
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     9
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    10
  $ echo foo > foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    11
  $ echo bar > bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
  $ hg add foo bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
  $ hg commit -m initial
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    14
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
  $ hg branch feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
  marked working directory as branch feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    17
  (branches are permanent and global, did you want a bookmark?)
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    18
  $ echo bar2 >> bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    19
  $ hg commit -m 'feature - bar2'
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    21
  $ hg update -q default
33293
c9cbf4de27ba sparse: rename command to debugsparse
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33289
diff changeset
    22
  $ hg debugsparse --exclude 'bar**'
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    23
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    24
  $ hg merge feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    25
  temporarily included 1 file(s) in the sparse checkout for merging
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    26
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    27
  (branch merge, don't forget to commit)
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    28
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    29
Verify bar was merged temporarily
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    30
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    31
  $ ls
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    32
  bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    33
  foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    34
  $ hg status
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    35
  M bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    36
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    37
Verify bar disappears automatically when the working copy becomes clean
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    38
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    39
  $ hg commit -m "merged"
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    40
  cleaned up 1 temporarily added file(s) from the sparse checkout
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    41
  $ hg status
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    42
  $ ls
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    43
  foo
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    44
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    45
  $ hg cat -r . bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    46
  bar
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    47
  bar2
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    48
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    49
Test merging things outside of the sparse checkout that are not in the working
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    50
copy
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    51
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    52
  $ hg strip -q -r . --config extensions.strip=
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    53
  $ hg up -q feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    54
  $ touch branchonly
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    55
  $ hg ci -Aqm 'add branchonly'
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    56
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    57
  $ hg up -q default
33293
c9cbf4de27ba sparse: rename command to debugsparse
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33289
diff changeset
    58
  $ hg debugsparse -X branchonly
33289
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    59
  $ hg merge feature
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    60
  temporarily included 2 file(s) in the sparse checkout for merging
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    61
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
abd7dedbaa36 sparse: vendor Facebook-developed extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    62
  (branch merge, don't forget to commit)
38756
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    63
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    64
  $ cd ..
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    65
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    66
Tests merging a file which is modified in one branch and deleted in another and
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    67
file is excluded from sparse checkout
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    68
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    69
  $ hg init ytest
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    70
  $ cd ytest
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    71
  $ echo "syntax: glob" >> .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    72
  $ echo "*.orig" >> .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    73
  $ hg ci -Aqm "added .hgignore"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    74
  $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    75
  $ cat >> .hg/hgrc <<EOF
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    76
  > [alias]
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    77
  > glog = log -GT "{rev}:{node|short} {desc}"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    78
  > [extensions]
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    79
  > sparse =
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    80
  > EOF
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    81
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    82
  $ hg glog
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    83
  @  2:f29feff37cfc added d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    84
  |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    85
  o  1:617125d27d6b added a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    86
  |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    87
  o  0:53f3774ed939 added .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    88
  
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    89
  $ hg rm d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    90
  $ hg ci -m "removed d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    91
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    92
  $ hg up '.^'
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    93
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    94
  $ hg debugsparse --reset
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    95
  $ echo bar >> d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    96
  $ hg ci -Am "added bar to d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    97
  created new head
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    98
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
    99
  $ hg glog
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   100
  @  4:6527874a90e4 added bar to d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   101
  |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   102
  | o  3:372c8558de45 removed d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   103
  |/
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   104
  o  2:f29feff37cfc added d
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   105
  |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   106
  o  1:617125d27d6b added a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   107
  |
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   108
  o  0:53f3774ed939 added .hgignore
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   109
  
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   110
  $ hg debugsparse --exclude "d"
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   111
  $ ls
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   112
  a
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   113
91c405f84cf7 sparse: add test showing `hg merge` is broken while using sparse extension
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 33293
diff changeset
   114
  $ hg merge
38757
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
   115
  temporarily included 1 file(s) in the sparse checkout for merging
39285
a3fd84f4fb38 filemerge: fix the wrong placements of messages in prompt
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39284
diff changeset
   116
  file 'd' was deleted in other [merge rev] but was modified in local [working copy].
39277
f785073f792c merge: improve interactive one-changed one-deleted message (issue5550)
Augie Fackler <augie@google.com>
parents: 38757
diff changeset
   117
  What do you want to do?
38757
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
   118
  use (c)hanged version, (d)elete, or leave (u)nresolved? u
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
   119
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
   120
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
d49e490a9e85 merge: do the trivial resolution after updating sparse checkout
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38756
diff changeset
   121
  [1]
39526
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   122
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   123
  $ cd ..
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   124
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   125
Testing merging of a file which is renamed+modified on one side and modified on
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   126
another
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   127
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   128
  $ hg init mvtest
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   129
  $ cd mvtest
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   130
  $ echo "syntax: glob" >> .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   131
  $ echo "*.orig" >> .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   132
  $ hg ci -Aqm "added .hgignore"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   133
  $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   134
  $ cat >> .hg/hgrc <<EOF
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   135
  > [alias]
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   136
  > glog = log -GT "{rev}:{node|short} {desc}"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   137
  > [extensions]
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   138
  > sparse =
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   139
  > EOF
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   140
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   141
  $ hg glog
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   142
  @  2:f29feff37cfc added d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   143
  |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   144
  o  1:617125d27d6b added a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   145
  |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   146
  o  0:53f3774ed939 added .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   147
  
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   148
  $ echo babar >> a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   149
  $ hg ci -m "added babar to a"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   150
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   151
  $ hg up '.^'
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   152
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   153
  $ hg mv a amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   154
  $ hg ci -m "moved a to amove"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   155
  created new head
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   156
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   157
  $ hg up 3
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   158
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   159
  $ hg glog
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   160
  o  4:5d1e85955f6d moved a to amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   161
  |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   162
  | @  3:a06e41a6c16c added babar to a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   163
  |/
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   164
  o  2:f29feff37cfc added d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   165
  |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   166
  o  1:617125d27d6b added a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   167
  |
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   168
  o  0:53f3774ed939 added .hgignore
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   169
  
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   170
  $ hg debugsparse --exclude "a"
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   171
  $ ls
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   172
  d
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   173
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   174
  $ hg merge
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   175
  abort: $ENOENT$: $TESTTMP/mvtest/a
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   176
  [255]
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   177
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   178
  $ hg up -C 4
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   179
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   180
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   181
  $ hg merge
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   182
  merging amove and a to amove
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   183
  abort: cannot add 'a' - it is outside the sparse checkout
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   184
  (include file with `hg debugsparse --include <pattern>` or use `hg add -s <file>` to include file directory while adding)
c6eb2118f44f tests: show that merging with sparse is broken when rename is involved
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39285
diff changeset
   185
  [255]