tests/test-lfconvert.t
author Greg Ward <greg@gerg.ca>
Sat, 22 Oct 2011 14:17:19 -0400
branchstable
changeset 15339 be1377d19018
parent 15338 f4b29792fcda
child 15340 0e58513cc59a
permissions -rw-r--r--
largefiles: test lfconvert error handling; remove redundant code
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     2
  > [extensions]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     3
  > largefiles =
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
     4
  > share =
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     5
  > [largefiles]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     6
  > minsize = 0.5
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     7
  > patterns = **.dat
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     8
  > EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
     9
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    10
"lfconvert" works
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    11
  $ hg init bigfile-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    12
  $ cd bigfile-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    13
  $ dd if=/dev/zero bs=1k count=256 > a-large-file 2> /dev/null
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    14
  $ hg addremove
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    15
  adding a-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    16
  $ hg commit -m "add a-large-file (as a normal file)"
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    17
  $ find .hg/largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    18
  .hg/largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    19
  $ cd ..
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    20
  $ 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
    21
  initializing destination largefiles-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    22
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    23
"lfconvert" adds 'largefiles' to .hg/requires.
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    24
  $ cat largefiles-repo/.hg/requires
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    25
  largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    26
  revlogv1
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    27
  fncache
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    28
  store
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    29
  dotencode
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    30
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    31
"lfconvert" includes a newline at the end of the standin files.
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    32
  $ cd largefiles-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    33
  $ hg up
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    34
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    35
  getting changed largefiles
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    36
  1 largefiles updated, 0 removed
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    37
  $ cat .hglf/a-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    38
  2e000fa7e85759c7f4c254d4d9c33ef481e459a7
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    39
  $ dd if=/dev/zero bs=1k count=1k > another-large-file 2> /dev/null
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    40
  $ hg add --lfsize=1 another-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    41
  $ hg commit -m "add another-large-file (should be a largefile)"
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    42
  $ cat .hglf/a-large-file .hglf/another-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    43
  2e000fa7e85759c7f4c254d4d9c33ef481e459a7
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    44
  3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    45
  $ cd ..
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    46
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    47
"lfconvert" error cases
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    48
  $ hg lfconvert nosuchrepo foo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    49
  abort: repository nosuchrepo not found!
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    50
  [255]
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    51
  $ hg share -q -U bigfile-repo shared
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    52
  $ echo -n bogus > shared/.hg/sharedpath
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    53
  $ hg lfconvert shared foo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    54
  abort: .hg/sharedpath points to nonexistent directory $TESTTMP/bogus!
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    55
  [255]
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    56
  $ hg lfconvert bigfile-repo largefiles-repo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    57
  initializing destination largefiles-repo
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    58
  abort: repository largefiles-repo already exists!
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    59
  [255]
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    60
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    61
Convert back to a normal (non-largefiles) repo
15339
be1377d19018 largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca>
parents: 15338
diff changeset
    62
  $ cd largefiles-repo
15338
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    63
  $ hg lfconvert --to-normal . ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    64
  initializing destination ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    65
  $ cd ../normal-repo
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    66
  $ cat >> .hg/hgrc <<EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    67
  > [extensions]
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    68
  > largefiles = !
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    69
  > EOF
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    70
  $ hg update
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    71
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    72
  $ hg locate
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    73
  a-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    74
  another-large-file
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    75
  $ [ -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
    76
  pass
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    77
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    78
Cleanup
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    79
  $ cd ..
f4b29792fcda largefiles: extract test-lfconvert.t from test-largefiles.t
Greg Ward <greg@gerg.ca>
parents:
diff changeset
    80
  $ rm -rf bigfile-repo largefiles-repo normal-repo