tests/test-subrepo-deep-nested-change.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Mon, 18 May 2015 02:53:08 +0900
changeset 25176 665a9deae8dd
parent 25122 755d23a49170
child 25195 472a685a4961
permissions -rw-r--r--
tests: check import cycles in hgext/**.py, too It is important to realize existing cycles in hgext/**.py.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     1
Preparing the subrepository 'sub2'
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     3
  $ hg init sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     4
  $ echo sub2 > sub2/sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     5
  $ hg add -R sub2
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
     6
  adding sub2/sub2 (glob)
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     7
  $ hg commit -R sub2 -m "sub2 import"
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     8
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
     9
Preparing the 'sub1' repo which depends on the subrepo 'sub2'
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    10
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    11
  $ hg init sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    12
  $ echo sub1 > sub1/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    13
  $ echo "sub2 = ../sub2" > sub1/.hgsub
12107
497c78760b37 tests: use regular expression instead of sed in test-subrepo-deep-nested-change
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11913
diff changeset
    14
  $ hg clone sub2 sub1/sub2
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    15
  updating to branch default
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    16
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    17
  $ hg add -R sub1
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    18
  adding sub1/.hgsub (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    19
  adding sub1/sub1 (glob)
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    20
  $ hg commit -R sub1 -m "sub1 import"
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    21
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    22
Preparing the 'main' repo which depends on the subrepo 'sub1'
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    23
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    24
  $ hg init main
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    25
  $ echo main > main/main
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    26
  $ echo "sub1 = ../sub1" > main/.hgsub
12107
497c78760b37 tests: use regular expression instead of sed in test-subrepo-deep-nested-change
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11913
diff changeset
    27
  $ hg clone sub1 main/sub1
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    28
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    29
  cloning subrepo sub2 from $TESTTMP/sub2
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    30
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    31
  $ hg add -R main
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    32
  adding main/.hgsub (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    33
  adding main/main (glob)
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    34
  $ hg commit -R main -m "main import"
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    35
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    36
Cleaning both repositories, just as a clone -U
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    37
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    38
  $ hg up -C -R sub2 null
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    39
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    40
  $ hg up -C -R sub1 null
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    41
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    42
  $ hg up -C -R main null
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    43
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    44
  $ rm -rf main/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    45
  $ rm -rf sub1/sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    46
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    47
Clone main
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    48
24029
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    49
  $ hg --config extensions.largefiles= clone main cloned
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    50
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 12640
diff changeset
    51
  cloning subrepo sub1 from $TESTTMP/sub1
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    52
  cloning subrepo sub1/sub2 from $TESTTMP/sub2 (glob)
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    53
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    54
24029
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    55
Largefiles is NOT enabled in the clone if the source repo doesn't require it
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    56
  $ cat cloned/.hg/hgrc
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    57
  # example repository config (see "hg help config" for more info)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    58
  [paths]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    59
  default = $TESTTMP/main (glob)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    60
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    61
  # path aliases to other clones of this repo in URLs or filesystem paths
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    62
  # (see "hg help config.paths" for more info)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    63
  #
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    64
  # default-push = ssh://jdoe@example.net/hg/jdoes-fork
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    65
  # my-fork      = ssh://jdoe@example.net/hg/jdoes-fork
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    66
  # my-clone     = /home/jdoe/jdoes-clone
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    67
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    68
  [ui]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    69
  # name and email (local to this repository, optional), e.g.
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    70
  # username = Jane Doe <jdoe@example.com>
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
    71
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    72
Checking cloned repo ids
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    73
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    74
  $ printf "cloned " ; hg id -R cloned
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    75
  cloned 7f491f53a367 tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    76
  $ printf "cloned/sub1 " ; hg id -R cloned/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    77
  cloned/sub1 fc3b4ce2696f tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    78
  $ printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    79
  cloned/sub1/sub2 c57a0840e3ba tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    80
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    81
debugsub output for main and sub1
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    82
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    83
  $ hg debugsub -R cloned
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    84
  path sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    85
   source   ../sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    86
   revision fc3b4ce2696f7741438c79207583768f2ce6b0dd
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    87
  $ hg debugsub -R cloned/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    88
  path sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    89
   source   ../sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    90
   revision c57a0840e3badd667ef3c3ef65471609acb2ba3c
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    91
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    92
Modifying deeply nested 'sub2'
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    93
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    94
  $ echo modified > cloned/sub1/sub2/sub2
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14281
diff changeset
    95
  $ hg commit --subrepos -m "deep nested modif should trigger a commit" -R cloned
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    96
  committing subrepository sub1
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15321
diff changeset
    97
  committing subrepository sub1/sub2 (glob)
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    98
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
    99
Checking modified node ids
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
   100
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   101
  $ printf "cloned " ; hg id -R cloned
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   102
  cloned ffe6649062fe tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   103
  $ printf "cloned/sub1 " ; hg id -R cloned/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   104
  cloned/sub1 2ecb03bf44a9 tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   105
  $ printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   106
  cloned/sub1/sub2 53dd3430bcaf tip
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   107
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   108
debugsub output for main and sub1
11110
22f5ad0b5857 subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
   109
11913
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   110
  $ hg debugsub -R cloned
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   111
  path sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   112
   source   ../sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   113
   revision 2ecb03bf44a94e749e8669481dd9069526ce7cb9
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   114
  $ hg debugsub -R cloned/sub1
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   115
  path sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   116
   source   ../sub2
628cdd158ec0 tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents: 11110
diff changeset
   117
   revision 53dd3430bcaf5ab4a7c48262bcad6d441f510487
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   118
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   119
Check that deep archiving works
17346
2944a6d35158 check-code: fix check for trailing whitespace on empty lines
Mads Kiilerich <mads@kiilerich.com>
parents: 17113
diff changeset
   120
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   121
  $ cd cloned
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   122
  $ echo 'test' > sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   123
  $ hg --config extensions.largefiles=! add sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   124
  $ mkdir sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   125
  $ echo 'subfolder' > sub1/sub2/folder/test.txt
23537
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   126
  $ hg ci -ASm "add test.txt"
23686
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   127
  adding sub1/sub2/folder/test.txt
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   128
  committing subrepository sub1
17112
f690402e80fb tests: add '(glob)' for Windows paths in test-subrepo-deep-nested-change.t
Mads Kiilerich <mads@kiilerich.com>
parents: 17108
diff changeset
   129
  committing subrepository sub1/sub2 (glob)
23325
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   130
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   131
.. but first take a detour through some deep removal testing
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   132
23327
bd296bb4b5c8 remove: avoid a bogus warning about no tracked files when removing '.'
Matt Harbison <matt_harbison@yahoo.com>
parents: 23326
diff changeset
   133
  $ hg remove -S -I 're:.*.txt' .
23325
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   134
  removing sub1/sub2/folder/test.txt (glob)
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   135
  removing sub1/sub2/test.txt (glob)
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   136
  $ hg status -S
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   137
  R sub1/sub2/folder/test.txt
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   138
  R sub1/sub2/test.txt
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   139
  $ hg update -Cq
23326
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   140
  $ hg remove -I 're:.*.txt' sub1
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   141
  $ hg status -S
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   142
  $ hg remove sub1/sub2/folder/test.txt
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   143
  $ hg remove sub1/.hgsubstate
24645
b39afa36006a subrepo: precisely identify the missing subrepo spec file
Matt Harbison <matt_harbison@yahoo.com>
parents: 24446
diff changeset
   144
  $ mv sub1/.hgsub sub1/x.hgsub
23326
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   145
  $ hg status -S
24645
b39afa36006a subrepo: precisely identify the missing subrepo spec file
Matt Harbison <matt_harbison@yahoo.com>
parents: 24446
diff changeset
   146
  warning: subrepo spec file 'sub1/.hgsub' not found (glob)
23326
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   147
  R sub1/.hgsubstate
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   148
  R sub1/sub2/folder/test.txt
24645
b39afa36006a subrepo: precisely identify the missing subrepo spec file
Matt Harbison <matt_harbison@yahoo.com>
parents: 24446
diff changeset
   149
  ! sub1/.hgsub
b39afa36006a subrepo: precisely identify the missing subrepo spec file
Matt Harbison <matt_harbison@yahoo.com>
parents: 24446
diff changeset
   150
  ? sub1/x.hgsub
b39afa36006a subrepo: precisely identify the missing subrepo spec file
Matt Harbison <matt_harbison@yahoo.com>
parents: 24446
diff changeset
   151
  $ mv sub1/x.hgsub sub1/.hgsub
23326
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   152
  $ hg update -Cq
23538
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   153
  $ touch sub1/foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   154
  $ hg forget sub1/sub2/folder/test.txt
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   155
  $ rm sub1/sub2/test.txt
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   156
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   157
Test relative path printing + subrepos
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   158
  $ mkdir -p foo/bar
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   159
  $ cd foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   160
  $ touch bar/abc
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   161
  $ hg addremove -S ..
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   162
  adding ../sub1/sub2/folder/test.txt (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   163
  removing ../sub1/sub2/test.txt (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   164
  adding ../sub1/foo (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   165
  adding bar/abc (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   166
  $ cd ..
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   167
  $ hg status -S
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   168
  A foo/bar/abc
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   169
  A sub1/foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   170
  R sub1/sub2/test.txt
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   171
  $ hg update -Cq
23539
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   172
  $ touch sub1/sub2/folder/bar
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   173
  $ hg addremove sub1/sub2
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   174
  adding sub1/sub2/folder/bar (glob)
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   175
  $ hg status -S
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   176
  A sub1/sub2/folder/bar
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   177
  ? foo/bar/abc
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   178
  ? sub1/foo
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   179
  $ hg update -Cq
23540
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   180
  $ hg addremove sub1
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   181
  adding sub1/sub2/folder/bar (glob)
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   182
  adding sub1/foo (glob)
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   183
  $ hg update -Cq
23537
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   184
  $ rm sub1/sub2/folder/test.txt
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   185
  $ rm sub1/sub2/test.txt
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   186
  $ hg ci -ASm "remove test.txt"
23686
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   187
  adding sub1/sub2/folder/bar
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   188
  removing sub1/sub2/folder/test.txt
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   189
  removing sub1/sub2/test.txt
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   190
  adding sub1/foo
23538
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   191
  adding foo/bar/abc
23537
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   192
  committing subrepository sub1
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   193
  committing subrepository sub1/sub2 (glob)
24413
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   194
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   195
  $ hg forget sub1/sub2/sub2
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   196
  $ echo x > sub1/sub2/x.txt
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   197
  $ hg add sub1/sub2/x.txt
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   198
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   199
Files sees uncommitted adds and removes in subrepos
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   200
  $ hg files -S
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   201
  .hgsub
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   202
  .hgsubstate
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   203
  foo/bar/abc (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   204
  main
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   205
  sub1/.hgsub (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   206
  sub1/.hgsubstate (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   207
  sub1/foo (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   208
  sub1/sub1 (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   209
  sub1/sub2/folder/bar (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   210
  sub1/sub2/x.txt (glob)
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   211
25122
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   212
  $ hg files -S "set:eol('dos') or eol('unix') or size('<= 0')"
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   213
  .hgsub
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   214
  .hgsubstate
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   215
  foo/bar/abc (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   216
  main
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   217
  sub1/.hgsub (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   218
  sub1/.hgsubstate (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   219
  sub1/foo (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   220
  sub1/sub1 (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   221
  sub1/sub2/folder/bar (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   222
  sub1/sub2/x.txt (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   223
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   224
  $ hg files -r '.^' -S "set:eol('dos') or eol('unix')"
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   225
  .hgsub
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   226
  .hgsubstate
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   227
  main
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   228
  sub1/.hgsub (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   229
  sub1/.hgsubstate (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   230
  sub1/sub1 (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   231
  sub1/sub2/folder/test.txt (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   232
  sub1/sub2/sub2 (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   233
  sub1/sub2/test.txt (glob)
755d23a49170 match: resolve filesets in subrepos for commands given the '-S' argument
Matt Harbison <matt_harbison@yahoo.com>
parents: 24953
diff changeset
   234
23537
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   235
  $ hg rollback -q
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   236
  $ hg up -Cq
23325
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   237
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   238
  $ hg --config extensions.largefiles=! archive -S ../archive_all
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   239
  $ find ../archive_all | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   240
  ../archive_all
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   241
  ../archive_all/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   242
  ../archive_all/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   243
  ../archive_all/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   244
  ../archive_all/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   245
  ../archive_all/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   246
  ../archive_all/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   247
  ../archive_all/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   248
  ../archive_all/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   249
  ../archive_all/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   250
  ../archive_all/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   251
  ../archive_all/sub1/sub2/folder/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   252
  ../archive_all/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   253
  ../archive_all/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   254
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   255
Check that archive -X works in deep subrepos
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   256
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   257
  $ hg --config extensions.largefiles=! archive -S -X '**test*' ../archive_exclude
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   258
  $ find ../archive_exclude | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   259
  ../archive_exclude
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   260
  ../archive_exclude/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   261
  ../archive_exclude/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   262
  ../archive_exclude/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   263
  ../archive_exclude/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   264
  ../archive_exclude/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   265
  ../archive_exclude/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   266
  ../archive_exclude/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   267
  ../archive_exclude/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   268
  ../archive_exclude/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   269
  ../archive_exclude/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   270
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   271
  $ hg --config extensions.largefiles=! archive -S -I '**test*' ../archive_include
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   272
  $ find ../archive_include | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   273
  ../archive_include
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   274
  ../archive_include/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   275
  ../archive_include/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   276
  ../archive_include/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   277
  ../archive_include/sub1/sub2/folder/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   278
  ../archive_include/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   279
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   280
Check that deep archive works with largefiles (which overrides hgsubrepo impl)
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   281
This also tests the repo.ui regression in 43fb170a23bd, and that lf subrepo
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   282
subrepos are archived properly.
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   283
Note that add --large through a subrepo currently adds the file as a normal file
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   284
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   285
  $ echo "large" > sub1/sub2/large.bin
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   286
  $ hg --config extensions.largefiles= add --large -R sub1/sub2 sub1/sub2/large.bin
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   287
  $ echo "large" > large.bin
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   288
  $ hg --config extensions.largefiles= add --large large.bin
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   289
  $ hg --config extensions.largefiles= ci -S -m "add large files"
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   290
  committing subrepository sub1
17112
f690402e80fb tests: add '(glob)' for Windows paths in test-subrepo-deep-nested-change.t
Mads Kiilerich <mads@kiilerich.com>
parents: 17108
diff changeset
   291
  committing subrepository sub1/sub2 (glob)
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   292
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   293
  $ hg --config extensions.largefiles= archive -S ../archive_lf
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   294
  $ find ../archive_lf | sort
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   295
  ../archive_lf
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   296
  ../archive_lf/.hg_archival.txt
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   297
  ../archive_lf/.hgsub
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   298
  ../archive_lf/.hgsubstate
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   299
  ../archive_lf/large.bin
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   300
  ../archive_lf/main
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   301
  ../archive_lf/sub1
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   302
  ../archive_lf/sub1/.hgsub
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   303
  ../archive_lf/sub1/.hgsubstate
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   304
  ../archive_lf/sub1/sub1
17106
4d0e81dca75f largefiles: fix the directory structure when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 17105
diff changeset
   305
  ../archive_lf/sub1/sub2
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   306
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   307
  ../archive_lf/sub1/sub2/folder/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   308
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   309
  ../archive_lf/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   310
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   311
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   312
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   313
Exclude large files from main and sub-sub repo
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   314
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   315
  $ hg --config extensions.largefiles= archive -S -X '**.bin' ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   316
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   317
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   318
  ../archive_lf/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   319
  ../archive_lf/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   320
  ../archive_lf/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   321
  ../archive_lf/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   322
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   323
  ../archive_lf/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   324
  ../archive_lf/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   325
  ../archive_lf/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   326
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   327
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   328
  ../archive_lf/sub1/sub2/folder/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   329
  ../archive_lf/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   330
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   331
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   332
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   333
Exclude normal files from main and sub-sub repo
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   334
24953
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   335
  $ hg --config extensions.largefiles= archive -S -X '**.txt' -p '.' ../archive_lf.tgz
24924
41cd8171e58f archive: always use portable path component separators with subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 24645
diff changeset
   336
  $ tar -tzf ../archive_lf.tgz | sort
24953
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   337
  .hgsub
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   338
  .hgsubstate
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   339
  large.bin
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   340
  main
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   341
  sub1/.hgsub
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   342
  sub1/.hgsubstate
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   343
  sub1/sub1
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   344
  sub1/sub2/large.bin
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24924
diff changeset
   345
  sub1/sub2/sub2
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   346
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   347
Include normal files from within a largefiles subrepo
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   348
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   349
  $ hg --config extensions.largefiles= archive -S -I '**.txt' ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   350
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   351
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   352
  ../archive_lf/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   353
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   354
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   355
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   356
  ../archive_lf/sub1/sub2/folder/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   357
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   358
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   359
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   360
Include large files from within a largefiles subrepo
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   361
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   362
  $ hg --config extensions.largefiles= archive -S -I '**.bin' ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   363
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   364
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   365
  ../archive_lf/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   366
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   367
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   368
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   369
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   370
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   371
Find an exact largefile match in a largefiles subrepo
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   372
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   373
  $ hg --config extensions.largefiles= archive -S -I 'sub1/sub2/large.bin' ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   374
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   375
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   376
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   377
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   378
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   379
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   380
24029
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   381
The local repo enables largefiles if a largefiles repo is cloned
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   382
  $ hg showconfig extensions
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   383
  abort: repository requires features unknown to this Mercurial: largefiles!
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   384
  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   385
  [255]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   386
  $ hg --config extensions.largefiles= clone -qU . ../lfclone
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   387
  $ cat ../lfclone/.hg/hgrc
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   388
  # example repository config (see "hg help config" for more info)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   389
  [paths]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   390
  default = $TESTTMP/cloned (glob)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   391
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   392
  # path aliases to other clones of this repo in URLs or filesystem paths
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   393
  # (see "hg help config.paths" for more info)
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   394
  #
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   395
  # default-push = ssh://jdoe@example.net/hg/jdoes-fork
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   396
  # my-fork      = ssh://jdoe@example.net/hg/jdoes-fork
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   397
  # my-clone     = /home/jdoe/jdoes-clone
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   398
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   399
  [ui]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   400
  # name and email (local to this repository, optional), e.g.
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   401
  # username = Jane Doe <jdoe@example.com>
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   402
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   403
  [extensions]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   404
  largefiles=
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   405
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   406
Find an exact match to a standin (should archive nothing)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   407
  $ hg --config extensions.largefiles= archive -S -I 'sub/sub2/.hglf/large.bin' ../archive_lf
17113
d7493da233c8 tests: remove GNU quoting in test-subrepo-deep-nested-change.t
Mads Kiilerich <mads@kiilerich.com>
parents: 17112
diff changeset
   408
  $ find ../archive_lf 2> /dev/null | sort
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   409
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   410
  $ cat >> $HGRCPATH <<EOF
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   411
  > [extensions]
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   412
  > largefiles=
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   413
  > [largefiles]
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   414
  > patterns=glob:**.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   415
  > EOF
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   416
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   417
Test forget through a deep subrepo with the largefiles extension, both a
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   418
largefile and a normal file.  Then a largefile that hasn't been committed yet.
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   419
  $ touch sub1/sub2/untracked.txt
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   420
  $ touch sub1/sub2/large.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   421
  $ hg forget sub1/sub2/large.bin sub1/sub2/test.txt sub1/sub2/untracked.txt
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   422
  not removing sub1/sub2/untracked.txt: file is already untracked (glob)
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   423
  [1]
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   424
  $ hg add --large --dry-run -v sub1/sub2/untracked.txt
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   425
  adding sub1/sub2/untracked.txt as a largefile (glob)
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   426
  $ hg add --large -v sub1/sub2/untracked.txt
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   427
  adding sub1/sub2/untracked.txt as a largefile (glob)
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   428
  $ hg add --normal -v sub1/sub2/large.dat
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   429
  adding sub1/sub2/large.dat (glob)
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   430
  $ hg forget -v sub1/sub2/untracked.txt
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   431
  removing sub1/sub2/untracked.txt (glob)
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   432
  $ hg status -S
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   433
  A sub1/sub2/large.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   434
  R sub1/sub2/large.bin
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   435
  R sub1/sub2/test.txt
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   436
  ? foo/bar/abc
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   437
  ? sub1/sub2/untracked.txt
24413
a8595176dd64 subrepo: add basic support to hgsubrepo for the files command
Matt Harbison <matt_harbison@yahoo.com>
parents: 24230
diff changeset
   438
  ? sub1/sub2/x.txt
23923
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   439
  $ hg add sub1/sub2
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   440
  $ hg ci -Sqm 'forget testing'
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   441
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   442
Test issue4330: commit a directory where only normal files have changed
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   443
  $ touch foo/bar/large.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   444
  $ hg add --large foo/bar/large.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   445
  $ hg ci -m 'add foo/bar/large.dat'
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   446
  $ touch a.txt
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   447
  $ touch a.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   448
  $ hg add -v foo/bar/abc a.txt a.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   449
  adding a.dat as a largefile
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   450
  adding a.txt
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   451
  adding foo/bar/abc (glob)
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   452
  $ hg ci -m 'dir commit with only normal file deltas' foo/bar
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   453
  $ hg status
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   454
  A a.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   455
  A a.txt
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   456
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   457
Test a directory commit with a changed largefile and a changed normal file
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   458
  $ echo changed > foo/bar/large.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   459
  $ echo changed > foo/bar/abc
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   460
  $ hg ci -m 'dir commit with normal and lf file deltas' foo
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   461
  $ hg status
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   462
  A a.dat
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   463
  A a.txt
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   464
24230
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   465
  $ hg ci -m "add a.*"
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   466
  $ hg mv a.dat b.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   467
  $ hg mv foo/bar/abc foo/bar/def
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   468
  $ hg status -C
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   469
  A b.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   470
    a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   471
  A foo/bar/def
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   472
    foo/bar/abc
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   473
  R a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   474
  R foo/bar/abc
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   475
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   476
  $ hg ci -m "move large and normal"
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   477
  $ hg status -C --rev '.^' --rev .
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   478
  A b.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   479
    a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   480
  A foo/bar/def
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   481
    foo/bar/abc
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   482
  R a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   483
  R foo/bar/abc
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   484
24446
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   485
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   486
  $ echo foo > main
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   487
  $ hg ci -m "mod parent only"
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   488
  $ hg init sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   489
  $ echo "sub3 = sub3" >> .hgsub
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   490
  $ echo xyz > sub3/a.txt
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   491
  $ hg add sub3/a.txt
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   492
  $ hg ci -Sm "add sub3"
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   493
  committing subrepository sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   494
  $ cat .hgsub | grep -v sub3 > .hgsub1
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   495
  $ mv .hgsub1 .hgsub
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   496
  $ hg ci -m "remove sub3"
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   497
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   498
  $ hg log -r "subrepo()" --style compact
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   499
  0   7f491f53a367   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   500
    main import
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   501
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   502
  1   ffe6649062fe   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   503
    deep nested modif should trigger a commit
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   504
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   505
  2   9bb10eebee29   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   506
    add test.txt
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   507
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   508
  3   7c64f035294f   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   509
    add large files
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   510
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   511
  4   f734a59e2e35   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   512
    forget testing
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   513
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   514
  11   9685a22af5db   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   515
    add sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   516
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   517
  12[tip]   2e0485b475b9   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   518
    remove sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   519
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   520
  $ hg log -r "subrepo('sub3')" --style compact
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   521
  11   9685a22af5db   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   522
    add sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   523
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   524
  12[tip]   2e0485b475b9   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   525
    remove sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   526
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   527
  $ hg log -r "subrepo('bogus')" --style compact
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   528
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   529
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   530
Test .hgsubstate in the R state
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   531
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   532
  $ hg rm .hgsub .hgsubstate
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   533
  $ hg ci -m 'trash subrepo tracking'
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   534
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   535
  $ hg log -r "subrepo('re:sub\d+')" --style compact
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   536
  0   7f491f53a367   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   537
    main import
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   538
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   539
  1   ffe6649062fe   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   540
    deep nested modif should trigger a commit
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   541
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   542
  2   9bb10eebee29   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   543
    add test.txt
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   544
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   545
  3   7c64f035294f   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   546
    add large files
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   547
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   548
  4   f734a59e2e35   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   549
    forget testing
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   550
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   551
  11   9685a22af5db   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   552
    add sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   553
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   554
  12   2e0485b475b9   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   555
    remove sub3
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   556
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   557
  13[tip]   a68b2c361653   1970-01-01 00:00 +0000   test
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   558
    trash subrepo tracking
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   559
  
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   560
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   561
Restore the trashed subrepo tracking
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   562
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   563
  $ hg rollback -q
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   564
  $ hg update -Cq .
582cfcc843c7 revset: add the 'subrepo' symbol
Matt Harbison <matt_harbison@yahoo.com>
parents: 24413
diff changeset
   565
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   566
  $ cd ..