tests/test-treemanifest.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 07 Jan 2022 14:40:21 +0100
changeset 48575 e91aa800ae5b
parent 48503 5e6542143d40
child 48669 df6df5dd838e
permissions -rw-r--r--
rhg: desambiguate status without decompressing filelog if possible When status is unsure based on `stat()` and the dirstate if a file is clean or modified, we need to compare it against the filelog. This comparison can skip looking at contents if the lengths differ. This changeset optimize this further to deduce what we can about the length if the filelog without decompressing it or resolving deltas. Differential Revision: https://phab.mercurial-scm.org/D11965
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     1
Set up repo
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     3
  $ hg --config experimental.treemanifest=True init repo
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     4
  $ cd repo
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     5
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     6
Requirements get set on init
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     7
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
     8
  $ hg debugrequires | grep treemanifest
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     9
  treemanifest
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    10
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    11
Without directories, looks like any other repo
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    12
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    13
  $ echo 0 > a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    14
  $ echo 0 > b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    15
  $ hg ci -Aqm initial
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    16
  $ hg debugdata -m 0
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    17
  a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    18
  b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    19
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    20
Submanifest is stored in separate revlog
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    21
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    22
  $ mkdir dir1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    23
  $ echo 1 > dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    24
  $ echo 1 > dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    25
  $ echo 1 > e
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    26
  $ hg ci -Aqm 'add dir1'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    27
  $ hg debugdata -m 1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    28
  a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    29
  b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
27271
2a31433a59ba manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents: 27251
diff changeset
    30
  dir1\x008b3ffd73f901e83304c83d33132c8e774ceac44et (esc)
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    31
  e\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
    32
  $ hg debugdata --dir dir1 0
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    33
  a\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    34
  b\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    35
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    36
Can add nested directories
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    37
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    38
  $ mkdir dir1/dir1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    39
  $ echo 2 > dir1/dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    40
  $ echo 2 > dir1/dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    41
  $ mkdir dir1/dir2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    42
  $ echo 2 > dir1/dir2/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    43
  $ echo 2 > dir1/dir2/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    44
  $ hg ci -Aqm 'add dir1/dir1'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    45
  $ hg files -r .
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    46
  a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    47
  b
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    48
  dir1/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    49
  dir1/b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    50
  dir1/dir1/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    51
  dir1/dir1/b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    52
  dir1/dir2/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    53
  dir1/dir2/b
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    54
  e
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    55
29713
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    56
The manifest command works
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    57
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    58
  $ hg manifest
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    59
  a
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    60
  b
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    61
  dir1/a
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    62
  dir1/b
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    63
  dir1/dir1/a
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    64
  dir1/dir1/b
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    65
  dir1/dir2/a
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    66
  dir1/dir2/b
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    67
  e
6943dacc3b4c test-treemanifest: ensure manifest command isn't broken
Augie Fackler <augie@google.com>
parents: 29464
diff changeset
    68
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    69
Revision is not created for unchanged directory
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    70
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    71
  $ mkdir dir2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    72
  $ echo 3 > dir2/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    73
  $ hg add dir2
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    74
  adding dir2/a
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
    75
  $ hg debugindex --dir dir1 > before
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    76
  $ hg ci -qm 'add dir2'
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
    77
  $ hg debugindex --dir dir1 > after
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    78
  $ diff before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    79
  $ rm before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    80
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    81
Removing directory does not create an revlog entry
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    82
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    83
  $ hg rm dir1/dir1
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    84
  removing dir1/dir1/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    85
  removing dir1/dir1/b
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
    86
  $ hg debugindex --dir dir1/dir1 > before
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    87
  $ hg ci -qm 'remove dir1/dir1'
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
    88
  $ hg debugindex --dir dir1/dir1 > after
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    89
  $ diff before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    90
  $ rm before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    91
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    92
Check that hg files (calls treemanifest.walk()) works
25222
0de132d5328a treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 25153
diff changeset
    93
without loading all directory revlogs
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    94
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    95
  $ hg co 'desc("add dir2")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    96
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
25222
0de132d5328a treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 25153
diff changeset
    97
  $ mv .hg/store/meta/dir2 .hg/store/meta/dir2-backup
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    98
  $ hg files -r . dir1
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    99
  dir1/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   100
  dir1/b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   101
  dir1/dir1/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   102
  dir1/dir1/b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   103
  dir1/dir2/a
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   104
  dir1/dir2/b
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   105
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   106
Check that status between revisions works (calls treemanifest.matches())
25222
0de132d5328a treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 25153
diff changeset
   107
without loading all directory revlogs
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   108
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   109
  $ hg status --rev 'desc("add dir1")' --rev . dir1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   110
  A dir1/dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   111
  A dir1/dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   112
  A dir1/dir2/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   113
  A dir1/dir2/b
