tests/test-subrepo-deep-nested-change.t
author Laurent Charignon <lcharignon@fb.com>
Mon, 09 Mar 2015 13:14:31 -0700
changeset 24264 c4205452f1b7
parent 24230 23438bceba04
child 24413 a8595176dd64
permissions -rw-r--r--
record: move scanpatch from record to patch Part of a series of patches to move record from hgext to core
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
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   144
  $ hg status -S
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   145
  R sub1/.hgsubstate
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   146
  R sub1/sub2/folder/test.txt
f6b8d23492e5 remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23325
diff changeset
   147
  $ hg update -Cq
23538
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   148
  $ touch sub1/foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   149
  $ 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
   150
  $ rm sub1/sub2/test.txt
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   151
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   152
Test relative path printing + subrepos
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   153
  $ mkdir -p foo/bar
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   154
  $ cd foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   155
  $ touch bar/abc
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   156
  $ hg addremove -S ..
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   157
  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
   158
  removing ../sub1/sub2/test.txt (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   159
  adding ../sub1/foo (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   160
  adding bar/abc (glob)
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   161
  $ cd ..
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   162
  $ hg status -S
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   163
  A foo/bar/abc
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   164
  A sub1/foo
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   165
  R sub1/sub2/test.txt
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   166
  $ hg update -Cq
23539
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   167
  $ touch sub1/sub2/folder/bar
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   168
  $ hg addremove sub1/sub2
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   169
  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
   170
  $ hg status -S
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   171
  A sub1/sub2/folder/bar
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   172
  ? foo/bar/abc
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   173
  ? sub1/foo
cb42050f2dad addremove: support addremove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23538
diff changeset
   174
  $ hg update -Cq
23540
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   175
  $ hg addremove sub1
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   176
  adding sub1/sub2/folder/bar (glob)
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   177
  adding sub1/foo (glob)
f274d27f1994 addremove: automatically process a subrepository's subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 23539
diff changeset
   178
  $ 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
   179
  $ 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
   180
  $ 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
   181
  $ hg ci -ASm "remove test.txt"
23686
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   182
  adding sub1/sub2/folder/bar
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   183
  removing sub1/sub2/folder/test.txt
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   184
  removing sub1/sub2/test.txt
164915e8ef7b narrowmatcher: propagate the rel() method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23540
diff changeset
   185
  adding sub1/foo
23538
ccfb56450f21 addremove: add support for the -S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 23537
diff changeset
   186
  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
   187
  committing subrepository sub1
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   188
  committing subrepository sub1/sub2 (glob)
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   189
  $ hg rollback -q
f1b06a8aad42 commit: propagate --addremove to subrepos if -S is specified (issue3759)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23327
diff changeset
   190
  $ hg up -Cq
23325
4165cfd67519 remove: recurse into subrepositories with --subrepos/-S flag
Matt Harbison <matt_harbison@yahoo.com>
parents: 17346
diff changeset
   191
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   192
  $ 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
   193
  $ find ../archive_all | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   194
  ../archive_all
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   195
  ../archive_all/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   196
  ../archive_all/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   197
  ../archive_all/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   198
  ../archive_all/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   199
  ../archive_all/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   200
  ../archive_all/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   201
  ../archive_all/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   202
  ../archive_all/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   203
  ../archive_all/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   204
  ../archive_all/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   205
  ../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
   206
  ../archive_all/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   207
  ../archive_all/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   208
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   209
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
   210
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   211
  $ 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
   212
  $ find ../archive_exclude | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   213
  ../archive_exclude
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   214
  ../archive_exclude/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   215
  ../archive_exclude/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   216
  ../archive_exclude/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   217
  ../archive_exclude/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   218
  ../archive_exclude/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   219
  ../archive_exclude/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   220
  ../archive_exclude/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   221
  ../archive_exclude/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   222
  ../archive_exclude/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   223
  ../archive_exclude/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   224
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   225
  $ 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
   226
  $ find ../archive_include | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   227
  ../archive_include
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   228
  ../archive_include/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   229
  ../archive_include/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   230
  ../archive_include/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   231
  ../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
   232
  ../archive_include/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   233
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   234
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
   235
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
   236
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
   237
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
   238
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   239
  $ 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
   240
  $ 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
   241
  $ 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
   242
  $ 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
   243
  $ 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
   244
  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
   245
  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
   246
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   247
  $ 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
   248
  $ 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
   249
  ../archive_lf
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   250
  ../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
   251
  ../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
   252
  ../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
   253
  ../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
   254
  ../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
   255
  ../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
   256
  ../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
   257
  ../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
   258
  ../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
   259
  ../archive_lf/sub1/sub2
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   260
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   261
  ../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
   262
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   263
  ../archive_lf/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   264
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   265
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   266
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   267
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
   268
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   269
  $ 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
   270
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   271
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   272
  ../archive_lf/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   273
  ../archive_lf/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   274
  ../archive_lf/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   275
  ../archive_lf/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   276
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   277
  ../archive_lf/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   278
  ../archive_lf/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   279
  ../archive_lf/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   280
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   281
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   282
  ../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
   283
  ../archive_lf/sub1/sub2/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   284
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   285
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   286
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   287
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
   288
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   289
  $ hg --config extensions.largefiles= archive -S -X '**.txt' ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   290
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   291
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   292
  ../archive_lf/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   293
  ../archive_lf/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   294
  ../archive_lf/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   295
  ../archive_lf/main
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   296
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   297
  ../archive_lf/sub1/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   298
  ../archive_lf/sub1/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   299
  ../archive_lf/sub1/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   300
  ../archive_lf/sub1/sub2
17106
4d0e81dca75f largefiles: fix the directory structure when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 17105
diff changeset
   301
  ../archive_lf/sub1/sub2/large.bin
4d0e81dca75f largefiles: fix the directory structure when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 17105
diff changeset
   302
  ../archive_lf/sub1/sub2/sub2
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   303
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   304
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   305
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
   306
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   307
  $ 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
   308
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   309
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   310
  ../archive_lf/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   311
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   312
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   313
  ../archive_lf/sub1/sub2/folder
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   314
  ../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
   315
  ../archive_lf/sub1/sub2/test.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   316
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   317
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   318
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
   319
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   320
  $ 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
   321
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   322
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   323
  ../archive_lf/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   324
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   325
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   326
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   327
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   328
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   329
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
   330
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   331
  $ 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
   332
  $ find ../archive_lf | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   333
  ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   334
  ../archive_lf/sub1
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   335
  ../archive_lf/sub1/sub2
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   336
  ../archive_lf/sub1/sub2/large.bin
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   337
  $ rm -rf ../archive_lf
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   338
24029
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   339
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
   340
  $ 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
   341
  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
   342
  (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
   343
  [255]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   344
  $ 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
   345
  $ 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
   346
  # 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
   347
  [paths]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   348
  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
   349
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   350
  # 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
   351
  # (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
   352
  #
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   353
  # 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
   354
  # 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
   355
  # 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
   356
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   357
  [ui]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   358
  # 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
   359
  # 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
   360
  
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   361
  [extensions]
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   362
  largefiles=
e1dbe0b215ae largefiles: set the extension as enabled locally after a clone requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents: 23923
diff changeset
   363
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17106
diff changeset
   364
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
   365
  $ 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
   366
  $ 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
   367
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   368
  $ cat >> $HGRCPATH <<EOF
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   369
  > [extensions]
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   370
  > largefiles=
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   371
  > [largefiles]
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   372
  > patterns=glob:**.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   373
  > EOF
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   374
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   375
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
   376
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
   377
  $ touch sub1/sub2/untracked.txt
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   378
  $ touch sub1/sub2/large.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   379
  $ 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
   380
  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
   381
  [1]
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   382
  $ 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
   383
  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
   384
  $ 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
   385
  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
   386
  $ 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
   387
  adding sub1/sub2/large.dat (glob)
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   388
  $ hg forget -v sub1/sub2/untracked.txt
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   389
  removing sub1/sub2/untracked.txt (glob)
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   390
  $ hg status -S
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
   391
  A sub1/sub2/large.dat
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   392
  R sub1/sub2/large.bin
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   393
  R sub1/sub2/test.txt
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   394
  ? foo/bar/abc
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   395
  ? sub1/sub2/untracked.txt
23923
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   396
  $ 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
   397
  $ 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
   398
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   399
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
   400
  $ 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
   401
  $ 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
   402
  $ 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
   403
  $ 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
   404
  $ 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
   405
  $ 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
   406
  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
   407
  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
   408
  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
   409
  $ 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
   410
  $ hg status
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   411
  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
   412
  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
   413
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   414
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
   415
  $ 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
   416
  $ 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
   417
  $ 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
   418
  $ hg status
ab6fd3205dad largefiles: fix commit of a directory with no largefile changes (issue4330)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
   419
  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
   420
  A a.txt
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23686
diff changeset
   421
24230
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   422
  $ 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
   423
  $ 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
   424
  $ 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
   425
  $ 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
   426
  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
   427
    a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   428
  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
   429
    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
   430
  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
   431
  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
   432
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   433
  $ 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
   434
  $ 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
   435
  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
   436
    a.dat
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 24029
diff changeset
   437
  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
   438
    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
   439
  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
   440
  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
   441
17105
7d45730ea1b8 largefiles: fix a traceback when archiving a subrepo in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16073
diff changeset
   442
  $ cd ..