tests/test-lfconvert.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 31 Dec 2014 17:55:43 +0900
changeset 23711 1e6fb8db666e
parent 22316 816be4ca4ae2
child 25325 fcd2f9b06629
permissions -rw-r--r--
context: avoid breaking already fixed self._status at ctx.status() Before this patch, "status()" on "workingcommitctx" with "always match" object causes breaking "self._status" in "workingctx._buildstatus()", because "workingctx._buildstatus()" caches the result of "dirstate.status()" into "self._status" for efficiency, even though it should be fixed at construction for committing. For example, template function "diff()" without any patterns in "committemplate" implies "status()" on "workingcommitctx" with "always match" object, via "basectx.diff()" and "patch.diff()". Then, broken "self._status" causes committing unexpected files. To avoid breaking already fixed "self._status" at "ctx.status()", this patch overrides "_buildstatus" in "workingcommitctx". This patch doesn't write out the result of template function "diff()" in "committemplate" in "test-commit.t", because matching against files to be committed still has an issue fixed in subsequent patch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
     1
  $ USERCACHE="$TESTTMP/cache"; export USERCACHE
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
     2
  $ mkdir "${USERCACHE}"
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     4
  > [extensions]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     5
  > largefiles =
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
     6
  > share =
20115
db6b958c4f35 tests: use strip extension instead of mq where it makes sense
Martin Geisler <martin@geisler.net>
parents: 19950
diff changeset
     7
  > strip =
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
     8
  > convert =
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     9
  > [largefiles]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    10
  > minsize = 0.5
15579
6c5e6ebe0812 largefiles: use "ui.configlist()" to get largefiles.patterns configuration
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 15389
diff changeset
    11
  > patterns = **.other
6c5e6ebe0812 largefiles: use "ui.configlist()" to get largefiles.patterns configuration
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 15389
diff changeset
    12
  >     **.dat
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
    13
  > usercache=${USERCACHE}
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    14
  > EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    15
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    16
"lfconvert" works
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    17
  $ hg init bigfile-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    18
  $ cd bigfile-repo
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    19
  $ cat >> .hg/hgrc <<EOF
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    20
  > [extensions]
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    21
  > largefiles = !
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    22
  > EOF
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    23
  $ mkdir sub
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    24
  $ dd if=/dev/zero bs=1k count=256 > large 2> /dev/null
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    25
  $ dd if=/dev/zero bs=1k count=256 > large2 2> /dev/null
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    26
  $ echo normal > normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    27
  $ echo alsonormal > sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    28
  $ dd if=/dev/zero bs=1k count=10 > sub/maybelarge.dat 2> /dev/null
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    29
  $ hg addremove
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    30
  adding large
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    31
  adding large2
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    32
  adding normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    33
  adding sub/maybelarge.dat
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    34
  adding sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    35
  $ hg commit -m"add large, normal1" large normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    36
  $ hg commit -m"add sub/*" sub
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    37
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    38
Test tag parsing
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    39
  $ cat >> .hgtags <<EOF
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    40
  > IncorrectlyFormattedTag!
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    41
  > invalidhash sometag
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    42
  > 0123456789abcdef anothertag
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    43
  > EOF
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    44
  $ hg add .hgtags
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    45
  $ hg commit -m"add large2" large2 .hgtags
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    46
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    47
Test link+rename largefile codepath
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    48
  $ [ -d .hg/largefiles ] && echo fail || echo pass
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    49
  pass
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    50
  $ cd ..
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    51
  $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    52
  initializing destination largefiles-repo
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    53
  skipping incorrectly formatted tag IncorrectlyFormattedTag!
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    54
  skipping incorrectly formatted id invalidhash
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    55
  no mapping for id 0123456789abcdef
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    56
#if symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    57
  $ hg --cwd bigfile-repo rename large2 large3
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    58
  $ ln -sf large bigfile-repo/large3
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    59
  $ hg --cwd bigfile-repo commit -m"make large2 a symlink" large2 large3
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    60
  $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo-symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    61
  initializing destination largefiles-repo-symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    62
  skipping incorrectly formatted tag IncorrectlyFormattedTag!
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    63
  skipping incorrectly formatted id invalidhash
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    64
  no mapping for id 0123456789abcdef
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    65
  abort: renamed/copied largefile large3 becomes symlink
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    66
  [255]
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    67
#endif
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    68
  $ cd bigfile-repo
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    69
  $ hg strip --no-backup 2
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    70
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    71
  $ cd ..
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    72
  $ rm -rf largefiles-repo largefiles-repo-symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    73
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    74
  $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    75
  initializing destination largefiles-repo
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    76
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    77
"lfconvert" converts content correctly
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    78
  $ cd largefiles-repo
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    79
  $ hg up
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    80
  getting changed largefiles
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    81
  2 largefiles updated, 0 removed
