tests/test-lfconvert.t
author Wojciech Lopata <lopek@fb.com>
Mon, 26 Aug 2013 17:11:01 -0700
changeset 19630 bb67f630b335
parent 19117 a6542a670ece
child 19950 cce7ab960312
permissions -rw-r--r--
unionrevlog: extract 'baserevision' and 'baserevdiff' methods This makes possible to use unionrevlog class with subclasses of revlog that override revlog's 'revision' and 'revdiff' methods. In particular this change is necessary to implement manifest compression, as it allows extension to replace manifest class and override 'revision' amd 'revdiff' methods there.
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 =
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
     7
  > graphlog =
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
     8
  > mq =
17877
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
     9
  > convert =
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    10
  > [largefiles]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    11
  > 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
    12
  > patterns = **.other
6c5e6ebe0812 largefiles: use "ui.configlist()" to get largefiles.patterns configuration
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 15389
diff changeset
    13
  >     **.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
    14
  > usercache=${USERCACHE}
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    15
  > EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    16
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    17
"lfconvert" works
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    18
  $ hg init bigfile-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    19
  $ 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
    20
  $ 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
    21
  > [extensions]
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    22
  > largefiles = !
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    23
  > EOF
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    24
  $ mkdir sub
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    25
  $ 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
    26
  $ 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
    27
  $ echo normal > normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    28
  $ 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
    29
  $ 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
    30
  $ hg addremove
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    31
  adding large
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    32
  adding large2
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    33
  adding normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    34
  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
    35
  adding sub/normal2
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 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
    37
  $ hg commit -m"add sub/*" sub
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    38
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    39
Test tag parsing
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    40
  $ cat >> .hgtags <<EOF
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    41
  > IncorrectlyFormattedTag!
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    42
  > invalidhash sometag
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    43
  > 0123456789abcdef anothertag
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    44
  > EOF
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    45
  $ hg add .hgtags
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    46
  $ 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
    47
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    48
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
    49
  $ [ -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
    50
  pass
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    51
  $ cd ..
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    52
  $ 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
    53
  initializing destination largefiles-repo
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    54
  skipping incorrectly formatted tag IncorrectlyFormattedTag!
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    55
  skipping incorrectly formatted id invalidhash
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    56
  no mapping for id 0123456789abcdef
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    57
#if symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    58
  $ hg --cwd bigfile-repo rename large2 large3
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    59
  $ ln -sf large bigfile-repo/large3
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    60
  $ 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
    61
  $ 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
    62
  initializing destination largefiles-repo-symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    63
  skipping incorrectly formatted tag IncorrectlyFormattedTag!
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    64
  skipping incorrectly formatted id invalidhash
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    65
  no mapping for id 0123456789abcdef
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    66
  abort: renamed/copied largefile large3 becomes symlink
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    67
  [255]
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    68
#endif
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    69
  $ cd bigfile-repo
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    70
  $ hg strip --no-backup 2
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    71
  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
    72
  $ cd ..
16908
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    73
  $ rm -rf largefiles-repo largefiles-repo-symlink
6a997aacba5d tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16310
diff changeset
    74
15810
3d11da212e30 largefiles: add tests for uncovered codepaths (issue3092)
Levi Bard <levi@unity3d.com>
parents: 15591
diff changeset
    75
  $ 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
    76
  initializing destination largefiles-repo
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    77
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    78
"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
    79
  $ cd largefiles-repo
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    80
  $ hg up
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    81
  getting changed largefiles
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    82
  2 largefiles updated, 0 removed
18459
c9db897d5a43 largefiles: fix largefiles+subrepo update (issue3752)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 18356
diff changeset
    83
  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
    84
  $ hg locate
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    85
  .hglf/large
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    86
  .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
    87
  normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    88
  sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    89
  $ cat normal1
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    90
  normal
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    91
  $ cat sub/normal2
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
    92
  alsonormal
15389
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
    93
  $ "$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
    94
  ec87a838931d4d5d2e94a04644788a55  large
3bece03bf3c6 tests: use md5sum.py instead of sha1sum, add check
Matt Mackall <mpm@selenic.com>
parents: 15364
diff changeset
    95
  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
    96
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    97
"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
    98
  $ cat .hg/requires
18356
752f77ef7202 localrepo: store requirements sorted
Mads Kiilerich <mads@kiilerich.com>
parents: 18159
diff changeset
    99
  dotencode
752f77ef7202 localrepo: store requirements sorted
Mads Kiilerich <mads@kiilerich.com>
parents: 18159
diff changeset
   100
  fncache
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   101
  largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   102
  revlogv1
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   103
  store
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   104
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
   105
"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
   106
  $ 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
   107
  2e000fa7e85759c7f4c254d4d9c33ef481e459a7
15341
7ef13e53434e largefiles: beef up test-lfconvert.t so it's more thorough
Greg Ward <greg@gerg.ca>
parents: 15340
diff changeset
   108
  34e163be8e43c5631d8b92e9c43ab0bf0fa62b9c
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   109
  $ cd ..
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
   110
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   111
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
   112
  $ cd bigfile-repo
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   113
  $ hg mv -q sub stuff
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   114
  $ 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
   115
  $ hg update -q 1
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   116
  $ echo blah >> normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   117
  $ echo blah >> sub/normal2
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   118
  $ 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
   119
  $ "$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
   120
  1dd0b99ff80e19cff409702a1d3f5e15  sub/maybelarge.dat
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   121
  $ 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
   122
  adding normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   123
  created new head
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   124
  $ hg rm large normal3
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   125
  $ 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
   126
  $ hg merge
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   127
  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
   128
  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
   129
  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
   130
  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
   131
  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
   132
  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
   133
  [1]
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   134
  $ 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
   135
  $ hg resolve -m stuff/maybelarge.dat
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   136
  $ hg commit -m"merge"
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   137
  $ hg glog --template "{rev}:{node|short}  {desc|firstline}\n"
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
15342
b2e00d67f590 largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca>
parents: 15341
diff changeset
   157
  $ hg glog --template "{rev}:{node|short}  {desc|firstline}\n"
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
7fe8b7e097a4 largefiles: test "lfconvert --to-normal" with rename/remove/merge
Greg Ward <greg@gerg.ca>
parents: 15342
diff changeset
   251
  $ hg glog --template "{rev}:{node|short}  {desc|firstline}\n"
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
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   295
  $ hg -R largefiles-repo-hg glog --template "{rev}:{node|short}  {desc|firstline}\n"
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
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   329
92bbb21d4b13 largefiles: respect the rev when reading standins in copytostore() (issue3630)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17824
diff changeset
   330
17823
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   331
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
   332
17824
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   333
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
   334
  $ 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
   335
  $ 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
   336
  $ 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
   337
  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
   338
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   339
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
   340
  $ rm -rf normalized3519
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   341
  $ rm "${USERCACHE}"/*
221c9c3146eb largefiles: always create the cache and standin directories when cloning
Matt Harbison <matt_harbison@yahoo.com>
parents: 17823
diff changeset
   342
  $ 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
   343
  $ 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
   344
  $ 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
   345
  initializing destination normalized3519
19117
a6542a670ece tests: sprinkle globs over largefiles/subrepo tests for Windows
Brendan Cully <brendan@kublai.com>
parents: 19008
diff changeset
   346
  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
   347
  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
   348
  [255]
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   349
0fc1ce271ee6 largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16913
diff changeset
   350