25222
0de132d5328a treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 25153
diff changeset
   114
  $ mv .hg/store/meta/dir2-backup .hg/store/meta/dir2
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   115
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   116
Merge creates 2-parent revision of directory revlog
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   117
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   118
  $ echo 5 > dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   119
  $ hg ci -Aqm 'modify dir1/a'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   120
  $ hg co '.^'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   121
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   122
  $ echo 6 > dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   123
  $ hg ci -Aqm 'modify dir1/b'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   124
  $ hg merge 'desc("modify dir1/a")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   125
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   126
  (branch merge, don't forget to commit)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   127
  $ hg ci -m 'conflict-free merge involving dir1/'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   128
  $ cat dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   129
  5
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   130
  $ cat dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   131
  6
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
   132
  $ hg debugindex --dir dir1
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   133
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   134
       0       1 8b3ffd73f901 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   135
       1       2 68e9d057c5a8 8b3ffd73f901 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   136
       2       4 4698198d2624 68e9d057c5a8 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   137
       3       5 44844058ccce 68e9d057c5a8 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   138
       4       6 bf3d9b744927 68e9d057c5a8 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   139
       5       7 dde7c0af2a03 bf3d9b744927 44844058ccce
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   140
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   141
Merge keeping directory from parent 1 does not create revlog entry. (Note that
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   142
dir1's manifest does change, but only because dir1/a's filelog changes.)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   143
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   144
  $ hg co 'desc("add dir2")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   145
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   146
  $ echo 8 > dir2/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   147
  $ hg ci -m 'modify dir2/a'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   148
  created new head
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   149
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
   150
  $ hg debugindex --dir dir2 > before
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   151
  $ hg merge 'desc("modify dir1/a")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   152
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   153
  (branch merge, don't forget to commit)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   154
  $ hg revert -r 'desc("modify dir2/a")' .
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   155
  reverting dir1/a
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   156
  $ hg ci -m 'merge, keeping parent 1'
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
   157
  $ hg debugindex --dir dir2 > after
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   158
  $ diff before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   159
  $ rm before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   160
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   161
Merge keeping directory from parent 2 does not create revlog entry. (Note that
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   162
dir2's manifest does change, but only because dir2/a's filelog changes.)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   163
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   164
  $ hg co 'desc("modify dir2/a")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   165
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
   166
  $ hg debugindex --dir dir1 > before
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   167
  $ hg merge 'desc("modify dir1/a")'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   168
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   169
  (branch merge, don't forget to commit)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   170
  $ hg revert -r 'desc("modify dir1/a")' .
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   171
  reverting dir2/a
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   172
  $ hg ci -m 'merge, keeping parent 2'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   173
  created new head
25119
49c583ca48c4 treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents: 25091
diff changeset
   174
  $ hg debugindex --dir dir1 > after
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   175
  $ diff before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   176
  $ rm before after
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   177
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   178
Create flat source repo for tests with mixed flat/tree manifests
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   179
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   180
  $ cd ..
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   181
  $ hg init repo-flat
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   182
  $ cd repo-flat
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   183
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   184
Create a few commits with flat manifest
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   185
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   186
  $ echo 0 > a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   187
  $ echo 0 > b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   188
  $ echo 0 > e
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   189
  $ for d in dir1 dir1/dir1 dir1/dir2 dir2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   190
  > do
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   191
  >   mkdir $d
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   192
  >   echo 0 > $d/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   193
  >   echo 0 > $d/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   194
  > done
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   195
  $ hg ci -Aqm initial
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   196
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   197
  $ echo 1 > a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   198
  $ echo 1 > dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   199
  $ echo 1 > dir1/dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   200
  $ hg ci -Aqm 'modify on branch 1'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   201
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   202
  $ hg co 0
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   203
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   204
  $ echo 2 > b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   205
  $ echo 2 > dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   206
  $ echo 2 > dir1/dir1/b
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   207
  $ hg ci -Aqm 'modify on branch 2'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   208
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   209
  $ hg merge 1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   210
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   211
  (branch merge, don't forget to commit)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   212
  $ hg ci -m 'merge of flat manifests to new flat manifest'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   213
27953
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   214
  $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   215
  $ cat hg.pid >> $DAEMON_PIDS
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   216
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   217
Create clone with tree manifests enabled
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   218
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   219
  $ cd ..
27953
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   220
  $ hg clone --config experimental.treemanifest=1 \
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   221
  >   http://localhost:$HGPORT repo-mixed -r 1
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   222
  adding changesets
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   223
  adding manifests
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   224
  adding file changes
27953
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   225
  added 2 changesets with 14 changes to 11 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   226
  new changesets 5b02a3e8db7e:581ef6037d8b
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   227
  updating to branch default
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   228
  11 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   229
  $ cd repo-mixed
27952
c5ffbd4c033b tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents: 27946
diff changeset
   230
  $ test -d .hg/store/meta
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   231
  [1]
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   232
  $ hg debugrequires | grep treemanifest
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   233
  treemanifest
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   234
27953
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   235
Should be possible to push updates from flat to tree manifest repo
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   236
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   237
  $ hg -R ../repo-flat push ssh://user@dummy/repo-mixed
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   238
  pushing to ssh://user@dummy/repo-mixed
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   239
  searching for changes
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   240
  remote: adding changesets
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   241
  remote: adding manifests
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   242
  remote: adding file changes
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   243
  remote: added 2 changesets with 3 changes to 3 files
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   244
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   245
Commit should store revlog per directory
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   246
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   247
  $ hg co 1
27953
88609cfa3745 changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27952
diff changeset
   248
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   249
  $ echo 3 > a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   250
  $ echo 3 > dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   251
  $ echo 3 > dir1/dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   252
  $ hg ci -m 'first tree'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   253
  created new head
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   254
  $ find .hg/store/meta | sort
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   255
  .hg/store/meta
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   256
  .hg/store/meta/dir1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   257
  .hg/store/meta/dir1/00manifest.i
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   258
  .hg/store/meta/dir1/dir1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   259
  .hg/store/meta/dir1/dir1/00manifest.i
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   260
  .hg/store/meta/dir1/dir2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   261
  .hg/store/meta/dir1/dir2/00manifest.i
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   262
  .hg/store/meta/dir2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   263
  .hg/store/meta/dir2/00manifest.i
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   264
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   265
Merge of two trees
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   266
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   267
  $ hg co 2
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   268
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   269
  $ hg merge 1
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   270
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   271
  (branch merge, don't forget to commit)
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   272
  $ hg ci -m 'merge of flat manifests to new tree manifest'
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   273
  created new head
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   274
  $ hg diff -r 3
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   275
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   276
Parent of tree root manifest should be flat manifest, and two for merge
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   277
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   278
  $ hg debugindex -m
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   279
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   280
       0       0 40536115ed9e 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   281
       1       1 f3376063c255 40536115ed9e 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   282
       2       2 5d9b9da231a2 40536115ed9e 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   283
       3       3 d17d663cbd8a 5d9b9da231a2 f3376063c255
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   284
       4       4 51e32a8c60ee f3376063c255 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   285
       5       5 cc5baa78b230 5d9b9da231a2 f3376063c255
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   286
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   287
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   288
Status across flat/tree boundary should work
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   289
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   290
  $ hg status --rev '.^' --rev .
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   291
  M a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   292
  M dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   293
  M dir1/dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   294
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   295
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   296
Turning off treemanifest config has no effect
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   297
27952
c5ffbd4c033b tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents: 27946
diff changeset
   298
  $ hg debugindex --dir dir1
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   299
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   300
       0       4 064927a0648a 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   301
       1       5 25ecb8cb8618 000000000000 000000000000
25091
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   302
  $ echo 2 > dir1/a
b5052fc73300 treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
   303
  $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a'
27952
c5ffbd4c033b tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents: 27946
diff changeset
   304
  $ hg debugindex --dir dir1
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   305
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   306
       0       4 064927a0648a 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   307
       1       5 25ecb8cb8618 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   308
       2       6 5b16163a30c6 25ecb8cb8618 000000000000
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   309
27930
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   310
Stripping and recovering changes should work
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   311
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   312
  $ hg st --change tip
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   313
  M dir1/a
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   314
  $ hg --config extensions.strip= strip tip
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   315
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   316
  saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/51cfd7b1e13b-78a2f3ed-backup.hg
29464
87c184c9bfef treemanifests: actually strip directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 29371
diff changeset
   317
  $ hg debugindex --dir dir1
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   318
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   319
       0       4 064927a0648a 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   320
       1       5 25ecb8cb8618 000000000000 000000000000
37346
45a4799174a1 tests: disallow using simple store repo with bundlerepo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37336
diff changeset
   321
45a4799174a1 tests: disallow using simple store repo with bundlerepo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37336
diff changeset
   322
#if repobundlerepo
29728
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   323
  $ hg incoming .hg/strip-backup/*
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   324
  comparing with .hg/strip-backup/*-backup.hg (glob)
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   325
  searching for changes
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   326
  changeset:   6:51cfd7b1e13b
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   327
  tag:         tip
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   328
  user:        test
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   329
  date:        Thu Jan 01 00:00:00 1970 +0000
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   330
  summary:     modify dir1/a
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   331
  
37346
45a4799174a1 tests: disallow using simple store repo with bundlerepo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37336
diff changeset
   332
#endif
45a4799174a1 tests: disallow using simple store repo with bundlerepo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37336
diff changeset
   333
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
   334
  $ hg unbundle .hg/strip-backup/*
29728
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   335
  adding changesets
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   336
  adding manifests
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   337
  adding file changes
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   338
  added 1 changesets with 1 changes to 1 files
39497
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 37891
diff changeset
   339
  new changesets 51cfd7b1e13b (1 drafts)
29728
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   340
  (run 'hg update' to get a working copy)
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   341
  $ hg --config extensions.strip= strip tip
55d341877316 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com>
parents: 29713
diff changeset
   342
  saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/*-backup.hg (glob)
27930
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   343
  $ hg unbundle -q .hg/strip-backup/*
29464
87c184c9bfef treemanifests: actually strip directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 29371
diff changeset
   344
  $ hg debugindex --dir dir1
37285
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   345
     rev linkrev nodeid       p1           p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   346
       0       4 064927a0648a 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   347
       1       5 25ecb8cb8618 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37284
diff changeset
   348
       2       6 5b16163a30c6 25ecb8cb8618 000000000000
27930
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   349
  $ hg st --change tip
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   350
  M dir1/a
7cbb3a01fa38 repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27752
diff changeset
   351
27931
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   352
Shelving and unshelving should work
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   353
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   354
  $ echo foo >> dir1/a
42548
3de4f17f4824 shelve: move shelve extension to core
Navaneeth Suresh <navaneeths1998@gmail.com>
parents: 40937
diff changeset
   355
  $ hg shelve
27931
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   356
  shelved as default
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   357
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42548
3de4f17f4824 shelve: move shelve extension to core
Navaneeth Suresh <navaneeths1998@gmail.com>
parents: 40937
diff changeset
   358
  $ hg unshelve
27931
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   359
  unshelving change 'default'
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   360
  $ hg diff --nodates
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   361
  diff -r 708a273da119 dir1/a
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   362
  --- a/dir1/a
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   363
  +++ b/dir1/a
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   364
  @@ -1,1 +1,2 @@
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   365
   1
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   366
  +foo
1289a122cf3f shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 27930
diff changeset
   367
27938
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   368
Pushing from treemanifest repo to an empty repo makes that a treemanifest repo
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   369
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   370
  $ cd ..
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   371
  $ hg init empty-repo
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   372
  $ cat << EOF >> empty-repo/.hg/hgrc
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   373
  > [experimental]
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   374
  > changegroup3=yes
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   375
  > EOF
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   376
  $ hg debugrequires -R empty-repo | grep treemanifest
27938
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   377
  [1]
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   378
  $ hg push -R repo -r 0 empty-repo
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   379
  pushing to empty-repo
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   380
  searching for changes
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   381
  adding changesets
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   382
  adding manifests
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   383
  adding file changes
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   384
  added 1 changesets with 2 changes to 2 files
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   385
  $ hg debugrequires -R empty-repo | grep treemanifest
27938
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   386
  treemanifest
cabac7dfc621 exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents: 27931
diff changeset
   387
27946
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   388
Pushing to an empty repo works
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   389
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   390
  $ hg --config experimental.treemanifest=1 init clone
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   391
  $ hg debugrequires -R clone | grep treemanifest
27946
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   392
  treemanifest
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   393
  $ hg push -R repo clone
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   394
  pushing to clone
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   395
  searching for changes
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   396
  adding changesets
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   397
  adding manifests
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   398
  adding file changes
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   399
  added 11 changesets with 15 changes to 10 files (+3 heads)
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   400
  $ hg debugrequires -R clone | grep treemanifest
27946
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   401
  treemanifest
28240
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   402
  $ hg -R clone verify
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   403
  checking changesets
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   404
  checking manifests
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   405
  checking directory manifests
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   406
  crosschecking files in changesets and manifests
1ac8ce137377 changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents: 28214
diff changeset
   407
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   408
  checked 11 changesets with 15 changes to 10 files
27946
ca8d2b73155d changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents: 27938
diff changeset
   409
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   410
Create deeper repo with tree manifests.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   411
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   412
  $ hg --config experimental.treemanifest=True init deeprepo
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   413
  $ cd deeprepo
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   414
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   415
  $ mkdir .A
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   416
  $ mkdir b
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   417
  $ mkdir b/bar
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   418
  $ mkdir b/bar/orange
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   419
  $ mkdir b/bar/orange/fly
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   420
  $ mkdir b/foo
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   421
  $ mkdir b/foo/apple
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   422
  $ mkdir b/foo/apple/bees
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   423
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   424
  $ touch .A/one.txt
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   425
  $ touch .A/two.txt
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   426
  $ touch b/bar/fruits.txt
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   427
  $ touch b/bar/orange/fly/gnat.py
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   428
  $ touch b/bar/orange/fly/housefly.txt
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   429
  $ touch b/foo/apple/bees/flower.py
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   430
  $ touch c.txt
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   431
  $ touch d.py
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   432
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   433
  $ hg ci -Aqm 'initial'
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   434
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   435
  $ echo >> .A/one.txt
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   436
  $ echo >> .A/two.txt
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   437
  $ echo >> b/bar/fruits.txt
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   438
  $ echo >> b/bar/orange/fly/gnat.py
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   439
  $ echo >> b/bar/orange/fly/housefly.txt
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   440
  $ echo >> b/foo/apple/bees/flower.py
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   441
  $ echo >> c.txt
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   442
  $ echo >> d.py
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   443
  $ hg ci -Aqm 'second'
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   444
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   445
We'll see that visitdir works by removing some treemanifest revlogs and running
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   446
the files command with various parameters.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   447
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   448
Test files from the root.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   449
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   450
  $ hg files -r .
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   451
  .A/one.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   452
  .A/two.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   453
  b/bar/fruits.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   454
  b/bar/orange/fly/gnat.py
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   455
  b/bar/orange/fly/housefly.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   456
  b/foo/apple/bees/flower.py
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   457
  c.txt
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   458
  d.py
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   459
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   460
Excludes with a glob should not exclude everything from the glob's root
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   461
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   462
  $ hg files -r . -X 'b/fo?' b
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   463
  b/bar/fruits.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   464
  b/bar/orange/fly/gnat.py
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   465
  b/bar/orange/fly/housefly.txt
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   466
  $ cp -R .hg/store .hg/store-copy
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   467
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   468
Test files for a subdirectory.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   469
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   470
#if reporevlogstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   471
  $ rm -r .hg/store/meta/~2e_a
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   472
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   473
#if reposimplestore
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   474
  $ rm -r .hg/store/meta/._a
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   475
#endif
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   476
  $ hg files -r . b
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   477
  b/bar/fruits.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   478
  b/bar/orange/fly/gnat.py
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   479
  b/bar/orange/fly/housefly.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   480
  b/foo/apple/bees/flower.py
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   481
  $ hg diff -r '.^' -r . --stat b
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   482
   b/bar/fruits.txt              |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   483
   b/bar/orange/fly/gnat.py      |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   484
   b/bar/orange/fly/housefly.txt |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   485
   b/foo/apple/bees/flower.py    |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   486
   4 files changed, 4 insertions(+), 0 deletions(-)
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   487
  $ cp -R .hg/store-copy/. .hg/store
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   488
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   489
Test files with just includes and excludes.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   490
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   491
#if reporevlogstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   492
  $ rm -r .hg/store/meta/~2e_a
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   493
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   494
#if reposimplestore
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   495
  $ rm -r .hg/store/meta/._a
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   496
#endif
28005
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   497
  $ rm -r .hg/store/meta/b/bar/orange/fly
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   498
  $ rm -r .hg/store/meta/b/foo/apple/bees
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   499
  $ hg files -r . -I path:b/bar -X path:b/bar/orange/fly -I path:b/foo -X path:b/foo/apple/bees
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   500
  b/bar/fruits.txt
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   501
  $ hg diff -r '.^' -r . --stat -I path:b/bar -X path:b/bar/orange/fly -I path:b/foo -X path:b/foo/apple/bees
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   502
   b/bar/fruits.txt |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   503
   1 files changed, 1 insertions(+), 0 deletions(-)
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   504
  $ cp -R .hg/store-copy/. .hg/store
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   505
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   506
Test files for a subdirectory, excluding a directory within it.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   507
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   508
#if reporevlogstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   509
  $ rm -r .hg/store/meta/~2e_a
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   510
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   511
#if reposimplestore
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   512
  $ rm -r .hg/store/meta/._a
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   513
#endif
28005
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   514
  $ rm -r .hg/store/meta/b/foo
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   515
  $ hg files -r . -X path:b/foo b
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   516
  b/bar/fruits.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   517
  b/bar/orange/fly/gnat.py
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   518
  b/bar/orange/fly/housefly.txt
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   519
  $ hg diff -r '.^' -r . --stat -X path:b/foo b
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   520
   b/bar/fruits.txt              |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   521
   b/bar/orange/fly/gnat.py      |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   522
   b/bar/orange/fly/housefly.txt |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   523
   3 files changed, 3 insertions(+), 0 deletions(-)
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   524
  $ cp -R .hg/store-copy/. .hg/store
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   525
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   526
Test files for a sub directory, including only a directory within it, and
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   527
including an unrelated directory.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   528
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   529
#if reporevlogstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   530
  $ rm -r .hg/store/meta/~2e_a
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   531
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   532
#if reposimplestore
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   533
  $ rm -r .hg/store/meta/._a
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   534
#endif
28005
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   535
  $ rm -r .hg/store/meta/b/foo
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   536
  $ hg files -r . -I path:b/bar/orange -I path:a b
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   537
  b/bar/orange/fly/gnat.py
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   538
  b/bar/orange/fly/housefly.txt
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   539
  $ hg diff -r '.^' -r . --stat -I path:b/bar/orange -I path:a b
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   540
   b/bar/orange/fly/gnat.py      |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   541
   b/bar/orange/fly/housefly.txt |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   542
   2 files changed, 2 insertions(+), 0 deletions(-)
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   543
  $ cp -R .hg/store-copy/. .hg/store
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   544
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   545
Test files for a pattern, including a directory, and excluding a directory
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   546
within that.
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   547
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   548
#if reporevlogstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   549
  $ rm -r .hg/store/meta/~2e_a
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   550
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   551
#if reposimplestore
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   552
  $ rm -r .hg/store/meta/._a
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   553
#endif
28005
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   554
  $ rm -r .hg/store/meta/b/foo
ed94b24a3bb2 tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents: 27953
diff changeset
   555
  $ rm -r .hg/store/meta/b/bar/orange
25362
20ad936ac5d2 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents: 25299
diff changeset
   556
  $ hg files -r . glob:**.txt -I path:b/bar -X path:b/bar/orange
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   557
  b/bar/fruits.txt
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   558
  $ hg diff -r '.^' -r . --stat glob:**.txt -I path:b/bar -X path:b/bar/orange
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   559
   b/bar/fruits.txt |  1 +
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   560
   1 files changed, 1 insertions(+), 0 deletions(-)
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   561
  $ cp -R .hg/store-copy/. .hg/store
25231
8545bd381504 match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents: 25222
diff changeset
   562
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   563
Add some more changes to the deep repo
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   564
  $ echo narf >> b/bar/fruits.txt
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   565
  $ hg ci -m narf
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   566
  $ echo troz >> b/bar/orange/fly/gnat.py
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   567
  $ hg ci -m troz
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   568
28031
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   569
Verify works
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   570
  $ hg verify
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   571
  checking changesets
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   572
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   573
  checking directory manifests
28031
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   574
  crosschecking files in changesets and manifests
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   575
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   576
  checked 4 changesets with 18 changes to 8 files
28031
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   577
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37410
diff changeset
   578
#if repofncache
28031
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   579
Dirlogs are included in fncache
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   580
  $ grep meta/.A/00manifest.i .hg/store/fncache
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   581
  meta/.A/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   582
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   583
Rebuilt fncache includes dirlogs
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   584
  $ rm .hg/store/fncache
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   585
  $ hg debugrebuildfncache
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   586
  adding data/.A/one.txt.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   587
  adding data/.A/two.txt.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   588
  adding data/b/bar/fruits.txt.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   589
  adding data/b/bar/orange/fly/gnat.py.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   590
  adding data/b/bar/orange/fly/housefly.txt.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   591
  adding data/b/foo/apple/bees/flower.py.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   592
  adding data/c.txt.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   593
  adding data/d.py.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   594
  adding meta/.A/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   595
  adding meta/b/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   596
  adding meta/b/bar/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   597
  adding meta/b/bar/orange/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   598
  adding meta/b/bar/orange/fly/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   599
  adding meta/b/foo/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   600
  adding meta/b/foo/apple/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   601
  adding meta/b/foo/apple/bees/00manifest.i
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   602
  16 items added, 0 removed from fncache
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37410
diff changeset
   603
#endif
28031
6f248ba85309 treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents: 28007
diff changeset
   604
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   605
Finish first server
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   606
  $ killdaemons.py
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   607
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   608
Back up the recently added revlogs
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   609
  $ cp -R .hg/store .hg/store-newcopy
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   610
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   611
Verify reports missing dirlog
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   612
  $ rm .hg/store/meta/b/00manifest.*
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   613
  $ hg verify
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   614
  checking changesets
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   615
  checking manifests
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   616
  checking directory manifests
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   617
   0: empty or missing b/
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   618
   b/@0: parent-directory manifest refers to unknown revision 67688a370455
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   619
   b/@1: parent-directory manifest refers to unknown revision f065da70369e
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   620
   b/@2: parent-directory manifest refers to unknown revision ac0d30948e0b
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   621
   b/@3: parent-directory manifest refers to unknown revision 367152e6af28
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   622
  warning: orphan data file 'meta/b/bar/00manifest.i' (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   623
  warning: orphan data file 'meta/b/bar/orange/00manifest.i' (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   624
  warning: orphan data file 'meta/b/bar/orange/fly/00manifest.i' (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   625
  warning: orphan data file 'meta/b/foo/00manifest.i' (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   626
  warning: orphan data file 'meta/b/foo/apple/00manifest.i' (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   627
  warning: orphan data file 'meta/b/foo/apple/bees/00manifest.i' (reporevlogstore !)
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   628
  crosschecking files in changesets and manifests
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   629
   b/bar/fruits.txt@0: in changeset but not in manifest
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   630
   b/bar/orange/fly/gnat.py@0: in changeset but not in manifest
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   631
   b/bar/orange/fly/housefly.txt@0: in changeset but not in manifest
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   632
   b/foo/apple/bees/flower.py@0: in changeset but not in manifest
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   633
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   634
  checked 4 changesets with 18 changes to 8 files
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   635
  6 warnings encountered! (reporevlogstore !)
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   636
  9 integrity errors encountered!
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   637
  (first damaged changeset appears to be 0)
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   638
  [1]
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   639
  $ cp -R .hg/store-newcopy/. .hg/store
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   640
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   641
Verify reports missing dirlog entry
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   642
  $ mv -f .hg/store-copy/meta/b/00manifest.* .hg/store/meta/b/
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   643
  $ hg verify
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   644
  checking changesets
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   645
  checking manifests
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   646
  checking directory manifests
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   647
   b/@2: parent-directory manifest refers to unknown revision ac0d30948e0b
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   648
   b/@3: parent-directory manifest refers to unknown revision 367152e6af28
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   649
   b/bar/@?: rev 2 points to unexpected changeset 2
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   650
   b/bar/@?: 44d7e1146e0d not in parent-directory manifest
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   651
   b/bar/@?: rev 3 points to unexpected changeset 3
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   652
   b/bar/@?: 70b10c6b17b7 not in parent-directory manifest
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   653
   b/bar/orange/@?: rev 2 points to unexpected changeset 3
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   654
   (expected None)
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   655
   b/bar/orange/fly/@?: rev 2 points to unexpected changeset 3
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   656
   (expected None)
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   657
  crosschecking files in changesets and manifests
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   658
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   659
  checked 4 changesets with 18 changes to 8 files
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   660
  2 warnings encountered!
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   661
  8 integrity errors encountered!
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   662
  (first damaged changeset appears to be 2)
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   663
  [1]
30562
c059286a0f9c tests: replace "cp -r" with "cp -R"
Jun Wu <quark@fb.com>
parents: 29728
diff changeset
   664
  $ cp -R .hg/store-newcopy/. .hg/store
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   665
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   666
Test cloning a treemanifest repo over http.
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   667
  $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   668
  $ cat hg.pid >> $DAEMON_PIDS
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   669
  $ cd ..
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   670
We can clone even with the knob turned off and we'll get a treemanifest repo.
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   671
  $ hg clone --config experimental.treemanifest=False \
27752
29cfc474c5fd changegroup3: introduce experimental.changegroup3 boolean config
Martin von Zweigbergk <martinvonz@google.com>
parents: 27432
diff changeset
   672
  >   --config experimental.changegroup3=True \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   673
  >   http://localhost:$HGPORT deepclone
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   674
  requesting all changes
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   675
  adding changesets
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   676
  adding manifests
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   677
  adding file changes
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   678
  added 4 changesets with 18 changes to 8 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   679
  new changesets 775704be6f52:523e5c631710
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   680
  updating to branch default
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   681
  8 files updated, 0 files merged, 0 files removed, 0 files unresolved
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   682
No server errors.
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   683
  $ cat deeprepo/errors.log
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   684
requires got updated to include treemanifest
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   685
  $ hg debugrequires -R deepclone | grep treemanifest
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   686
  treemanifest
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   687
Tree manifest revlogs exist.
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   688
  $ find deepclone/.hg/store/meta | sort
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   689
  deepclone/.hg/store/meta
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   690
  deepclone/.hg/store/meta/._a (reposimplestore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   691
  deepclone/.hg/store/meta/._a/00manifest.i (reposimplestore !)
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   692
  deepclone/.hg/store/meta/b
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   693
  deepclone/.hg/store/meta/b/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   694
  deepclone/.hg/store/meta/b/bar
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   695
  deepclone/.hg/store/meta/b/bar/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   696
  deepclone/.hg/store/meta/b/bar/orange
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   697
  deepclone/.hg/store/meta/b/bar/orange/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   698
  deepclone/.hg/store/meta/b/bar/orange/fly
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   699
  deepclone/.hg/store/meta/b/bar/orange/fly/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   700
  deepclone/.hg/store/meta/b/foo
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   701
  deepclone/.hg/store/meta/b/foo/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   702
  deepclone/.hg/store/meta/b/foo/apple
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   703
  deepclone/.hg/store/meta/b/foo/apple/00manifest.i
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   704
  deepclone/.hg/store/meta/b/foo/apple/bees
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   705
  deepclone/.hg/store/meta/b/foo/apple/bees/00manifest.i
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   706
  deepclone/.hg/store/meta/~2e_a (reporevlogstore !)
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   707
  deepclone/.hg/store/meta/~2e_a/00manifest.i (reporevlogstore !)
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   708
Verify passes.
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   709
  $ cd deepclone
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   710
  $ hg verify
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   711
  checking changesets
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   712
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   713
  checking directory manifests
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   714
  crosschecking files in changesets and manifests
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   715
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   716
  checked 4 changesets with 18 changes to 8 files
27432
77d25b913f80 changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents: 27271
diff changeset
   717
  $ cd ..
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   718
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   719
#if reporevlogstore
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   720
Create clones using old repo formats to use in later tests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   721
  $ hg clone --config format.usestore=False \
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   722
  >   --config experimental.changegroup3=True \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   723
  >   http://localhost:$HGPORT deeprepo-basicstore
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   724
  requesting all changes
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   725
  adding changesets
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   726
  adding manifests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   727
  adding file changes
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   728
  added 4 changesets with 18 changes to 8 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   729
  new changesets 775704be6f52:523e5c631710
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   730
  updating to branch default
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   731
  8 files updated, 0 files merged, 0 files removed, 0 files unresolved
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   732
  $ cd deeprepo-basicstore
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   733
  $ hg debugrequires | grep store
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   734
  [1]
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   735
  $ hg serve -p $HGPORT1 -d --pid-file=hg.pid --errorlog=errors.log
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   736
  $ cat hg.pid >> $DAEMON_PIDS
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   737
  $ cd ..
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   738
  $ hg clone --config format.usefncache=False \
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   739
  >   --config experimental.changegroup3=True \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   740
  >   http://localhost:$HGPORT deeprepo-encodedstore
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   741
  requesting all changes
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   742
  adding changesets
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   743
  adding manifests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   744
  adding file changes
31272
1871a1ee64ed treemanifest: add tests covering hg diff of partial trees
Durham Goode <durham@fb.com>
parents: 30562
diff changeset
   745
  added 4 changesets with 18 changes to 8 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   746
  new changesets 775704be6f52:523e5c631710
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   747
  updating to branch default
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   748
  8 files updated, 0 files merged, 0 files removed, 0 files unresolved
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   749
  $ cd deeprepo-encodedstore
48503
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47952
diff changeset
   750
  $ hg debugrequires | grep fncache
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   751
  [1]
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   752
  $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --errorlog=errors.log
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   753
  $ cat hg.pid >> $DAEMON_PIDS
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   754
  $ cd ..
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   755
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   756
Local clone with basicstore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   757
  $ hg clone -U deeprepo-basicstore local-clone-basicstore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   758
  $ hg -R local-clone-basicstore verify
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   759
  checking changesets
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   760
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   761
  checking directory manifests
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   762
  crosschecking files in changesets and manifests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   763
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   764
  checked 4 changesets with 18 changes to 8 files
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   765
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   766
Local clone with encodedstore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   767
  $ hg clone -U deeprepo-encodedstore local-clone-encodedstore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   768
  $ hg -R local-clone-encodedstore verify
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   769
  checking changesets
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   770
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   771
  checking directory manifests
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   772
  crosschecking files in changesets and manifests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   773
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   774
  checked 4 changesets with 18 changes to 8 files
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   775
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   776
Local clone with fncachestore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   777
  $ hg clone -U deeprepo local-clone-fncachestore
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   778
  $ hg -R local-clone-fncachestore verify
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   779
  checking changesets
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   780
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   781
  checking directory manifests
28006
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   782
  crosschecking files in changesets and manifests
bb45190a54b7 treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28005
diff changeset
   783
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   784
  checked 4 changesets with 18 changes to 8 files
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   785
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   786
Stream clone with basicstore
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34102
diff changeset
   787
  $ hg clone --config experimental.changegroup3=True --stream -U \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   788
  >   http://localhost:$HGPORT1 stream-clone-basicstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   789
  streaming all changes
47043
8be95673eb8a cache: avoid warming the fnodetags cache after clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
   790
  28 files to transfer, * of data (glob)
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   791
  transferred * in * seconds (*) (glob)
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   792
  $ hg -R stream-clone-basicstore verify
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   793
  checking changesets
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   794
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   795
  checking directory manifests
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   796
  crosschecking files in changesets and manifests
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   797
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   798
  checked 4 changesets with 18 changes to 8 files
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   799
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   800
Stream clone with encodedstore
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34102
diff changeset
   801
  $ hg clone --config experimental.changegroup3=True --stream -U \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   802
  >   http://localhost:$HGPORT2 stream-clone-encodedstore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   803
  streaming all changes
47043
8be95673eb8a cache: avoid warming the fnodetags cache after clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
   804
  28 files to transfer, * of data (glob)
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   805
  transferred * in * seconds (*) (glob)
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   806
  $ hg -R stream-clone-encodedstore verify
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   807
  checking changesets
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   808
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   809
  checking directory manifests
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   810
  crosschecking files in changesets and manifests
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   811
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   812
  checked 4 changesets with 18 changes to 8 files
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   813
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   814
Stream clone with fncachestore
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34102
diff changeset
   815
  $ hg clone --config experimental.changegroup3=True --stream -U \
28168
1a943a3a78ea tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents: 28063
diff changeset
   816
  >   http://localhost:$HGPORT stream-clone-fncachestore
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   817
  streaming all changes
39738
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39723
diff changeset
   818
  22 files to transfer, * of data (glob)
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   819
  transferred * in * seconds (*) (glob)
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   820
  $ hg -R stream-clone-fncachestore verify
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   821
  checking changesets
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   822
  checking manifests
28203
7297e9e13a8a verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents: 28168
diff changeset
   823
  checking directory manifests
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   824
  crosschecking files in changesets and manifests
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   825
  checking files
39506
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39497
diff changeset
   826
  checked 4 changesets with 18 changes to 8 files
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   827
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   828
Packed bundle
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   829
  $ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46314
diff changeset
   830
  writing 5330 bytes for 18 files (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46314
diff changeset
   831
  writing 5400 bytes for 18 files (zstd !)
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   832
  bundle requirements: generaldelta, revlogv1, sparserevlog, treemanifest (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   833
  bundle requirements: generaldelta, persistent-nodemap, revlogv1, sparserevlog, treemanifest (rust !)
28007
fb92927f9775 treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents: 28006
diff changeset
   834
  $ hg debugbundle --spec repo-packed.hg
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   835
  none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog%2Ctreemanifest (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   836
  none-packed1;requirements%3Dgeneraldelta%2Cpersistent-nodemap%2Crevlogv1%2Csparserevlog%2Ctreemanifest (rust !)
28669
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   837
37432
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   838
#endif
28ee8b28b213 tests: conditionalize test-treemanifest.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37415
diff changeset
   839
28669
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   840
Bundle with changegroup2 is not supported
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   841
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   842
  $ hg -R deeprepo bundle --all -t v2 deeprepo.bundle
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   843
  abort: repository does not support bundle version 02
c4b727795d6a bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents: 28335
diff changeset
   844
  [255]
29371
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   845
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   846
Pull does not include changegroup for manifest the client already has from
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   847
other branch
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   848
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   849
  $ mkdir grafted-dir-repo
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   850
  $ cd grafted-dir-repo
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   851
  $ hg --config experimental.treemanifest=1 init
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   852
  $ mkdir dir
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   853
  $ echo a > dir/file
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   854
  $ echo a > file
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   855
  $ hg ci -Am initial
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   856
  adding dir/file
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   857
  adding file
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   858
  $ echo b > dir/file
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   859
  $ hg ci -m updated
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   860
  $ hg co '.^'
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   861
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   862
  $ hg revert -r tip dir/
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   863
  reverting dir/file
29371
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   864
  $ echo b > file # to make sure root manifest is sent
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   865
  $ hg ci -m grafted
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   866
  created new head
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   867
  $ cd ..
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   868
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   869
  $ hg --config experimental.treemanifest=1 clone --pull -r 1 \
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   870
  >   grafted-dir-repo grafted-dir-repo-clone
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   871
  adding changesets
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   872
  adding manifests
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   873
  adding file changes
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   874
  added 2 changesets with 3 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   875
  new changesets d84f4c419457:09ab742f3b0f
29371
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   876
  updating to branch default
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   877
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   878
  $ cd grafted-dir-repo-clone
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   879
  $ hg pull -r 2
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   880
  pulling from $TESTTMP/grafted-dir-repo
29371
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   881
  searching for changes
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   882
  adding changesets
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   883
  adding manifests
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   884
  adding file changes
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   885
  added 1 changesets with 1 changes to 1 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34394
diff changeset
   886
  new changesets 73699489fb7c
29371
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   887
  (run 'hg heads' to see heads, 'hg merge' to merge)
1b699c7eb2b7 changegroup: don't send empty subdirectory manifest groups
Martin von Zweigbergk <martinvonz@google.com>
parents: 28669
diff changeset
   888
31303
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   889
Committing a empty commit does not duplicate root treemanifest
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   890
  $ echo z >> z
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   891
  $ hg commit -Aqm 'pre-empty commit'
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   892
  $ hg rm z
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   893
  $ hg commit --amend -m 'empty commit'
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   894
  saved backup bundle to $TESTTMP/grafted-dir-repo-clone/.hg/strip-backup/cb99d5717cea-9e3b6b02-amend.hg
31303
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   895
  $ hg log -r 'tip + tip^' -T '{manifest}\n'
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   896
  1:678d3574b88c
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   897
  1:678d3574b88c
c134a33b1d73 treemanifest: make node reuse match flat manifest behavior
Durham Goode <durham@fb.com>
parents: 31272
diff changeset
   898
  $ hg --config extensions.strip= strip -r . -q