18459
c9db897d5a43 largefiles: fix largefiles+subrepo update (issue3752)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 18356
diff changeset
    82
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    83
  $ hg locate
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    84
  .hglf/large
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    85
  .hglf/sub/maybelarge.dat
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    86
  normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    87
  sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    88
  $ cat normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    89
  normal
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    90
  $ cat sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    91
  alsonormal
15389
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
    92
  $ "$TESTDIR/md5sum.py" large sub/maybelarge.dat
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
    93
  ec87a838931d4d5d2e94a04644788a55  large
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
    94
  1276481102f218c981e0324180bafd9f  sub/maybelarge.dat
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    95
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    96
"lfconvert" adds 'largefiles' to .hg/requires.
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    97
  $ cat .hg/requires
18356
752f77ef7202 localrepo: store requirements sorted
Mads Kiilerich <mads@kiilerich.com>
parents: 18159
diff changeset
    98
  dotencode
752f77ef7202 localrepo: store requirements sorted
Mads Kiilerich <mads@kiilerich.com>
parents: 18159
diff changeset
    99
  fncache
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   100
  largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   101
  revlogv1
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   102
  store
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   103
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   104
"lfconvert" includes a newline at the end of the standin files.
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
   105
  $ cat .hglf/large .hglf/sub/maybelarge.dat
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   106
  2e000fa7e85759c7f4c254d4d9c33ef481e459a7
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
   107
  34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   108
  $ cd ..
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   109
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   110
add some changesets to rename/remove/merge
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   111
  $ cd bigfile-repo
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   112
  $ hg mv -q sub stuff
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   113
  $ hg commit -m"rename sub/ to stuff/"
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   114
  $ hg update -q 1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   115
  $ echo blah >> normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   116
  $ echo blah >> sub/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   117
  $ echo blah >> sub/maybelarge.dat
