tests/test-narrow.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 08 Jul 2021 10:28:20 +0200
changeset 47663 6f8d6dd32e61
parent 47439 86418ad637d1
child 49069 a31e9840178e
permissions -rw-r--r--
dirstate: deprecated `drop` outside of `update/merge` All core users have been migrated. Differential Revision: https://phab.mercurial-scm.org/D11116
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36084
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
     1
#testcases flat tree
40386
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
     2
#testcases lfs-on lfs-off
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
     3
42930
0b81fd0aa2a1 tests: move a config write to top of file since it applies to all tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 42893
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
0b81fd0aa2a1 tests: move a config write to top of file since it applies to all tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 42893
diff changeset
     5
  > [experimental]
0b81fd0aa2a1 tests: move a config write to top of file since it applies to all tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 42893
diff changeset
     6
  > evolution=createmarkers
0b81fd0aa2a1 tests: move a config write to top of file since it applies to all tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 42893
diff changeset
     7
  > EOF
0b81fd0aa2a1 tests: move a config write to top of file since it applies to all tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 42893
diff changeset
     8
40386
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
     9
#if lfs-on
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
    10
  $ cat >> $HGRCPATH <<EOF
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
    11
  > [extensions]
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
    12
  > lfs =
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
    13
  > EOF
4a81d82474e9 lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
Matt Harbison <matt_harbison@yahoo.com>
parents: 39552
diff changeset
    14
#endif
36084
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    15
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
  $ . "$TESTDIR/narrow-library.sh"
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
36084
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    18
#if tree
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    19
  $ cat << EOF >> $HGRCPATH
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    20
  > [experimental]
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    21
  > treemanifest = 1
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    22
  > EOF
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    23
#endif
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
    24
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    25
  $ hg init master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    26
  $ cd master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
  $ cat >> .hg/hgrc <<EOF
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    28
  > [narrow]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    29
  > serveellipses=True
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    30
  > EOF
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
  $ for x in `$TESTDIR/seq.py 0 10`
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
  > do
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    33
  >   mkdir d$x
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    34
  >   echo $x > d$x/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    35
  >   hg add d$x/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    36
  >   hg commit -m "add d$x/f"
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    37
  > done
