##// END OF EJS Templates
largefiles: restore caching of largefiles with 'clone -U --all-largefiles'...
largefiles: restore caching of largefiles with 'clone -U --all-largefiles' This was broken when restoring normal -u and -U functionality.

File last commit:

r17599:56136786 stable
r17599:56136786 stable
Show More
test-largefiles.t
1531 lines | 37.6 KiB | text/troff | Tads3Lexer
/ tests / test-largefiles.t
Adrian Buehlmann
test-largefiles: partially adapt for Windows...
r17088 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
Mads Kiilerich
tests: make rm of usercache in test-largefiles.t more robust...
r17092 $ mkdir "${USERCACHE}"
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ cat >> $HGRCPATH <<EOF
> [extensions]
> largefiles=
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 > purge=
> rebase=
Na'Tosha Bard
largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
r15383 > transplant=
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 > [largefiles]
Greg Ward
largefiles: rename config setting 'size' to 'minsize'
r15304 > minsize=2
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 > patterns=glob:**.dat
Kevin Gessner
largefiles: display remote errors from putlfile (issue3123) (issue3149)
r15778 > usercache=${USERCACHE}
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 > [hooks]
Jim Hague
tests: correct quoting of double quotes in here documents used to write hooks...
r17462 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 > EOF
Create the repo with a couple of revisions of both large and normal
Na'Tosha Bard
largefiles: fix output of hg summary (issue3060)
r15787 files, testing that status correctly shows largefiles and that summary output
is correct.
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216
$ hg init a
$ cd a
$ mkdir sub
$ echo normal1 > normal1
$ echo normal2 > sub/normal2
$ echo large1 > large1
$ echo large2 > sub/large2
$ hg add normal1 sub/normal2
$ hg add --large large1 sub/large2
$ hg commit -m "add files"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A large1
A normal1
A sub/large2
A sub/normal2
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ echo normal11 > normal1
$ echo normal22 > sub/normal2
$ echo large11 > large1
$ echo large22 > sub/large2
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "edit files"
Invoking status precommit hook
Na'Tosha Bard
largefiles: add test for status
r15225 M large1
M normal1
M sub/large2
M sub/normal2
Na'Tosha Bard
largefiles: fix output of hg summary (issue3060)
r15787 $ hg sum --large
parent: 1:ce8896473775 tip
edit files
branch: default
commit: (clean)
update: (current)
largefiles: No remote repo
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216
Greg Ward
largefiles: polish comments in test script
r15328 Commit preserved largefile contents.
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216
$ cat normal1
normal11
$ cat large1
large11
$ cat sub/normal2
normal22
$ cat sub/large2
large22
Patrick Mezard
largefiles: fix "hg status dir" missing regular files (issue3421)...
r16586 Test status, subdir and unknown files
$ echo unknown > sub/unknown
$ hg st --all
? sub/unknown
C large1
C normal1
C sub/large2
C sub/normal2
$ hg st --all sub
? sub/unknown
C sub/large2
C sub/normal2
$ rm sub/unknown
Matt Harbison
largefiles: exit from remove with 1 on warnings...
r17576 Test exit codes for remove warning cases (modified and still exiting)
$ hg remove -A large1
not removing large1: file still exists (use forget to undo)
[1]
$ echo 'modified' > large1
$ hg remove large1
not removing large1: file is modified (use forget to undo)
[1]
$ hg up -Cq
Greg Ward
largefiles: polish comments in test script
r15328 Remove both largefiles and normal files.
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ hg remove normal1 large1
FUJIWARA Katsunori
largefiles: suppress unexpected warning of 'hg status' for removed files...
r16281 $ hg status large1
R large1
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ hg commit -m "remove files"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
R large1
R normal1
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ ls
sub
Na'Tosha Bard
largefiles: fix confusion upon removal of added largefile (issue3176)...
r15786 $ echo "testlargefile" > large1-test
$ hg add --large large1-test
$ hg st
A large1-test
$ hg rm large1-test
not removing large1-test: file has been marked for add (use forget to undo)
Matt Harbison
largefiles: exit from remove with 1 on warnings...
r17576 [1]
Na'Tosha Bard
largefiles: fix confusion upon removal of added largefile (issue3176)...
r15786 $ hg st
A large1-test
$ hg forget large1-test
$ hg st
? large1-test
Matt Harbison
largefiles: exit from remove with 1 on warnings...
r17576 $ hg remove large1-test
not removing large1-test: file is untracked
[1]
Matt Harbison
largefiles: preserve the exit status of the forget command...
r17579 $ hg forget large1-test
not removing large1-test: file is already untracked
[1]
Na'Tosha Bard
largefiles: fix confusion upon removal of added largefile (issue3176)...
r15786 $ rm large1-test
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216
Na'Tosha Bard
largefiles: fix rename (issue3093)
r15598 Copy both largefiles and normal files (testing that status output is correct).
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216
$ hg cp sub/normal2 normal1
$ hg cp sub/large2 large1
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "copy files"
Invoking status precommit hook
Na'Tosha Bard
largefiles: fix rename (issue3093)
r15598 A large1
A normal1
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ cat normal1
normal22
$ cat large1
large22
Test moving largefiles and verify that normal files are also unaffected.
$ hg mv normal1 normal3
$ hg mv large1 large3
$ hg mv sub/normal2 sub/normal4
$ hg mv sub/large2 sub/large4
$ hg commit -m "move files"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A large3
A normal3
A sub/large4
A sub/normal4
R large1
R normal1
R sub/large2
R sub/normal2
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 $ cat normal3
normal22
$ cat large3
large22
$ cat sub/normal4
normal22
$ cat sub/large4
large22
Matt Harbison
largefiles: fix path handling for cp/mv (issue3516)...
r17245 Test copies and moves from a directory other than root (issue3516)
$ cd ..
$ hg init lf_cpmv
$ cd lf_cpmv
$ mkdir dira
$ mkdir dira/dirb
$ touch dira/dirb/largefile
$ hg add --large dira/dirb/largefile
$ hg commit -m "added"
Invoking status precommit hook
A dira/dirb/largefile
$ cd dira
$ hg cp dirb/largefile foo/largefile
$ hg ci -m "deep copy"
Invoking status precommit hook
A dira/foo/largefile
$ find . | sort
.
./dirb
./dirb/largefile
./foo
./foo/largefile
$ hg mv foo/largefile baz/largefile
$ hg ci -m "moved"
Invoking status precommit hook
A dira/baz/largefile
R dira/foo/largefile
$ find . | sort
.
./baz
./baz/largefile
./dirb
./dirb/largefile
./foo
$ cd ../../a
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #if hgweb
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 Test display of largefiles in hgweb
$ hg serve -d -p $HGPORT --pid-file ../hg.pid
$ cat ../hg.pid >> $DAEMON_PIDS
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file/tip/?style=raw'
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 200 Script output follows
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 drwxr-xr-x sub
-rw-r--r-- 41 large3
-rw-r--r-- 9 normal3
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file/tip/sub/?style=raw'
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 200 Script output follows
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 -rw-r--r-- 41 large4
-rw-r--r-- 9 normal4
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449 $ "$TESTDIR/killdaemons.py"
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #endif
Martin Geisler
largefiles: hide .hglf/ prefix for largefiles in hgweb...
r16449
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 Test archiving the various revisions. These hit corner cases known with
archiving.
$ hg archive -r 0 ../archive0
$ hg archive -r 1 ../archive1
$ hg archive -r 2 ../archive2
$ hg archive -r 3 ../archive3
$ hg archive -r 4 ../archive4
$ cd ../archive0
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594 $ cat normal1
Na'Tosha Bard
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
r15216 normal1
$ cat large1
large1
$ cat sub/normal2
normal2
$ cat sub/large2
large2
$ cd ../archive1
$ cat normal1
normal11
$ cat large1
large11
$ cat sub/normal2
normal22
$ cat sub/large2
large22
$ cd ../archive2
$ ls
sub
$ cat sub/normal2
normal22
$ cat sub/large2
large22
$ cd ../archive3
$ cat normal1
normal22
$ cat large1
large22
$ cat sub/normal2
normal22
$ cat sub/large2
large22
$ cd ../archive4
$ cat normal3
normal22
$ cat large3
large22
$ cat sub/normal4
normal22
$ cat sub/large4
large22
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Greg Ward
largefiles: polish comments in test script
r15328 Commit corner case: specify files to commit.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ cd ../a
$ echo normal3 > normal3
$ echo large3 > large3
$ echo normal4 > sub/normal4
$ echo large4 > sub/large4
$ hg commit normal3 large3 sub/normal4 sub/large4 -m "edit files again"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M large3
M normal3
M sub/large4
M sub/normal4
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cat normal3
normal3
$ cat large3
large3
$ cat sub/normal4
normal4
$ cat sub/large4
large4
Greg Ward
largefiles: polish comments in test script
r15328 One more commit corner case: commit from a subdirectory.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ cd ../a
$ echo normal33 > normal3
$ echo large33 > large3
$ echo normal44 > sub/normal4
$ echo large44 > sub/large4
$ cd sub
$ hg commit -m "edit files yet again"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M large3
M normal3
M sub/large4
M sub/normal4
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cat ../normal3
normal33
$ cat ../large3
large33
$ cat normal4
normal44
$ cat large4
large44
Greg Ward
largefiles: polish comments in test script
r15328 Committing standins is not allowed.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ cd ..
$ echo large3 > large3
$ hg commit .hglf/large3 -m "try to commit standin"
Greg Ward
largefiles: improve error reporting...
r15253 abort: file ".hglf/large3" is a largefile standin
(commit the largefile itself instead)
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 [255]
Greg Ward
largefiles: polish comments in test script
r15328 Corner cases for adding largefiles.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ echo large5 > large5
$ hg add --large large5
$ hg add --large large5
large5 already a largefile
$ mkdir sub2
$ echo large6 > sub2/large6
$ echo large7 > sub2/large7
$ hg add --large sub2
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 adding sub2/large6 as a largefile (glob)
adding sub2/large7 as a largefile (glob)
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ hg st
M large3
A large5
A sub2/large6
A sub2/large7
FUJIWARA Katsunori
largefiles: use 'dirstate.dirs()' for 'directory pattern' relation check...
r16282 Test "hg status" with combination of 'file pattern' and 'directory
pattern' for largefiles:
$ hg status sub2/large6 sub2
A sub2/large6
A sub2/large7
Greg Ward
largefiles: polish comments in test script
r15328 Config settings (pattern **.dat, minsize 2 MB) are respected.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ echo testdata > test.dat
Greg Ward
largefiles: use smaller files in test script
r15330 $ dd bs=1k count=2k if=/dev/zero of=reallylarge > /dev/null 2> /dev/null
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ hg add
adding reallylarge as a largefile
adding test.dat as a largefile
Greg Ward
largefiles: test that minimum size can be a float...
r15329
Test that minsize and --lfsize handle float values;
also tests that --lfsize overrides largefiles.minsize.
(0.250 MB = 256 kB = 262144 B)
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Greg Ward
largefiles: test that minimum size can be a float...
r15329 $ dd if=/dev/zero of=ratherlarge bs=1024 count=256 > /dev/null 2> /dev/null
$ dd if=/dev/zero of=medium bs=1024 count=128 > /dev/null 2> /dev/null
$ hg --config largefiles.minsize=.25 add
adding ratherlarge as a largefile
adding medium
$ hg forget medium
$ hg --config largefiles.minsize=.25 add --lfsize=.125
adding medium as a largefile
$ dd if=/dev/zero of=notlarge bs=1024 count=127 > /dev/null 2> /dev/null
$ hg --config largefiles.minsize=.25 add --lfsize=.125
adding notlarge
$ hg forget notlarge
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Test forget on largefiles.
Greg Ward
largefiles: test that minimum size can be a float...
r15329 $ hg forget large3 large5 test.dat reallylarge ratherlarge medium
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "add/edit more largefiles"
Invoking status precommit hook
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 A sub2/large6
A sub2/large7
R large3
? large5
Greg Ward
largefiles: test that minimum size can be a float...
r15329 ? medium
? notlarge
? ratherlarge
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 ? reallylarge
? test.dat
$ hg st
? large3
? large5
Greg Ward
largefiles: test that minimum size can be a float...
r15329 ? medium
? notlarge
? ratherlarge
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 ? reallylarge
? test.dat
Greg Ward
largefiles: polish comments in test script
r15328 Purge with largefiles: verify that largefiles are still in the working
dir after a purge.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
$ hg purge --all
$ cat sub/large4
large44
$ cat sub2/large6
large6
$ cat sub2/large7
large7
Na'Tosha Bard
largefiles: implement addremove (issue3064)...
r15792 Test addremove: verify that files that should be added as largfiles are added as
such and that already-existing largfiles are not added as normal files by
accident.
$ rm normal3
$ rm sub/large4
$ echo "testing addremove with patterns" > testaddremove.dat
$ echo "normaladdremove" > normaladdremove
$ hg addremove
removing sub/large4
adding testaddremove.dat as a largefile
removing normal3
adding normaladdremove
Matt Harbison
largefiles: fix addremove with -R option...
r17229 Test addremove with -R
$ hg up -C
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
$ rm normal3
$ rm sub/large4
$ echo "testing addremove with patterns" > testaddremove.dat
$ echo "normaladdremove" > normaladdremove
$ cd ..
$ hg -R a addremove
removing sub/large4
adding a/testaddremove.dat as a largefile (glob)
removing normal3
adding normaladdremove
$ cd a
Matt Harbison
largefiles: defer lfdirstate.drop() until after commit (issue3364)...
r17230 Test 3364
$ hg clone . ../addrm
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
$ cd ../addrm
$ cat >> .hg/hgrc <<EOF
> [hooks]
Jim Hague
tests: correct quoting of double quotes in here documents used to write hooks...
r17462 > post-commit.stat=sh -c "echo \\"Invoking status postcommit hook\\"; hg status -A"
Matt Harbison
largefiles: defer lfdirstate.drop() until after commit (issue3364)...
r17230 > EOF
$ touch foo
$ hg add --large foo
$ hg ci -m "add foo"
Invoking status precommit hook
A foo
Invoking status postcommit hook
C foo
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
$ rm foo
$ hg st
! foo
hmm.. no precommit invoked, but there is a postcommit??
$ hg ci -m "will not checkin"
nothing changed
Invoking status postcommit hook
! foo
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
[1]
$ hg addremove
removing foo
$ hg st
R foo
$ hg ci -m "used to say nothing changed"
Invoking status precommit hook
R foo
Invoking status postcommit hook
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
$ hg st
Matt Harbison
largefiles: fix a traceback when addremove follows a remove (issue3507)...
r17231
Test 3507 (both normal files and largefiles were a problem)
$ touch normal
$ touch large
$ hg add normal
$ hg add --large large
$ hg ci -m "added"
Invoking status precommit hook
A large
A normal
Invoking status postcommit hook
C large
C normal
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
$ hg remove normal
$ hg addremove --traceback
$ hg ci -m "addremoved normal"
Invoking status precommit hook
R normal
Invoking status postcommit hook
C large
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
$ hg up -C '.^'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
0 largefiles updated, 0 removed
$ hg remove large
$ hg addremove --traceback
$ hg ci -m "removed large"
Invoking status precommit hook
R large
created new head
Invoking status postcommit hook
C normal
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
Matt Harbison
largefiles: ensure addlargefiles() doesn't add a standin as a largefile...
r17232 Test that a standin can't be added as a large file
$ touch large
$ hg add --large large
$ hg ci -m "add"
Invoking status precommit hook
A large
Invoking status postcommit hook
C large
C normal
C normal3
C sub/large4
C sub/normal4
C sub2/large6
C sub2/large7
$ hg remove large
$ touch large
$ hg addremove --config largefiles.patterns=**large --traceback
adding large as a largefile
Matt Harbison
largefiles: support revsets for outgoing --large...
r17271 Test that outgoing --large works (with revsets too)
$ hg outgoing --rev '.^' --large
Matt Harbison
largefiles: fix a traceback introduced with recent peer changes...
r17270 comparing with $TESTTMP/a (glob)
searching for changes
changeset: 8:c02fd3b77ec4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo
changeset: 9:289dd08c9bbb
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: used to say nothing changed
changeset: 10:34f23ac6ac12
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: added
changeset: 12:710c1b2f523c
parent: 10:34f23ac6ac12
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: removed large
searching for changes
largefiles to upload:
large
foo
Matt Harbison
largefiles: defer lfdirstate.drop() until after commit (issue3364)...
r17230 $ cd ../a
Greg Ward
largefiles: polish comments in test script
r15328 Clone a largefiles repo.
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Martin Geisler
largefiles: fix 'hg clone . ../foo' OSError abort...
r15548 $ hg clone . ../b
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
Martin Geisler
largefiles: fix 'hg clone . ../foo' OSError abort...
r15548 $ cd ../b
Na'Tosha Bard
largefiles: shorten test suite by using log --template
r15384 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
7:daea875e9014 add/edit more largefiles
6:4355d653f84f edit files yet again
5:9d5af5072dbd edit files again
4:74c02385b94c move files
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cat normal3
normal33
$ cat sub/normal4
normal44
$ cat sub/large4
large44
$ cat sub2/large6
large6
$ cat sub2/large7
large7
$ cd ..
$ hg clone a -r 3 c
adding changesets
adding manifests
adding file changes
added 4 changesets with 10 changes to 4 files
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
2 largefiles updated, 0 removed
$ cd c
Na'Tosha Bard
largefiles: shorten test suite by using log --template
r15384 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cat normal1
normal22
$ cat large1
large22
$ cat sub/normal2
normal22
$ cat sub/large2
large22
Greg Ward
largefiles: polish comments in test script
r15328 Old revisions of a clone have correct largefiles content (this also
tests update).
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594 $ hg update -r 1
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
$ cat large1
large11
$ cat sub/large2
large22
Na'Tosha Bard
largefiles: add --all-largefiles flag to clone (issue3188)
r16644 $ cd ..
Test cloning with --all-largefiles flag
Mads Kiilerich
tests: make rm of usercache in test-largefiles.t more robust...
r17092 $ rm "${USERCACHE}"/*
Na'Tosha Bard
largefiles: add --all-largefiles flag to clone (issue3188)
r16644 $ hg clone --all-largefiles a a-backup
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
8 additional largefiles cached
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251
Matt Harbison
largefiles: restore normal 'clone -u' and 'clone -U' functionality...
r17598 $ rm "${USERCACHE}"/*
$ hg clone --all-largefiles -u 0 a a-clone0
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
2 largefiles updated, 0 removed
9 additional largefiles cached
$ hg -R a-clone0 sum
parent: 0:30d30fe6a5be
add files
branch: default
commit: (clean)
update: 7 new changesets (update)
$ rm "${USERCACHE}"/*
$ hg clone --all-largefiles -u 1 a a-clone1
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
2 largefiles updated, 0 removed
8 additional largefiles cached
$ hg -R a-clone1 sum
parent: 1:ce8896473775
edit files
branch: default
commit: (clean)
update: 6 new changesets (update)
$ rm "${USERCACHE}"/*
$ hg clone --all-largefiles -U a a-clone-u
Matt Harbison
largefiles: restore caching of largefiles with 'clone -U --all-largefiles'...
r17599 11 additional largefiles cached
Matt Harbison
largefiles: restore normal 'clone -u' and 'clone -U' functionality...
r17598 $ hg -R a-clone-u sum
parent: -1:000000000000 (no revision checked out)
branch: default
commit: (clean)
update: 8 new changesets (update)
Levi Bard
largefiles: don't attempt to clone all largefiles to non-local destinations
r16723 $ hg clone --all-largefiles a ssh://localhost/a
abort: --all-largefiles is incompatible with non-local destination ssh://localhost/a
[255]
Na'Tosha Bard
largefiles: add --all-largefiles flag to pull
r16692 Test pulling with --all-largefiles flag
$ rm -Rf a-backup
$ hg clone -r 1 a a-backup
adding changesets
adding manifests
adding file changes
added 2 changesets with 8 changes to 4 files
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
2 largefiles updated, 0 removed
Mads Kiilerich
tests: make rm of usercache in test-largefiles.t more robust...
r17092 $ rm "${USERCACHE}"/*
Na'Tosha Bard
largefiles: add --all-largefiles flag to pull
r16692 $ cd a-backup
$ hg pull --all-largefiles
Adrian Buehlmann
test-largefiles: partially adapt for Windows...
r17088 pulling from $TESTTMP/a (glob)
Na'Tosha Bard
largefiles: add --all-largefiles flag to pull
r16692 searching for changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 16 changes to 8 files
(run 'hg update' to get a working copy)
caching new largefiles
3 largefiles cached
3 additional largefiles cached
$ cd ..
Greg Ward
largefiles: polish comments in test script
r15328 Rebasing between two repositories does not revert largefiles to old
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 revisions (this was a very bad bug that took a lot of work to fix).
$ hg clone a d
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
$ cd b
$ echo large4-modified > sub/large4
$ echo normal3-modified > normal3
$ hg commit -m "modify normal file and largefile in repo b"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M normal3
M sub/large4
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cd ../d
$ echo large6-modified > sub2/large6
$ echo normal4-modified > sub/normal4
$ hg commit -m "modify normal file largefile in repo d"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M sub/normal4
M sub2/large6
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ cd ..
$ hg clone d e
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
$ cd d
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ hg pull --rebase ../b
pulling from ../b
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files (+1 heads)
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M sub/normal4
M sub2/large6
Mads Kiilerich
tests: glob the remaining 'saved backup bundle to' to prepare for windows
r16900 saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-backup.hg (glob)
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 nothing to rebase
Na'Tosha Bard
largefiles: shorten test suite by using log --template
r15384 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b
7:daea875e9014 add/edit more largefiles
6:4355d653f84f edit files yet again
5:9d5af5072dbd edit files again
4:74c02385b94c move files
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: flush out tests to cover more operations and known cornercases
r15251 $ cat normal3
normal3-modified
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-modified
$ cat sub2/large6
large6-modified
$ cat sub2/large7
large7
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ cd ../e
$ hg pull ../b
pulling from ../b
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
Na'Tosha Bard
largefiles: cache new largefiles for new heads when pulling...
r15916 caching new largefiles
0 largefiles cached
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ hg rebase
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M sub/normal4
M sub2/large6
Mads Kiilerich
tests: glob the remaining 'saved backup bundle to' to prepare for windows
r16900 saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-backup.hg (glob)
Na'Tosha Bard
largefiles: clean up and shorten test output by using the same log format everywhere
r15784 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b
7:daea875e9014 add/edit more largefiles
6:4355d653f84f edit files yet again
5:9d5af5072dbd edit files again
4:74c02385b94c move files
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ cat normal3
normal3-modified
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-modified
$ cat sub2/large6
large6-modified
$ cat sub2/large7
large7
Greg Ward
largefiles: polish comments in test script
r15328 Rollback on largefiles.
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594 $ echo large4-modified-again > sub/large4
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ hg commit -m "Modify large4 again"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M sub/large4
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ hg rollback
repository tip rolled back to revision 9 (undo commit)
working directory now based on revision 9
$ hg st
M sub/large4
Na'Tosha Bard
largefiles: clean up and shorten test output by using the same log format everywhere
r15784 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b
7:daea875e9014 add/edit more largefiles
6:4355d653f84f edit files yet again
5:9d5af5072dbd edit files again
4:74c02385b94c move files
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 $ cat sub/large4
large4-modified-again
Greg Ward
largefiles: test "update --check"...
r15365 "update --check" refuses to update with uncommitted changes.
$ hg update --check 8
abort: uncommitted local changes
[255]
Greg Ward
largefiles: polish comments in test script
r15328 "update --clean" leaves correct largefiles in working copy.
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594 $ hg update --clean
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
$ cat normal3
normal3-modified
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-modified
$ cat sub2/large6
large6-modified
$ cat sub2/large7
large7
Greg Ward
largefiles: test "update --check"...
r15365 Now "update check" is happy.
$ hg update --check 8
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
$ hg update --check
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
Patrick Mezard
largefiles: remove empty directories upon update (issue3202)
r15900 Test removing empty largefiles directories on update
$ test -d sub2 && echo "sub2 exists"
sub2 exists
$ hg update -q null
$ test -d sub2 && echo "error: sub2 should not exist anymore"
[1]
$ hg update -q
Patrick Mezard
largefiles: test and simplify empty directory removal in remove
r15930 Test hg remove removes empty largefiles directories
$ test -d sub2 && echo "sub2 exists"
sub2 exists
$ hg remove sub2/*
$ test -d sub2 && echo "error: sub2 should not exist anymore"
[1]
$ hg revert sub2/large6 sub2/large7
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 "revert" works on largefiles (and normal files too).
$ echo hack3 >> normal3
$ echo hack4 >> sub/normal4
$ echo hack4 >> sub/large4
Na'Tosha Bard
largefiles: fix revert on missing largefile (issue3217)
r15983 $ rm sub2/large6
$ hg revert sub2/large6
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 $ hg rm sub2/large6
$ echo new >> sub2/large8
$ hg add --large sub2/large8
# XXX we don't really want to report that we're reverting the standin;
# that's just an implementation detail. But I don't see an obvious fix. ;-(
$ hg revert sub
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 reverting .hglf/sub/large4 (glob)
reverting sub/normal4 (glob)
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 $ hg status
M normal3
A sub2/large8
R sub2/large6
? sub/large4.orig
? sub/normal4.orig
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-modified
$ hg revert -a --no-backup
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 undeleting .hglf/sub2/large6 (glob)
forgetting .hglf/sub2/large8 (glob)
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 reverting normal3
$ hg status
? sub/large4.orig
? sub/normal4.orig
? sub2/large8
$ cat normal3
normal3-modified
$ cat sub2/large6
large6-modified
$ rm sub/*.orig sub2/large8
revert some files to an older revision
$ hg revert --no-backup -r 8 sub2
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 reverting .hglf/sub2/large6 (glob)
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 $ cat sub2/large6
large6
Matt Harbison
largefiles: support revsets for revert...
r17268 $ hg revert --no-backup -C -r '.^' sub2
reverting .hglf/sub2/large6 (glob)
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 $ hg revert --no-backup sub2
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 reverting .hglf/sub2/large6 (glob)
Greg Ward
largefiles: test reverting largefiles (coverage creeping ever upwards)...
r15366 $ hg status
Eli Carter
largefiles: fix typo
r15370 "verify --large" actually verifies largefiles
Na'Tosha Bard
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
r15297
$ hg verify --large
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
10 files, 10 changesets, 28 total revisions
searching 1 changesets for largefiles
verified existence of 3 revisions of 3 largefiles
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298
Na'Tosha Bard
largefiles: cache new largefiles for new heads when pulling...
r15916 Merging does not revert to old versions of largefiles and also check
that merging after having pulled from a non-default remote works
correctly.
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298
$ cd ..
Na'Tosha Bard
largefiles: cache new largefiles for new heads when pulling...
r15916 $ hg clone -r 7 e temp
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298 adding changesets
adding manifests
adding file changes
added 8 changesets with 24 changes to 10 files
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
Na'Tosha Bard
largefiles: cache new largefiles for new heads when pulling...
r15916 $ hg clone temp f
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
# Delete the largefiles in the largefiles system cache so that we have an
# opportunity to test that caching after a pull works.
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 $ rm "${USERCACHE}"/*
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298 $ cd f
$ echo "large4-merge-test" > sub/large4
$ hg commit -m "Modify large4 to test merge"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M sub/large4
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298 $ hg pull ../e
pulling from ../e
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 4 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
Na'Tosha Bard
largefiles: cache new largefiles for new heads when pulling...
r15916 caching new largefiles
2 largefiles cached
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298 $ hg merge
merging sub/large4
largefile sub/large4 has a merge conflict
keep (l)ocal or take (o)ther? l
3 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
getting changed largefiles
1 largefiles updated, 0 removed
$ hg commit -m "Merge repos e and f"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M normal3
M sub/normal4
M sub2/large6
Na'Tosha Bard
largefiles: test that merging does not result in wrong versions of largefiles
r15298 $ cat normal3
normal3-modified
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-merge-test
$ cat sub2/large6
large6-modified
$ cat sub2/large7
large7
Na'Tosha Bard
largefiles: test that a largefile cannot accidentally be re-added as a regular file
r15382
Martin Geisler
largefiles: fix 'hg status' abort after merge...
r15629 Test status after merging with a branch that introduces a new largefile:
$ echo large > large
$ hg add --large large
$ hg commit -m 'add largefile'
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A large
Martin Geisler
largefiles: fix 'hg status' abort after merge...
r15629 $ hg update -q ".^"
$ echo change >> normal3
$ hg commit -m 'some change'
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
M normal3
Martin Geisler
largefiles: fix 'hg status' abort after merge...
r15629 created new head
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
getting changed largefiles
1 largefiles updated, 0 removed
$ hg status
M large
Na'Tosha Bard
largefiles: test that a largefile cannot accidentally be re-added as a regular file
r15382 Test that a normal file and a largefile with the same name and path cannot
coexist.
$ rm sub2/large7
$ echo "largeasnormal" > sub2/large7
$ hg add sub2/large7
sub2/large7 already a largefile
Na'Tosha Bard
largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
r15383
Test that transplanting a largefile change works correctly.
$ cd ..
$ hg clone -r 8 d g
adding changesets
adding manifests
adding file changes
added 9 changesets with 26 changes to 10 files
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
3 largefiles updated, 0 removed
$ cd g
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594 $ hg transplant -s ../d 598410d3eb9a
Na'Tosha Bard
largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
r15383 searching for changes
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
Na'Tosha Bard
largefiles: only update changed largefiles when transplanting
r16246 getting changed largefiles
1 largefiles updated, 0 removed
Na'Tosha Bard
largefiles: shorten test suite by using log --template
r15384 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b
7:daea875e9014 add/edit more largefiles
6:4355d653f84f edit files yet again
5:9d5af5072dbd edit files again
4:74c02385b94c move files
3:9e8fbc4bce62 copy files
2:51a0ae4d5864 remove files
1:ce8896473775 edit files
0:30d30fe6a5be add files
Na'Tosha Bard
largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
r15383 $ cat normal3
normal3-modified
$ cat sub/normal4
normal4-modified
$ cat sub/large4
large4-modified
$ cat sub2/large6
large6-modified
$ cat sub2/large7
large7
Na'Tosha Bard
largefiles: fix rename (issue3093)
r15598
Na'Tosha Bard
largefiles: fix cat for largefiles (issue3352)...
r16439 Cat a largefile
$ hg cat normal3
normal3-modified
$ hg cat sub/large4
large4-modified
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 $ rm "${USERCACHE}"/*
Na'Tosha Bard
largefiles: fix cat for largefiles (issue3352)...
r16439 $ hg cat -r a381d2c8c80e -o cat.out sub/large4
$ cat cat.out
large4-modified
$ rm cat.out
$ hg cat -r a381d2c8c80e normal3
normal3-modified
Matt Harbison
largefiles: support revsets for cat...
r17269 $ hg cat -r '.^' normal3
normal3-modified
$ hg cat -r '.^' sub/large4
large4-modified
Na'Tosha Bard
largefiles: fix cat for largefiles (issue3352)...
r16439
Na'Tosha Bard
largefiles: fix rename (issue3093)
r15598 Test that renaming a largefile results in correct output for status
$ hg rename sub/large4 large4-renamed
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "test rename output"
Invoking status precommit hook
Na'Tosha Bard
largefiles: fix rename (issue3093)
r15598 A large4-renamed
R sub/large4
$ cat large4-renamed
large4-modified
$ cd sub2
$ hg rename large6 large6-renamed
$ hg st
A sub2/large6-renamed
R sub2/large6
Na'Tosha Bard
largefiles: add --normal option to hg add (issue3061)
r15944 $ cd ..
Test --normal flag
Mads Kiilerich
tests: don't use /dev/urandom for largefiles testing...
r16494 $ dd if=/dev/zero bs=2k count=11k > new-largefile 2> /dev/null
Na'Tosha Bard
largefiles: add --normal option to hg add (issue3061)
r15944 $ hg add --normal --large new-largefile
abort: --normal cannot be used with --large
[255]
$ hg add --normal new-largefile
new-largefile: up to 69 MB of RAM may be required to manage this file
(use 'hg revert new-largefile' to cancel the pending addition)
$ cd ..
Eli Carter
largefiles: include 'largefiles' in converted repository requirements
r15303
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #if serve
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 vanilla clients not locked out from largefiles servers on vanilla repos
$ mkdir r1
$ cd r1
$ hg init
$ echo c1 > f1
$ hg add f1
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "m1"
Invoking status precommit hook
A f1
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 $ cd ..
Thomas Arendsen Hein
tests: use $DAEMON_PIDS and killdaemons in largefiles test...
r15378 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
$ cat hg.pid >> $DAEMON_PIDS
Thomas Arendsen Hein
tests: make largefiles test use $HGPORT instead of 8001
r15377 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
largefiles clients still work with vanilla servers
Thomas Arendsen Hein
tests: use $DAEMON_PIDS and killdaemons in largefiles test...
r15378 $ hg --config extensions.largefiles=! serve -R r1 -d -p $HGPORT1 --pid-file hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg clone http://localhost:$HGPORT1 r3
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #endif
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336
vanilla clients locked out from largefiles http repos
$ mkdir r4
$ cd r4
$ hg init
$ echo c1 > f1
$ hg add --large f1
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "m1"
Invoking status precommit hook
A f1
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 $ cd ..
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089
Matt Harbison
largefiles: adjust localstore to handle batch statlfile requests (issue3583)...
r17411 largefiles can be pushed locally (issue3583)
$ hg init dest
$ cd r4
Matt Harbison
largefiles: preserve exit code from outgoing command (issue3611)...
r17575 $ hg outgoing ../dest
comparing with ../dest
searching for changes
changeset: 0:639881c12b4c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: m1
Matt Harbison
largefiles: adjust localstore to handle batch statlfile requests (issue3583)...
r17411 $ hg push ../dest
pushing to ../dest
searching for changes
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Thomas Arendsen Hein
largefiles: fix trailing spaces in test-largefiles.t...
r17594
Matt Harbison
largefiles: preserve exit code from outgoing command (issue3611)...
r17575 exit code with nothing outgoing (issue3611)
$ hg outgoing ../dest
comparing with ../dest
searching for changes
no changes found
[1]
Matt Harbison
largefiles: adjust localstore to handle batch statlfile requests (issue3583)...
r17411 $ cd ..
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #if serve
Thomas Arendsen Hein
tests: use $DAEMON_PIDS and killdaemons in largefiles test...
r15378 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 abort: remote error:
This repository uses the largefiles extension.
Please enable it in your Mercurial config file.
[255]
Thomas Arendsen Hein
tests: use $DAEMON_PIDS and killdaemons in largefiles test...
r15378
used all HGPORTs, kill all daemons
$ "$TESTDIR/killdaemons.py"
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #endif
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336
vanilla clients locked out from largefiles ssh repos
Mads Kiilerich
tests: quote dummyssh in a way that works on windows too...
r16541 $ hg --config extensions.largefiles=! clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 abort: remote error:
This repository uses the largefiles extension.
Please enable it in your Mercurial config file.
[255]
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #if serve
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 largefiles clients refuse to push largefiles repos to vanilla servers
$ mkdir r6
$ cd r6
$ hg init
$ echo c1 > f1
$ hg add f1
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "m1"
Invoking status precommit hook
A f1
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 $ cat >> .hg/hgrc <<!
> [web]
> push_ssl = false
> allow_push = *
> !
$ cd ..
$ hg clone r6 r7
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd r7
$ echo c2 > f2
$ hg add --large f2
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 $ hg commit -m "m2"
Invoking status precommit hook
A f2
Thomas Arendsen Hein
tests: use $DAEMON_PIDS and killdaemons in largefiles test...
r15378 $ hg --config extensions.largefiles=! -R ../r6 serve -d -p $HGPORT --pid-file ../hg.pid
$ cat ../hg.pid >> $DAEMON_PIDS
Thomas Arendsen Hein
tests: make largefiles test use $HGPORT instead of 8001
r15377 $ hg push http://localhost:$HGPORT
pushing to http://localhost:$HGPORT/
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 searching for changes
Thomas Arendsen Hein
tests: make largefiles test use $HGPORT instead of 8001
r15377 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
Andrew Pritchard
largefiles: test interaction between largefiles and vanilla clients and servers...
r15336 [255]
$ cd ..
Kevin Gessner
largefiles: display remote errors from putlfile (issue3123) (issue3149)
r15778 putlfile errors are shown (issue3123)
Adrian Buehlmann
test-largefiles: fix test failing on vfat file systems...
r17234 Corrupt the cached largefile in r7 and in the usercache (required for testing on vfat)
$ echo corruption > "$TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8"
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 $ echo corruption > "$USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8"
Kevin Gessner
largefiles: display remote errors from putlfile (issue3123) (issue3149)
r15778 $ hg init empty
$ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
> --config 'web.allow_push=*' --config web.push_ssl=False
$ cat hg.pid >> $DAEMON_PIDS
$ hg push -R r7 http://localhost:$HGPORT1
pushing to http://localhost:$HGPORT1/
searching for changes
remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
Adrian Buehlmann
test-largefiles: partially adapt for Windows...
r17088 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/ (glob)
Kevin Gessner
largefiles: display remote errors from putlfile (issue3123) (issue3149)
r15778 [255]
$ rm -rf empty
hlian
largefiles: in putlfile, ensure tempfile's directory exists prior to creation...
r16594 Push a largefiles repository to a served empty repository
$ hg init r8
$ echo c3 > r8/f1
$ hg add --large r8/f1 -R r8
$ hg commit -m "m1" -R r8
Invoking status precommit hook
A f1
$ hg init empty
$ hg serve -R empty -d -p $HGPORT2 --pid-file hg.pid \
> --config 'web.allow_push=*' --config web.push_ssl=False
$ cat hg.pid >> $DAEMON_PIDS
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 $ rm "${USERCACHE}"/*
hlian
largefiles: in putlfile, ensure tempfile's directory exists prior to creation...
r16594 $ hg push -R r8 http://localhost:$HGPORT2
pushing to http://localhost:$HGPORT2/
searching for changes
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
$ rm -rf empty
used all HGPORTs, kill all daemons
$ "$TESTDIR/killdaemons.py"
Mads Kiilerich
tests: enable test-largefiles.t on Windows MSYS...
r17089 #endif
Mads Kiilerich
tests: convert some hghave unix-permissions to #if
r16986 #if unix-permissions
Eli Carter
largefiles: testcase to simulate inter-user clone on local machine
r15318 Clone a local repository owned by another user
We have to simulate that here by setting $HOME and removing write permissions
$ ORIGHOME="$HOME"
$ mkdir alice
$ HOME="`pwd`/alice"
$ cd alice
$ hg init pubrepo
$ cd pubrepo
Mads Kiilerich
tests: don't use /dev/urandom for largefiles testing...
r16494 $ dd if=/dev/zero bs=1k count=11k > a-large-file 2> /dev/null
Eli Carter
largefiles: testcase to simulate inter-user clone on local machine
r15318 $ hg add --large a-large-file
$ hg commit -m "Add a large file"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A a-large-file
Eli Carter
largefiles: testcase to simulate inter-user clone on local machine
r15318 $ cd ..
$ chmod -R a-w pubrepo
$ cd ..
$ mkdir bob
$ HOME="`pwd`/bob"
$ cd bob
Matt Mackall
tests: fix spurious largefiles test failure on Cygwin
r15374 $ hg clone --pull ../alice/pubrepo pubrepo
Eli Carter
largefiles: testcase to simulate inter-user clone on local machine
r15318 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
$ cd ..
Mads Kiilerich
tests: don't leave temporary directories without write permission behind
r15514 $ chmod -R u+w alice/pubrepo
Eli Carter
largefiles: testcase to simulate inter-user clone on local machine
r15318 $ HOME="$ORIGHOME"
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369
Mads Kiilerich
tests: convert some hghave unix-permissions to #if
r16986 #endif
Mads Kiilerich
tests: convert some 'hghave symlink' to #if...
r16908 #if symlink
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369 Symlink to a large largefile should behave the same as a symlink to a normal file
$ hg init largesymlink
$ cd largesymlink
$ dd if=/dev/zero bs=1k count=10k of=largefile 2>/dev/null
$ hg add --large largefile
$ hg commit -m "commit a large file"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A largefile
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369 $ ln -s largefile largelink
$ hg add largelink
$ hg commit -m "commit a large symlink"
Levi Bard
largefiles: add precommit hook to check for inappropriate locking...
r15795 Invoking status precommit hook
A largelink
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369 $ rm -f largelink
$ hg up >/dev/null
Matt Mackall
check-code: fix issues with finding patterns in unified tests, fix tests...
r15372 $ test -f largelink
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369 [1]
$ test -L largelink
[1]
$ rm -f largelink # make next part of the test independent of the previous
$ hg up -C >/dev/null
Matt Mackall
check-code: fix issues with finding patterns in unified tests, fix tests...
r15372 $ test -f largelink
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369 $ test -L largelink
$ cd ..
Mads Kiilerich
tests: convert some 'hghave symlink' to #if...
r16908 #endif
FUJIWARA Katsunori
largefiles: check whether specified patterns are related to largefiles strictly...
r16110 test for pattern matching on 'hg status':
to boost performance, largefiles checks whether specified patterns are
related to largefiles in working directory (NOT to STANDIN) or not.
Eli Carter
largefiles: bugfix for symlink handling with testcase...
r15369
FUJIWARA Katsunori
largefiles: check whether specified patterns are related to largefiles strictly...
r16110 $ hg init statusmatch
$ cd statusmatch
$ mkdir -p a/b/c/d
$ echo normal > a/b/c/d/e.normal.txt
$ hg add a/b/c/d/e.normal.txt
$ echo large > a/b/c/d/e.large.txt
$ hg add --large a/b/c/d/e.large.txt
$ mkdir -p a/b/c/x
$ echo normal > a/b/c/x/y.normal.txt
$ hg add a/b/c/x/y.normal.txt
$ hg commit -m 'add files'
Invoking status precommit hook
A a/b/c/d/e.large.txt
A a/b/c/d/e.normal.txt
A a/b/c/x/y.normal.txt
(1) no pattern: no performance boost
$ hg status -A
C a/b/c/d/e.large.txt
C a/b/c/d/e.normal.txt
C a/b/c/x/y.normal.txt
(2) pattern not related to largefiles: performance boost
$ hg status -A a/b/c/x
C a/b/c/x/y.normal.txt
(3) pattern related to largefiles: no performance boost
$ hg status -A a/b/c/d
C a/b/c/d/e.large.txt
C a/b/c/d/e.normal.txt
(4) pattern related to STANDIN (not to largefiles): performance boost
$ hg status -A .hglf/a
C .hglf/a/b/c/d/e.large.txt
(5) mixed case: no performance boost
$ hg status -A a/b/c/x a/b/c/d
C a/b/c/d/e.large.txt
C a/b/c/d/e.normal.txt
C a/b/c/x/y.normal.txt
Dan Villiom Podlaski Christiansen
largefiles: don't break filesets
r16141 verify that largefiles doesn't break filesets
$ hg log --rev . --exclude "set:binary()"
changeset: 0:41bd42f10efa
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add files
Matt Harbison
largefiles: fix status -S reporting of subrepos (issue3231)...
r16515 verify that large files in subrepos handled properly
$ hg init subrepo
$ echo "subrepo = subrepo" > .hgsub
$ hg add .hgsub
$ hg ci -m "add subrepo"
Invoking status precommit hook
A .hgsub
? .hgsubstate
$ echo "rev 1" > subrepo/large.txt
$ hg -R subrepo add --large subrepo/large.txt
Matt Harbison
largefiles: notice dirty large files in a subrepo...
r16516 $ hg sum
parent: 1:8ee150ea2e9c tip
add subrepo
branch: default
commit: 1 subrepos
update: (current)
Matt Harbison
largefiles: fix status -S reporting of subrepos (issue3231)...
r16515 $ hg st
$ hg st -S
A subrepo/large.txt
Matt Harbison
largefiles: notice dirty large files in a subrepo...
r16516 $ hg ci -S -m "commit top repo"
committing subrepository subrepo
Matt Harbison
largefiles: fix status -S reporting of subrepos (issue3231)...
r16515 Invoking status precommit hook
A large.txt
Invoking status precommit hook
M .hgsubstate
Matt Harbison
largefiles: notice dirty large files in a subrepo...
r16516 # No differences
Matt Harbison
largefiles: fix status -S reporting of subrepos (issue3231)...
r16515 $ hg st -S
Matt Harbison
largefiles: notice dirty large files in a subrepo...
r16516 $ hg sum
parent: 2:ce4cd0c527a6 tip
commit top repo
branch: default
commit: (clean)
update: (current)
Matt Harbison
largefiles: fix status -S reporting of subrepos (issue3231)...
r16515 $ echo "rev 2" > subrepo/large.txt
$ hg st -S
M subrepo/large.txt
Matt Harbison
largefiles: notice dirty large files in a subrepo...
r16516 $ hg sum
parent: 2:ce4cd0c527a6 tip
commit top repo
branch: default
commit: 1 subrepos
update: (current)
$ hg ci -m "this commit should fail without -S"
abort: uncommitted changes in subrepo subrepo
(use --subrepos for recursive commit)
[255]
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578
Martin Geisler
test-largefiles: better formatting of comments
r16581 Add a normal file to the subrepo, then test archiving
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578 $ echo 'normal file' > subrepo/normal.txt
$ hg -R subrepo add subrepo/normal.txt
Martin Geisler
test-largefiles: better formatting of comments
r16581
Lock in subrepo, otherwise the change isn't archived
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578 $ hg ci -S -m "add normal file to top level"
committing subrepository subrepo
Invoking status precommit hook
M large.txt
A normal.txt
Invoking status precommit hook
M .hgsubstate
$ hg archive -S lf_subrepo_archive
Martin Geisler
test-largefiles: sort output to ensure test stability
r16580 $ find lf_subrepo_archive | sort
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578 lf_subrepo_archive
lf_subrepo_archive/.hg_archival.txt
Martin Geisler
test-largefiles: sort output to ensure test stability
r16580 lf_subrepo_archive/.hgsub
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578 lf_subrepo_archive/.hgsubstate
lf_subrepo_archive/a
lf_subrepo_archive/a/b
lf_subrepo_archive/a/b/c
lf_subrepo_archive/a/b/c/d
Martin Geisler
test-largefiles: sort output to ensure test stability
r16580 lf_subrepo_archive/a/b/c/d/e.large.txt
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578 lf_subrepo_archive/a/b/c/d/e.normal.txt
lf_subrepo_archive/a/b/c/x
lf_subrepo_archive/a/b/c/x/y.normal.txt
Martin Geisler
test-largefiles: sort output to ensure test stability
r16580 lf_subrepo_archive/subrepo
lf_subrepo_archive/subrepo/large.txt
lf_subrepo_archive/subrepo/normal.txt
Matt Harbison
largefiles: make archive -S store largefiles instead of standins...
r16578
FUJIWARA Katsunori
largefiles: check whether specified patterns are related to largefiles strictly...
r16110 $ cd ..