15389
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
   118
  $ "$TESTDIR/md5sum.py" sub/maybelarge.dat
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
   119
  1dd0b99ff80e19cff409702a1d3f5e15  sub/maybelarge.dat
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   120
  $ hg commit -A -m"add normal3, modify sub/*"
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   121
  adding normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   122
  created new head
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   123
  $ hg rm large normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   124
  $ hg commit -q -m"remove large, normal3"
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   125
  $ hg merge
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   126
  merging sub/maybelarge.dat and stuff/maybelarge.dat to stuff/maybelarge.dat
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15389
diff changeset
   127
  warning: $TESTTMP/bigfile-repo/stuff/maybelarge.dat looks like a binary file. (glob)
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 15447
diff changeset
   128
  merging stuff/maybelarge.dat incomplete! (edit conflicts, then use 'hg resolve --mark')
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   129
  merging sub/normal2 and stuff/normal2 to stuff/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   130
  0 files updated, 1 files merged, 0 files removed, 1 files unresolved
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   131
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   132
  [1]
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   133
  $ hg cat -r . sub/maybelarge.dat > stuff/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   134
  $ hg resolve -m stuff/maybelarge.dat
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
   135
  (no more unresolved files)
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   136
  $ hg commit -m"merge"
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 20115
diff changeset
   137
  $ hg log -G --template "{rev}:{node|short}  {desc|firstline}\n"
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   138
  @    5:4884f215abda  merge
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   139
  |\
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   140
  | o  4:7285f817b77e  remove large, normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   141
  | |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   142
  | o  3:67e3892e3534  add normal3, modify sub/*
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   143
  | |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   144
  o |  2:c96c8beb5d56  rename sub/ to stuff/
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   145
  |/
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   146
  o  1:020c65d24e11  add sub/*
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   147
  |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   148
  o  0:117b8328f97a  add large, normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   149
  
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   150
  $ cd ..
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   151
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   152
lfconvert with rename, merge, and remove
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   153
  $ rm -rf largefiles-repo
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   154
  $ hg lfconvert --size 0.2 bigfile-repo largefiles-repo
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   155
  initializing destination largefiles-repo
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   156
  $ cd largefiles-repo
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 20115
diff changeset
   157
  $ hg log -G --template "{rev}:{node|short}  {desc|firstline}\n"
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   158
  o    5:8e05f5f2b77e  merge
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   159
  |\
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   160
  | o  4:a5a02de7a8e4  remove large, normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   161
  | |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   162
  | o  3:55759520c76f  add normal3, modify sub/*
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   163
  | |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   164
  o |  2:261ad3f3f037  rename sub/ to stuff/
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   165
  |/
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   166
  o  1:334e5237836d  add sub/*
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   167
  |
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   168
  o  0:d4892ec57ce2  add large, normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   169
  
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   170
  $ hg locate -r 2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   171
  .hglf/large
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   172
  .hglf/stuff/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   173
  normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   174
  stuff/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   175
  $ hg locate -r 3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   176
  .hglf/large
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   177
  .hglf/sub/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   178
  normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   179
  normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   180
  sub/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   181
  $ hg locate -r 4
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   182
  .hglf/sub/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   183
  normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   184
  sub/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   185
  $ hg locate -r 5
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   186
  .hglf/stuff/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   187
  normal1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   188
  stuff/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   189
  $ hg update
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   190
  getting changed largefiles
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   191
  1 largefiles updated, 0 removed
18459
c9db897d5a43 largefiles: fix largefiles+subrepo update (issue3752)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 18356
diff changeset
   192
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   193
  $ cat stuff/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   194
  alsonormal
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   195
  blah
15389
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
   196
  $ "$TESTDIR/md5sum.py" stuff/maybelarge.dat
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
   197
  1dd0b99ff80e19cff409702a1d3f5e15  stuff/maybelarge.dat
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   198
  $ cat .hglf/stuff/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   199
  76236b6a2c6102826c61af4297dd738fb3b1de38
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   200
  $ cd ..
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   201
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   202
"lfconvert" error cases
15340
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   203
  $ hg lfconvert http://localhost/foo foo
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   204
  abort: http://localhost/foo is not a local Mercurial repo
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   205
  [255]
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   206
  $ hg lfconvert foo ssh://localhost/foo
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   207
  abort: ssh://localhost/foo is not a local Mercurial repo
0e58513cc59a largefiles: rearrange how lfconvert detects non-local repos
Greg Ward <greg@gerg.ca>
parents: 15339
diff changeset
   208
  [255]
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   209
  $ hg lfconvert nosuchrepo foo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   210
  abort: repository nosuchrepo not found!
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   211
  [255]
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   212
  $ hg share -q -U bigfile-repo shared
15364
572c22c88be6 tests: fix check-code detection of anchored expressions, fix echo -n usage
Matt Mackall <mpm@selenic.com>
parents: 15343
diff changeset
   213
  $ printf 'bogus' > shared/.hg/sharedpath
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   214
  $ hg lfconvert shared foo
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15389
diff changeset
   215
  abort: .hg/sharedpath points to nonexistent directory $TESTTMP/bogus! (glob)
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   216
  [255]
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   217
  $ hg lfconvert bigfile-repo largefiles-repo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   218
  initializing destination largefiles-repo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   219
  abort: repository largefiles-repo already exists!
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   220
  [255]
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   221
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   222
add another largefile to the new largefiles repo
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   223
  $ cd largefiles-repo
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   224
  $ dd if=/dev/zero bs=1k count=1k > anotherlarge 2> /dev/null
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   225
  $ hg add --lfsize=1 anotherlarge
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   226
  $ hg commit -m "add anotherlarge (should be a largefile)"
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   227
  $ cat .hglf/anotherlarge
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   228
  3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   229
  $ cd ..
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   230
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   231
round-trip: converting back to a normal (non-largefiles) repo with
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   232
"lfconvert --to-normal" should give the same as ../bigfile-repo
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   233
  $ cd largefiles-repo
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   234
  $ hg lfconvert --to-normal . ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   235
  initializing destination ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   236
  $ cd ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   237
  $ cat >> .hg/hgrc <<EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   238
  > [extensions]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   239
  > largefiles = !
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   240
  > EOF
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   241
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   242
# Hmmm: the changeset ID for rev 5 is different from the original
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   243
# normal repo (../bigfile-repo), because the changelog filelist
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   244
# differs between the two incarnations of rev 5: this repo includes
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   245
# 'large' in the list, but ../bigfile-repo does not. Since rev 5
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   246
# removes 'large' relative to the first parent in both repos, it seems
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   247
# to me that lfconvert is doing a *better* job than
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   248
# "hg remove" + "hg merge" + "hg commit".
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   249
#  $ hg -R ../bigfile-repo debugdata -c 5
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   250
#  $ hg debugdata -c 5
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 20115
diff changeset
   251
  $ hg log -G --template "{rev}:{node|short}  {desc|firstline}\n"
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   252
  o  6:1635824e6f59  add anotherlarge (should be a largefile)
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   253
  |
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   254
  o    5:7215f8deeaaf  merge
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   255
  |\
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   256
  | o  4:7285f817b77e  remove large, normal3
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   257
  | |
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   258
  | o  3:67e3892e3534  add normal3, modify sub/*
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   259
  | |
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   260
  o |  2:c96c8beb5d56  rename sub/ to stuff/
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   261
  |/
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   262
  o  1:020c65d24e11  add sub/*
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   263
  |
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   264
  o  0:117b8328f97a  add large, normal1
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   265
  
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   266
  $ hg update
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   267
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   268
  $ hg locate
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
   269
  anotherlarge
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
   270
  normal1
15343
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   271
  stuff/maybelarge.dat
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   272
  stuff/normal2
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   273
  $ [ -d .hg/largefiles ] && echo fail || echo pass
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   274
  pass
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16908
diff changeset
   275
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16908
diff changeset
   276
  $ cd ..
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   277
17878
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   278
Clearing the usercache ensures that commitctx doesn't try to cache largefiles
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   279
from the working dir on a convert.
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   280
  $ rm "${USERCACHE}"/*
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   281
  $ hg convert largefiles-repo
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   282
  assuming destination largefiles-repo-hg
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   283
  initializing destination largefiles-repo-hg repository
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   284
  scanning source...
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   285
  sorting...
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   286
  converting...
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   287
  6 add large, normal1
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   288
  5 add sub/*
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   289
  4 rename sub/ to stuff/
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   290
  3 add normal3, modify sub/*
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   291
  2 remove large, normal3
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   292
  1 merge
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   293
  0 add anotherlarge (should be a largefile)
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   294
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 20115
diff changeset
   295
  $ hg -R largefiles-repo-hg log -G --template "{rev}:{node|short}  {desc|firstline}\n"
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   296
  o  6:17126745edfd  add anotherlarge (should be a largefile)
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   297
  |
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   298
  o    5:9cc5aa7204f0  merge
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   299
  |\
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   300
  | o  4:a5a02de7a8e4  remove large, normal3
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   301
  | |
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   302
  | o  3:55759520c76f  add normal3, modify sub/*
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   303
  | |
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   304
  o |  2:261ad3f3f037  rename sub/ to stuff/
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   305
  |/
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   306
  o  1:334e5237836d  add sub/*
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   307
  |
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   308
  o  0:d4892ec57ce2  add large, normal1
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   309
  
17878
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   310
Verify will fail (for now) if the usercache is purged before converting, since
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   311
largefiles are not cached in the converted repo's local store by the conversion
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   312
process.
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   313
  $ hg -R largefiles-repo-hg verify --large --lfa
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   314
  checking changesets
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   315
  checking manifests
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   316
  crosschecking files in changesets and manifests
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   317
  checking files
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   318
  8 files, 7 changesets, 12 total revisions
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   319
  searching 7 changesets for largefiles
18557
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   320
  changeset 0:d4892ec57ce2: large references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/2e000fa7e85759c7f4c254d4d9c33ef481e459a7 (glob)
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   321
  changeset 1:334e5237836d: sub/maybelarge.dat references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c (glob)
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   322
  changeset 2:261ad3f3f037: stuff/maybelarge.dat references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c (glob)
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   323
  changeset 3:55759520c76f: sub/maybelarge.dat references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/76236b6a2c6102826c61af4297dd738fb3b1de38 (glob)
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   324
  changeset 5:9cc5aa7204f0: stuff/maybelarge.dat references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/76236b6a2c6102826c61af4297dd738fb3b1de38 (glob)
945ba91c5e16 tests: fix windows test failure with largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 18545
diff changeset
   325
  changeset 6:17126745edfd: anotherlarge references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3 (glob)
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   326
  verified existence of 6 revisions of 4 largefiles
17878
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   327
  [1]
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   328
  $ hg -R largefiles-repo-hg showconfig paths
22316
816be4ca4ae2 config: exit non zero on non-existent config option (issue4247)
Aaron Kushner <akushner@fb.com>
parents: 21947
diff changeset
   329
  [1]
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   330
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   331
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   332
Avoid a traceback if a largefile isn't available (issue3519)
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   333
17824
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   334
Ensure the largefile can be cached in the source if necessary
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   335
  $ hg clone -U largefiles-repo issue3519
17878
d1d0140287b8 largefiles: don't copy largefiles from working dir to the store while converting
Matt Harbison <matt_harbison@yahoo.com>
parents: 17877
diff changeset
   336
  $ rm -f "${USERCACHE}"/*
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   337
  $ hg lfconvert --to-normal issue3519 normalized3519
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   338
  initializing destination normalized3519
17824
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   339
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   340
Ensure the abort message is useful if a largefile is entirely unavailable
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   341
  $ rm -rf normalized3519
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   342
  $ rm "${USERCACHE}"/*
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   343
  $ rm issue3519/.hg/largefiles/*
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   344
  $ rm largefiles-repo/.hg/largefiles/*
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   345
  $ hg lfconvert --to-normal issue3519 normalized3519
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   346
  initializing destination normalized3519
20471
ea005e754c9c tests: lines with largefile .* file://$TESTTMP also match on windows
Simon Heimberg <simohe@besonet.ch>
parents: 20117
diff changeset
   347
  large: largefile 2e000fa7e85759c7f4c254d4d9c33ef481e459a7 not available from file:/*/$TESTTMP/largefiles-repo (glob)
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   348
  abort: missing largefile 'large' from revision d4892ec57ce212905215fad1d9018f56b99202ad
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   349
  [255]
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   350
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   351