39361
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    38
  $ hg log -T "{rev}: {desc}\n"
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    39
  10: add d10/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    40
  9: add d9/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    41
  8: add d8/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    42
  7: add d7/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    43
  6: add d6/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    44
  5: add d5/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    45
  4: add d4/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    46
  3: add d3/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    47
  2: add d2/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    48
  1: add d1/f
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
    49
  0: add d0/f
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    50
  $ cd ..
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    51
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    52
Error if '.' or '..' are in the directory to track.
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    53
  $ hg clone --narrow ssh://user@dummy/master foo --include ./asdf
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    54
  abort: "." and ".." are not allowed in narrowspec paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    55
  [255]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    56
  $ hg clone --narrow ssh://user@dummy/master foo --include asdf/..
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    57
  abort: "." and ".." are not allowed in narrowspec paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    58
  [255]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    59
  $ hg clone --narrow ssh://user@dummy/master foo --include a/./c
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    60
  abort: "." and ".." are not allowed in narrowspec paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    61
  [255]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    62
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    63
Names with '.' in them are OK.
46902
631001150e13 narrow: add capabilities for local repos, not just remote peers
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 46606
diff changeset
    64
  $ hg clone --narrow ./master should-work --include a/.b/c
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    65
  requesting all changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    66
  adding changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    67
  adding manifests
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    68
  adding file changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    69
  added 1 changesets with 0 changes to 0 files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    70
  new changesets * (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    71
  updating to branch default
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    72
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    73
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    74
Test repo with local changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    75
  $ hg clone --narrow ssh://user@dummy/master narrow-local-changes --include d0 --include d3 --include d6
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    76
  requesting all changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    77
  adding changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    78
  adding manifests
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    79
  adding file changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    80
  added 6 changesets with 3 changes to 3 files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    81
  new changesets *:* (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    82
  updating to branch default
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    83
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    84
  $ cd narrow-local-changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    85
  $ echo local change >> d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    86
  $ hg ci -m 'local change to d0'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    87
  $ hg co '.^'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    88
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    89
  $ echo local change >> d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    90
  $ hg ci -m 'local hidden change to d3'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    91
  created new head
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    92
  $ hg ci --amend -m 'local change to d3'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    93
  $ hg tracked --removeinclude d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    94
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    95
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    96
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    97
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    98
  * (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
    99
  abort: local changes found
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   100
  (use --force-delete-local-changes to ignore)
46117
6cc269bd1c29 errors: raise more specifc errors from narrowcommands
Martin von Zweigbergk <martinvonz@google.com>
parents: 42945
diff changeset
   101
  [20]
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   102
Check that nothing was removed by the failed attempts
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   103
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   104
  I path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   105
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   106
  I path:d6
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   107
  $ hg files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   108
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   109
  d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   110
  d6/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   111
  $ find *
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   112
  d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   113
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   114
  d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   115
  d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   116
  d6
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   117
  d6/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   118
  $ hg verify -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   119
Force deletion of local changes
39361
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   120
  $ hg log -T "{rev}: {desc} {outsidenarrow}\n"
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   121
  8: local change to d3 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   122
  6: local change to d0 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   123
  5: add d10/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   124
  4: add d6/f 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   125
  3: add d5/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   126
  2: add d3/f 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   127
  1: add d2/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   128
  0: add d0/f 
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   129
  $ hg tracked --removeinclude d0 --force-delete-local-changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   130
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   131
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   132
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   133
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   134
  * (glob)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   135
  moving unwanted changesets to backup
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   136
  saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   137
  deleting data/d0/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   138
  deleting meta/d0/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   139
  deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   140
  deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   141
  deleting data/d0/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   142
  deleting unwanted files from working copy
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   143
39361
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   144
  $ hg log -T "{rev}: {desc} {outsidenarrow}\n"
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   145
  7: local change to d3 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   146
  5: add d10/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   147
  4: add d6/f 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   148
  3: add d5/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   149
  2: add d3/f 
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   150
  1: add d2/f outsidenarrow
5ebfb7cc6f2c tests: use {rev} instead of {node|short} and (glob) in narrow tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 37415
diff changeset
   151
  0: add d0/f outsidenarrow
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   152
Can restore stripped local changes after widening
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   153
  $ hg tracked --addinclude d0 -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   154
  $ hg unbundle .hg/strip-backup/*-narrow.hg -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   155
  $ hg --hidden co -r 'desc("local change to d0")' -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   156
  $ cat d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   157
  0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   158
  local change
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   159
Pruned commits affecting removed paths should not prevent narrowing
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   160
  $ hg co '.^'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   161
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   162
  $ hg debugobsolete `hg log -T '{node}' -r 'desc("local change to d0")'`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42415
diff changeset
   163
  1 new obsolescence markers
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   164
  obsoleted 1 changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   165
  $ hg tracked --removeinclude d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   166
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   167
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   168
  looking for local changes to affected paths
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   169
  moving unwanted changesets to backup
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   170
  saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   171
  deleting data/d0/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   172
  deleting meta/d0/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   173
  deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   174
  deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   175
  deleting data/d0/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   176
  deleting unwanted files from working copy
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   177
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   178
Updates off of stripped commit if necessary
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   179
  $ hg co -r 'desc("local change to d3")' -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   180
  $ echo local change >> d6/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   181
  $ hg ci -m 'local change to d6'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   182
  $ hg tracked --removeinclude d3 --force-delete-local-changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   183
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   184
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   185
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   186
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   187
  * (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   188
  * (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   189
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   190
  moving unwanted changesets to backup
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   191
  saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   192
  deleting data/d3/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   193
  deleting meta/d3/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   194
  deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   195
  deleting data/d3/f/99fa7136105a15e2045ce3d9152e4837c5349e4d (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   196
  deleting data/d3/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   197
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   198
  $ hg log -T '{desc}\n' -r .
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   199
  add d10/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   200
Updates to nullid if necessary
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   201
  $ hg tracked --addinclude d3 -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   202
  $ hg co null -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   203
  $ mkdir d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   204
  $ echo local change > d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   205
  $ hg add d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   206
  $ hg ci -m 'local change to d3'
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   207
  created new head
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   208
  $ hg tracked --removeinclude d3 --force-delete-local-changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   209
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   210
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   211
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   212
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   213
  * (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   214
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   215
  moving unwanted changesets to backup
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   216
  saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   217
  deleting data/d3/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   218
  deleting meta/d3/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   219
  deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   220
  deleting data/d3/f/5ce0767945cbdbca3b924bb9fbf5143f72ab40ac (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   221
  deleting data/d3/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   222
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   223
  $ hg id
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   224
  000000000000
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   225
  $ cd ..
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   226
40829
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   227
Narrowing doesn't resurrect old commits (unlike what regular `hg strip` does)
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   228
  $ hg clone --narrow ssh://user@dummy/master narrow-obsmarkers --include d0 --include d3 -q
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   229
  $ cd narrow-obsmarkers
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   230
  $ echo a >> d0/f2
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   231
  $ hg add d0/f2
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   232
  $ hg ci -m 'modify d0/'
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   233
  $ echo a >> d3/f2
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   234
  $ hg add d3/f2
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   235
  $ hg commit --amend -m 'modify d0/ and d3/'
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   236
  $ hg log -T "{rev}: {desc}\n"
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   237
  5: modify d0/ and d3/
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   238
  3: add d10/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   239
  2: add d3/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   240
  1: add d2/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   241
  0: add d0/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   242
  $ hg tracked --removeinclude d3 --force-delete-local-changes -q
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   243
  $ hg log -T "{rev}: {desc}\n"
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   244
  3: add d10/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   245
  2: add d3/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   246
  1: add d2/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   247
  0: add d0/f
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   248
  $ cd ..
77173267878b narrow: don't resurrect old commits when narrowing (don't strip obsmarkers)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40386
diff changeset
   249
40866
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   250
Widening doesn't lose bookmarks
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   251
  $ hg clone --narrow ssh://user@dummy/master widen-bookmarks --include d0 -q
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   252
  $ cd widen-bookmarks
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   253
  $ hg bookmark my-bookmark
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   254
  $ hg log -T "{rev}: {desc} {bookmarks}\n"
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   255
  1: add d10/f my-bookmark
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   256
  0: add d0/f 
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   257
  $ hg tracked --addinclude d3 -q
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   258
  $ hg log -T "{rev}: {desc} {bookmarks}\n"
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   259
  3: add d10/f my-bookmark
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   260
  2: add d3/f 
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   261
  1: add d2/f 
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   262
  0: add d0/f 
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   263
  $ cd ..
21e7c73af75f tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com>
parents: 40829
diff changeset
   264
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   265
Can remove last include, making repo empty
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   266
  $ hg clone --narrow ssh://user@dummy/master narrow-empty --include d0 -r 5
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   267
  adding changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   268
  adding manifests
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   269
  adding file changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   270
  added 2 changesets with 1 changes to 1 files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   271
  new changesets *:* (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   272
  updating to branch default
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   273
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   274
  $ cd narrow-empty
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   275
  $ hg tracked --removeinclude d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   276
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   277
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   278
  looking for local changes to affected paths
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   279
  deleting data/d0/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   280
  deleting meta/d0/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   281
  deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   282
  deleting data/d0/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   283
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   284
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   285
  $ hg files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   286
  [1]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   287
  $ test -d d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   288
  [1]
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   289
Do some work in the empty clone
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   290
  $ hg diff --change .
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   291
  $ hg branch foo
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   292
  marked working directory as branch foo
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   293
  (branches are permanent and global, did you want a bookmark?)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   294
  $ hg ci -m empty
42358
45c18f7345c1 narrow: consider empty commits to be "inside the narrow spec" for templates
Danny Hooper <hooper@google.com>
parents: 40866
diff changeset
   295
  $ hg log -T "{rev}: {desc} {outsidenarrow}\n"
45c18f7345c1 narrow: consider empty commits to be "inside the narrow spec" for templates
Danny Hooper <hooper@google.com>
parents: 40866
diff changeset
   296
  2: empty 
45c18f7345c1 narrow: consider empty commits to be "inside the narrow spec" for templates
Danny Hooper <hooper@google.com>
parents: 40866
diff changeset
   297
  1: add d5/f outsidenarrow
45c18f7345c1 narrow: consider empty commits to be "inside the narrow spec" for templates
Danny Hooper <hooper@google.com>
parents: 40866
diff changeset
   298
  0: add d0/f outsidenarrow
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   299
  $ hg pull -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   300
Can widen the empty clone
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   301
  $ hg tracked --addinclude d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   302
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   303
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   304
  saved backup bundle to $TESTTMP/narrow-empty/.hg/strip-backup/*-widen.hg (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   305
  adding changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   306
  adding manifests
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   307
  adding file changes
47439
86418ad637d1 narrowbundle: use new context manager for silencing the ui
Martin von Zweigbergk <martinvonz@google.com>
parents: 47026
diff changeset
   308
  added 4 changesets with 1 changes to 1 files (+1 heads)
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   309
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   310
  I path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   311
  $ hg files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   312
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   313
  $ find *
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   314
  d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   315
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   316
  $ cd ..
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   317
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   318
TODO(martinvonz): test including e.g. d3/g and then removing it once
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   319
https://bitbucket.org/Google/narrowhg/issues/6 is fixed
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   320
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   321
  $ hg clone --narrow ssh://user@dummy/master narrow --include d0 --include d3 --include d6 --include d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   322
  requesting all changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   323
  adding changesets
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   324
  adding manifests
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   325
  adding file changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   326
  added 8 changesets with 4 changes to 4 files
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   327
  new changesets *:* (glob)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   328
  updating to branch default
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   329
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   330
  $ cd narrow
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   331
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   332
  I path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   333
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   334
  I path:d6
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   335
  I path:d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   336
  $ hg tracked --removeinclude d6
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   337
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   338
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   339
  looking for local changes to affected paths
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   340
  deleting data/d6/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   341
  deleting meta/d6/00manifest.i (tree !)
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   342
  deleting data/d6/f/7339d30678f451ac8c3f38753beeb4cf2e1655c7 (reposimplestore !)
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   343
  deleting data/d6/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   344
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   345
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   346
  I path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   347
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   348
  I path:d9
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   349
#if repofncache
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   350
  $ hg debugrebuildfncache
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   351
  fncache already up to date
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   352
#endif
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   353
  $ find *
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   354
  d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   355
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   356
  d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   357
  d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   358
  d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   359
  d9/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   360
  $ hg verify -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   361
  $ hg tracked --addexclude d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   362
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   363
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   364
  looking for local changes to affected paths
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   365
  deleting data/d3/f.i (reporevlogstore !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   366
  deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   367
  deleting data/d3/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   368
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   369
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   370
  I path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   371
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   372
  I path:d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   373
  X path:d3/f
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   374
#if repofncache
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   375
  $ hg debugrebuildfncache
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   376
  fncache already up to date
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   377
#endif
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   378
  $ find *
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   379
  d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   380
  d0/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   381
  d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   382
  d9/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   383
  $ hg verify -q
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   384
  $ hg tracked --addexclude d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   385
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   386
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   387
  looking for local changes to affected paths
37347
e82a59bfc5e8 tests: conditionalize test output for simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36163
diff changeset
   388
  deleting data/d0/f.i (reporevlogstore !)
36084
dc01484606da tests: fold narrow treemanifest tests into main test file using testcases
Augie Fackler <augie@google.com>
parents: 36079
diff changeset
   389
  deleting meta/d0/00manifest.i (tree !)
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   390
  deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   391
  deleting data/d0/f/index (reposimplestore !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   392
  deleting unwanted files from working copy
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   393
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   394
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   395
  I path:d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   396
  X path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   397
  X path:d3/f
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   398
#if repofncache
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   399
  $ hg debugrebuildfncache
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   400
  fncache already up to date
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37347
diff changeset
   401
#endif
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   402
  $ find *
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   403
  d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   404
  d9/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   405
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   406
Make a 15 of changes to d9 to test the path without --verbose
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   407
(Note: using regexes instead of "* (glob)" because if the test fails, it
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   408
produces more sensible diffs)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   409
  $ hg tracked
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   410
  I path:d3
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   411
  I path:d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   412
  X path:d0
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   413
  X path:d3/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   414
  $ for x in `$TESTDIR/seq.py 1 15`
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   415
  > do
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   416
  >   echo local change >> d9/f
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   417
  >   hg commit -m "change $x to d9/f"
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   418
  > done
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   419
  $ hg tracked --removeinclude d9
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   420
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   421
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   422
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   423
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   424
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   425
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   426
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   427
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   428
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   429
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   430
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   431
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   432
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   433
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   434
  ...and 5 more, use --verbose to list all
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   435
  abort: local changes found
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   436
  (use --force-delete-local-changes to ignore)
46117
6cc269bd1c29 errors: raise more specifc errors from narrowcommands
Martin von Zweigbergk <martinvonz@google.com>
parents: 42945
diff changeset
   437
  [20]
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   438
Now test it *with* verbose.
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   439
  $ hg tracked --removeinclude d9 --verbose
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   440
  comparing with ssh://user@dummy/master
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   441
  searching for changes
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   442
  looking for local changes to affected paths
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   443
  The following changeset(s) or their ancestors have local changes not on the remote:
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   444
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   445
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   446
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   447
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   448
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   449
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   450
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   451
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   452
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   453
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   454
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   455
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   456
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   457
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   458
  ^[0-9a-f]{12}$ (re)
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   459
  abort: local changes found
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
   460
  (use --force-delete-local-changes to ignore)
46117
6cc269bd1c29 errors: raise more specifc errors from narrowcommands
Martin von Zweigbergk <martinvonz@google.com>
parents: 42945
diff changeset
   461
  [20]
42945
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   462
  $ cd ..
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   463
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   464
Test --auto-remove-includes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   465
  $ hg clone --narrow ssh://user@dummy/master narrow-auto-remove -q \
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   466
  > --include d0 --include d1 --include d2
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   467
  $ cd narrow-auto-remove
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   468
  $ echo a >> d0/f
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   469
  $ hg ci -m 'local change to d0'
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   470
  $ hg co '.^'
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   471
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   472
  $ echo a >> d1/f
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   473
  $ hg ci -m 'local change to d1'
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   474
  created new head
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   475
  $ hg debugobsolete $(hg log -T '{node}' -r 'desc("local change to d0")')
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   476
  1 new obsolescence markers
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   477
  obsoleted 1 changesets
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   478
  $ echo n | hg tracked --auto-remove-includes --config ui.interactive=yes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   479
  comparing with ssh://user@dummy/master
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   480
  searching for changes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   481
  looking for unused includes to remove
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   482
  path:d0
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   483
  path:d2
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   484
  remove these unused includes (yn)? n
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   485
  $ hg tracked --auto-remove-includes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   486
  comparing with ssh://user@dummy/master
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   487
  searching for changes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   488
  looking for unused includes to remove
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   489
  path:d0
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   490
  path:d2
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   491
  remove these unused includes (yn)? y
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   492
  looking for local changes to affected paths
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   493
  moving unwanted changesets to backup
42945
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   494
  saved backup bundle to $TESTTMP/narrow-auto-remove/.hg/strip-backup/*-narrow.hg (glob)
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   495
  deleting data/d0/f.i
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   496
  deleting data/d2/f.i
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   497
  deleting meta/d0/00manifest.i (tree !)
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   498
  deleting meta/d2/00manifest.i (tree !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   499
  deleting unwanted files from working copy
42945
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   500
  $ hg tracked
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   501
  I path:d1
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   502
  $ hg files
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   503
  d1/f
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   504
  $ hg tracked --auto-remove-includes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   505
  comparing with ssh://user@dummy/master
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   506
  searching for changes
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   507
  looking for unused includes to remove
40f78072fda9 narrow: add option for automatically removing unused includes
Martin von Zweigbergk <martinvonz@google.com>
parents: 42930
diff changeset
   508
  found no unused includes
46477
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   509
Test --no-backup
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   510
  $ hg tracked --addinclude d0 --addinclude d2 -q
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   511
  $ hg unbundle .hg/strip-backup/*-narrow.hg -q
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   512
  $ rm .hg/strip-backup/*
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   513
  $ hg tracked --auto-remove-includes --no-backup
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   514
  comparing with ssh://user@dummy/master
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   515
  searching for changes
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   516
  looking for unused includes to remove
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   517
  path:d0
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   518
  path:d2
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   519
  remove these unused includes (yn)? y
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   520
  looking for local changes to affected paths
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   521
  deleting unwanted changesets
46477
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   522
  deleting data/d0/f.i
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   523
  deleting data/d2/f.i
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   524
  deleting meta/d0/00manifest.i (tree !)
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   525
  deleting meta/d2/00manifest.i (tree !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   526
  deleting unwanted files from working copy
46477
3c360ab2688d narrow: add --no-backup option for narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46117
diff changeset
   527
  $ ls .hg/strip-backup/
46605
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   528
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   529
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   530
Test removing include while concurrently modifying file in that path
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   531
  $ hg clone --narrow ssh://user@dummy/master narrow-concurrent-modify -q \
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   532
  > --include d0 --include d1
946a07f08906 tests: demonstrate assertion error when modifying working copy while narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46477
diff changeset
   533
  $ cd narrow-concurrent-modify
46606
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   534
  $ hg --config 'hooks.pretxnopen = echo modified >> d0/f' tracked --removeinclude d0
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   535
  comparing with ssh://user@dummy/master
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   536
  searching for changes
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   537
  looking for local changes to affected paths
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   538
  deleting data/d0/f.i
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   539
  deleting meta/d0/00manifest.i (tree !)
47026
20eba5cef2e0 narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents: 46902
diff changeset
   540
  deleting unwanted files from working copy
46606
ced66295ea90 narrow: remove assertion about working copy being clean
Martin von Zweigbergk <martinvonz@google.com>
parents: 46605
diff changeset
   541
  not deleting possibly dirty file d0/f