##// END OF EJS Templates
filemerge: move check for identical sides out of filemerge()...
filemerge: move check for identical sides out of filemerge() `filemerge.filemerge()` returns `None` if no merge was necessary because the two sides were identical. I don't think it should be that function's responsibility to handle that case; we should ideally not even call `filemerge.filemerge()` if the two inputs identical. This patch therefore moves the check out to the caller (`mergestate.py`). The largefiles test changed because we now notice that the two sides made the same change, so we don't consider it a merge. Also note that the new message better matches the line above it in the test output. Differential Revision: https://phab.mercurial-scm.org/D12154

File last commit:

r49604:93d6f0e7 default
r49604:93d6f0e7 default
Show More
test-largefiles-misc.t
1316 lines | 33.2 KiB | text/troff | Tads3Lexer
/ tests / test-largefiles-misc.t
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 This file contains testcases that tend to be related to special cases or less
common commands affecting largefile.
Gregory Szorc
largefiles: automatically load largefiles extension when required (BC)...
r39890 $ hg init requirements
$ cd requirements
# largefiles not loaded by default.
$ hg config extensions
[1]
# Adding largefiles to requires file will auto-load largefiles extension.
$ echo largefiles >> .hg/requires
$ hg config extensions
extensions.largefiles=
# But only if there is no config entry for the extension already.
$ cat > .hg/hgrc << EOF
> [extensions]
> largefiles=!
> EOF
$ hg config extensions
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: repository requires features unknown to this Mercurial: largefiles
Gregory Szorc
largefiles: automatically load largefiles extension when required (BC)...
r39890 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
[255]
$ cat > .hg/hgrc << EOF
> [extensions]
> largefiles=
> EOF
$ hg config extensions
extensions.largefiles=
$ cat > .hg/hgrc << EOF
> [extensions]
> largefiles = missing.py
> EOF
$ hg config extensions
extensions: highlight the name of the faulty extensions in the error message...
r49183 \*\*\* failed to import extension "largefiles" from missing.py: [Errno *] $ENOENT$: 'missing.py' (glob)
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: repository requires features unknown to this Mercurial: largefiles
Gregory Szorc
largefiles: automatically load largefiles extension when required (BC)...
r39890 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
[255]
$ cd ..
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 Each sections should be independent of each others.
$ USERCACHE="$TESTTMP/cache"; export USERCACHE
$ mkdir "${USERCACHE}"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> largefiles=
> purge=
> rebase=
> transplant=
> [phases]
> publish=False
> [largefiles]
> minsize=2
> patterns=glob:**.dat
> usercache=${USERCACHE}
> [hooks]
> precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
> EOF
Test copies and moves from a directory other than root (issue3516)
=========================================================================
$ 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
Matt Harbison
largefiles: don't mangle filesets when fixing up the log matcher...
r24813
TODO: Ideally, this should mention the largefile, not the standin
$ hg log -T '{rev}\n' --stat 'set:clean()'
0
.hglf/dira/dirb/largefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ 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
$ cd ..
$ hg mv dira dirc
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving .hglf/dira/baz/largefile to .hglf/dirc/baz/largefile
moving .hglf/dira/dirb/largefile to .hglf/dirc/dirb/largefile
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ find * | sort
dirc
dirc/baz
dirc/baz/largefile
dirc/dirb
dirc/dirb/largefile
Matt Harbison
largefiles: drop the override for 'fetch'...
r23441
$ hg clone -q . ../fetch
$ hg --config extensions.fetch= fetch ../fetch
abort: uncommitted changes
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg up -qC
$ cd ..
Clone a local repository owned by another user
===================================================
#if unix-permissions
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
$ dd if=/dev/zero bs=1k count=11k > a-large-file 2> /dev/null
$ hg add --large a-large-file
$ hg commit -m "Add a large file"
Invoking status precommit hook
A a-large-file
$ cd ..
$ chmod -R a-w pubrepo
$ cd ..
$ mkdir bob
$ HOME="`pwd`/bob"
$ cd bob
$ hg clone --pull ../alice/pubrepo pubrepo
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 09a186cfa6da (1 drafts)
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 updating to branch default
getting changed largefiles
1 largefiles updated, 0 removed
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
$ chmod -R u+w alice/pubrepo
$ HOME="$ORIGHOME"
#endif
Symlink to a large largefile should behave the same as a symlink to a normal file
=====================================================================================
#if symlink
$ 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"
Invoking status precommit hook
A largefile
$ ln -s largefile largelink
$ hg add largelink
$ hg commit -m "commit a large symlink"
Invoking status precommit hook
A largelink
$ rm -f largelink
$ hg up >/dev/null
$ test -f largelink
[1]
$ test -L largelink
[1]
$ rm -f largelink # make next part of the test independent of the previous
$ hg up -C >/dev/null
$ test -f largelink
$ test -L largelink
$ cd ..
#endif
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.
$ 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
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: set the extension as enabled locally after a share requiring it...
r31892 sharing a largefile repo automatically enables largefiles on the share
$ hg share --config extensions.share= . ../shared_lfrepo
updating working directory
getting changed largefiles
1 largefiles updated, 0 removed
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
tests: use debugrequires instead of grepping the file directly...
r49503 $ hg debugrequires -R ../shared_lfrepo | grep largefiles
Gregory Szorc
largefiles: automatically load largefiles extension when required (BC)...
r39890 largefiles
Matt Harbison
largefiles: set the extension as enabled locally after a share requiring it...
r31892
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 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
Matt Harbison
largefiles: enable subrepo support for add...
r23886 $ hg add --large subrepo/large.txt
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg sum
parent: 1:8ee150ea2e9c tip
add subrepo
branch: default
commit: 1 subrepos
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 2 draft
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg st
$ hg st -S
A subrepo/large.txt
$ hg ci -S -m "commit top repo"
committing subrepository subrepo
Invoking status precommit hook
A large.txt
Invoking status precommit hook
M .hgsubstate
# No differences
$ hg st -S
$ hg sum
parent: 2:ce4cd0c527a6 tip
commit top repo
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ echo "rev 2" > subrepo/large.txt
$ hg st -S
M subrepo/large.txt
$ hg sum
parent: 2:ce4cd0c527a6 tip
commit top repo
branch: default
commit: 1 subrepos
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg ci -m "this commit should fail without -S"
Matt Harbison
subrepo: make the output references to subrepositories consistent...
r33365 abort: uncommitted changes in subrepository "subrepo"
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 (use --subrepos for recursive commit)
[255]
Add a normal file to the subrepo, then test archiving
$ echo 'normal file' > subrepo/normal.txt
Matt Harbison
largefiles: properly sync lfdirstate after removing largefiles...
r23721 $ touch large.dat
Matt Harbison
largefiles: don't actually remove largefiles in an addremove dry run...
r23592 $ mv subrepo/large.txt subrepo/renamed-large.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ hg addremove -S --dry-run
adding large.dat as a largefile
removing subrepo/large.txt
adding subrepo/normal.txt
adding subrepo/renamed-large.txt
$ hg status -S
! subrepo/large.txt
? large.dat
? subrepo/normal.txt
? subrepo/renamed-large.txt
$ hg addremove --dry-run subrepo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 removing subrepo/large.txt
adding subrepo/normal.txt
adding subrepo/renamed-large.txt
Matt Harbison
largefiles: don't actually remove largefiles in an addremove dry run...
r23592 $ hg status -S
! subrepo/large.txt
Matt Harbison
largefiles: properly sync lfdirstate after removing largefiles...
r23721 ? large.dat
Matt Harbison
largefiles: don't actually remove largefiles in an addremove dry run...
r23592 ? subrepo/normal.txt
? subrepo/renamed-large.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ cd ..
$ hg -R statusmatch addremove --dry-run statusmatch/subrepo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 removing statusmatch/subrepo/large.txt
adding statusmatch/subrepo/normal.txt
adding statusmatch/subrepo/renamed-large.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ hg -R statusmatch status -S
! subrepo/large.txt
? large.dat
? subrepo/normal.txt
? subrepo/renamed-large.txt
$ hg -R statusmatch addremove --dry-run -S
Matt Harbison
largefiles: align the output messages for an added file with core methods...
r23767 adding large.dat as a largefile
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 removing subrepo/large.txt
adding subrepo/normal.txt
adding subrepo/renamed-large.txt
$ cd statusmatch
Matt Harbison
largefiles: don't actually remove largefiles in an addremove dry run...
r23592 $ mv subrepo/renamed-large.txt subrepo/large.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ hg addremove subrepo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding subrepo/normal.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ hg forget subrepo/normal.txt
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
Matt Harbison
largefiles: pass a matcher instead of a raw file list to removelargefiles()...
r23741 $ hg addremove -S
Matt Harbison
largefiles: properly sync lfdirstate after removing largefiles...
r23721 adding large.dat as a largefile
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 adding subrepo/normal.txt
Matt Harbison
largefiles: properly sync lfdirstate after removing largefiles...
r23721 $ rm large.dat
Matt Harbison
largefiles: pass a matcher instead of a raw file list to removelargefiles()...
r23741 $ hg addremove subrepo
$ hg addremove -S
Matt Harbison
largefiles: properly sync lfdirstate after removing largefiles...
r23721 removing large.dat
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 Lock in subrepo, otherwise the change isn't archived
$ 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
$ find ../lf_subrepo_archive | sort
../lf_subrepo_archive
../lf_subrepo_archive/.hg_archival.txt
../lf_subrepo_archive/.hgsub
../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
../lf_subrepo_archive/a/b/c/d/e.large.txt
../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
../lf_subrepo_archive/subrepo
../lf_subrepo_archive/subrepo/large.txt
../lf_subrepo_archive/subrepo/normal.txt
Yuya Nishihara
test-largefiles: verify content of .hg_archival.txt
r24679 $ cat ../lf_subrepo_archive/.hg_archival.txt
repo: 41bd42f10efa43698cc02052ea0977771cba506d
node: d56a95e6522858bc08a724c4fe2bdee066d1c30b
branch: default
latesttag: null
latesttagdistance: 4
Yuya Nishihara
largefiles: use common function to build content of .hg_archival.txt...
r24680 changessincelatesttag: 4
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
Test update with subrepos.
$ hg update 0
getting changed largefiles
0 largefiles updated, 1 removed
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg status -S
$ hg update tip
getting changed largefiles
1 largefiles updated, 0 removed
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg status -S
# modify a large file
$ echo "modified" > subrepo/large.txt
$ hg st -S
M subrepo/large.txt
# update -C should revert the change.
$ hg update -C
getting changed largefiles
1 largefiles updated, 0 removed
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg status -S
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 Forget doesn't change the content of the file
$ echo 'pre-forget content' > subrepo/large.txt
Matt Harbison
largefiles: don't warn when reverting a forgotten largefile...
r24133 $ hg forget -v subrepo/large.txt
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 removing subrepo/large.txt
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 $ cat subrepo/large.txt
pre-forget content
Matt Harbison
largefiles: don't warn when reverting a forgotten largefile...
r24133
Test reverting a forgotten file
$ hg revert -R subrepo subrepo/large.txt
$ hg status -SA subrepo/large.txt
C subrepo/large.txt
Matt Harbison
largefiles: enable subrepo support for remove...
r23782 $ hg rm -v subrepo/large.txt
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 removing subrepo/large.txt
Matt Harbison
largefiles: enable subrepo support for remove...
r23782 $ hg revert -R subrepo subrepo/large.txt
Matt Harbison
largefiles: align the output messages for a removed file with core methods...
r23766 $ rm subrepo/large.txt
$ hg addremove -S
removing subrepo/large.txt
$ hg st -S
R subrepo/large.txt
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 Test archiving a revision that references a subrepo that is not yet
cloned (see test-subrepo-recursion.t):
$ hg clone -U . ../empty
$ cd ../empty
$ hg archive --subrepos -r tip ../archive.tar.gz
cloning subrepo subrepo from $TESTTMP/statusmatch/subrepo
$ cd ..
Test addremove, forget and others
==============================================
Test that addremove picks up largefiles prior to the initial commit (issue3541)
$ hg init addrm2
$ cd addrm2
$ touch large.dat
$ touch large2.dat
$ touch normal
$ hg add --large large.dat
$ hg addremove -v
adding large2.dat as a largefile
adding normal
Test that forgetting all largefiles reverts to islfilesrepo() == False
(addremove will add *.dat as normal files now)
$ hg forget large.dat
$ hg forget large2.dat
$ hg addremove -v
adding large.dat
adding large2.dat
Test commit's addremove option prior to the first commit
$ hg forget large.dat
$ hg forget large2.dat
$ hg add --large large.dat
$ hg ci -Am "commit"
adding large2.dat as a largefile
Invoking status precommit hook
A large.dat
A large2.dat
A normal
$ find .hglf | sort
.hglf
.hglf/large.dat
.hglf/large2.dat
Test actions on largefiles using relative paths from subdir
$ mkdir sub
$ cd sub
$ echo anotherlarge > anotherlarge
$ hg add --large anotherlarge
$ hg st
A sub/anotherlarge
$ hg st anotherlarge
A anotherlarge
$ hg commit -m anotherlarge anotherlarge
Invoking status precommit hook
A sub/anotherlarge
$ hg log anotherlarge
changeset: 1:9627a577c5e9
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: anotherlarge
Matt Harbison
largefiles: handle logging from outside the repo...
r24208 $ hg --debug log -T '{rev}: {desc}\n' ../sub/anotherlarge
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: ../.hglf/sub/../sub/anotherlarge, ../sub/anotherlarge
Matt Harbison
largefiles: handle logging from outside the repo...
r24208 1: anotherlarge
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg log -G anotherlarge
@ changeset: 1:9627a577c5e9
| tag: tip
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~ user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: anotherlarge
Matt Harbison
largefiles: teach log to handle patterns...
r24206
$ hg log glob:another*
changeset: 1:9627a577c5e9
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: anotherlarge
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 $ hg --debug log -T '{rev}: {desc}\n' -G glob:another*
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: glob:../.hglf/sub/another*, glob:another*
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 @ 1: anotherlarge
Matt Harbison
largefiles: teach log to handle patterns...
r24206 |
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
Matt Harbison
largefiles: teach log to handle patterns...
r24206
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 #if no-msys
$ hg --debug log -T '{rev}: {desc}\n' 'glob:../.hglf/sub/another*' # no-msys
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: glob:../.hglf/sub/another*
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 1: anotherlarge
$ hg --debug log -G -T '{rev}: {desc}\n' 'glob:../.hglf/sub/another*' # no-msys
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: glob:../.hglf/sub/another*
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 @ 1: anotherlarge
|
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
Matt Harbison
largefiles: don't prefix standin patterns with '.hglf' when logging...
r24207 #endif
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ echo more >> anotherlarge
$ hg st .
M anotherlarge
$ hg cat anotherlarge
anotherlarge
$ hg revert anotherlarge
$ hg st
? sub/anotherlarge.orig
Christian Delahousse
largefiles: specify where .orig files are kept...
r26944
Test orig files go where we want them
$ echo moremore >> anotherlarge
$ hg revert anotherlarge -v --config 'ui.origbackuppath=.hg/origbackups'
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 creating directory: $TESTTMP/addrm2/.hg/origbackups/.hglf/sub
Martin von Zweigbergk
revert: always show relative path to .orig backup...
r41731 saving current version of ../.hglf/sub/anotherlarge as ../.hg/origbackups/.hglf/sub/anotherlarge
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting ../.hglf/sub/anotherlarge
creating directory: $TESTTMP/addrm2/.hg/origbackups/sub
Christian Delahousse
largefiles: specify where .orig files are kept...
r26944 found 90c622cf65cebe75c5842f9136c459333faf392e in store
found 90c622cf65cebe75c5842f9136c459333faf392e in store
$ ls ../.hg/origbackups/sub
Mark Thomas
scmutil: don't append .orig to backups in origbackuppath (BC)...
r34145 anotherlarge
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ cd ..
Matt Harbison
largefiles: teach log to handle patterns...
r24206 Test glob logging from the root dir
$ hg log glob:**another*
changeset: 1:9627a577c5e9
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: anotherlarge
$ hg log -G glob:**another*
@ changeset: 1:9627a577c5e9
| tag: tip
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~ user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: anotherlarge
Matt Harbison
largefiles: teach log to handle patterns...
r24206
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ cd ..
Matt Harbison
largefiles: handle logging from outside the repo...
r24208 Log from outer space
$ hg --debug log -R addrm2 -T '{rev}: {desc}\n' 'addrm2/sub/anotherlarge'
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: addrm2/.hglf/sub/anotherlarge, addrm2/sub/anotherlarge
Matt Harbison
largefiles: handle logging from outside the repo...
r24208 1: anotherlarge
$ hg --debug log -R addrm2 -T '{rev}: {desc}\n' 'addrm2/.hglf/sub/anotherlarge'
Pulkit Goyal
py3: explicitly convert a list to bytes to pass in ui.debug...
r32308 updated patterns: addrm2/.hglf/sub/anotherlarge
Matt Harbison
largefiles: handle logging from outside the repo...
r24208 1: anotherlarge
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 Check error message while exchange
=========================================================
issue3651: summary/outgoing with largefiles shows "no remote repo"
unexpectedly
$ mkdir issue3651
$ cd issue3651
$ hg init src
$ echo a > src/a
$ hg -R src add --large src/a
$ hg -R src commit -m '#0'
Invoking status precommit hook
A a
check messages when no remote repository is specified:
"no remote repo" route for "hg outgoing --large" is not tested here,
because it can't be reproduced easily.
$ hg init clone1
$ hg -R clone1 -q pull src
$ hg -R clone1 -q update
$ hg -R clone1 paths | grep default
[1]
$ hg -R clone1 summary --large
parent: 0:fc0bd45326d3 tip
#0
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 1 draft
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 largefiles: (no remote repo)
check messages when there is no files to upload:
$ hg -q clone src clone2
$ hg -R clone2 paths | grep default
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 default = $TESTTMP/issue3651/src
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
$ hg -R clone2 summary --large
parent: 0:fc0bd45326d3 tip
#0
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 1 draft
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 largefiles: (no files to upload)
$ hg -R clone2 outgoing --large
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 searching for changes
no changes found
largefiles: no files to upload
[1]
$ hg -R clone2 outgoing --large --graph --template "{rev}"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 searching for changes
no changes found
largefiles: no files to upload
outgoing: merge the code handling --graph with the main one...
r47677 [1]
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
check messages when there are files to upload:
$ echo b > clone2/b
$ hg -R clone2 add --large clone2/b
$ hg -R clone2 commit -m '#1'
Invoking status precommit hook
A b
$ hg -R clone2 summary --large
parent: 1:1acbe71ce432 tip
#1
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 2 draft
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg summary"...
r21882 largefiles: 1 entities for 1 files to upload
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg -R clone2 outgoing --large
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 searching for changes
changeset: 1:1acbe71ce432
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: #1
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (1 entities):
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 b
$ hg -R clone2 outgoing --large --graph --template "{rev}"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 searching for changes
@ 1
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (1 entities):
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 b
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 $ cp clone2/b clone2/b1
$ cp clone2/b clone2/b2
$ hg -R clone2 add --large clone2/b1 clone2/b2
$ hg -R clone2 commit -m '#2: add largefiles referring same entity'
Invoking status precommit hook
A b1
A b2
$ hg -R clone2 summary --large
parent: 2:6095d0695d70 tip
#2: add largefiles referring same entity
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg summary"...
r21882 largefiles: 1 entities for 3 files to upload
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 searching for changes
1:1acbe71ce432
2:6095d0695d70
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (1 entities):
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 b
b1
b2
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 $ hg -R clone2 cat -r 1 clone2/.hglf/b
89e6c98d92887913cadf06b2adb97f26cde4849b
Pierre-Yves David
progress: get the extremely verbose output out of default debug...
r25125 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" --debug --config progress.debug=true
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 query 1; heads
searching for changes
all remote heads known locally
1:1acbe71ce432
2:6095d0695d70
av6
largefiles: use revisions as a ui.progress unit...
r28464 finding outgoing largefiles: 0/2 revisions (0.00%)
finding outgoing largefiles: 1/2 revisions (50.00%)
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (1 entities):
b
89e6c98d92887913cadf06b2adb97f26cde4849b
b1
89e6c98d92887913cadf06b2adb97f26cde4849b
b2
89e6c98d92887913cadf06b2adb97f26cde4849b
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881
$ echo bbb > clone2/b
$ hg -R clone2 commit -m '#3: add new largefile entity as existing file'
Invoking status precommit hook
M b
$ echo bbbb > clone2/b
$ hg -R clone2 commit -m '#4: add new largefile entity as existing file'
Invoking status precommit hook
M b
$ cp clone2/b1 clone2/b
$ hg -R clone2 commit -m '#5: refer existing largefile entity again'
Invoking status precommit hook
M b
$ hg -R clone2 summary --large
parent: 5:036794ea641c tip
#5: refer existing largefile entity again
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 6 draft
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg summary"...
r21882 largefiles: 3 entities for 3 files to upload
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 searching for changes
1:1acbe71ce432
2:6095d0695d70
3:7983dce246cc
4:233f12ada4ae
5:036794ea641c
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (3 entities):
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881 b
b1
b2
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 $ hg -R clone2 cat -r 3 clone2/.hglf/b
c801c9cfe94400963fcb683246217d5db77f9a9a
$ hg -R clone2 cat -r 4 clone2/.hglf/b
13f9ed0898e315bf59dc2973fec52037b6f441a2
Pierre-Yves David
progress: get the extremely verbose output out of default debug...
r25125 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" --debug --config progress.debug=true
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 query 1; heads
searching for changes
all remote heads known locally
1:1acbe71ce432
2:6095d0695d70
3:7983dce246cc
4:233f12ada4ae
5:036794ea641c
av6
largefiles: use revisions as a ui.progress unit...
r28464 finding outgoing largefiles: 0/5 revisions (0.00%)
finding outgoing largefiles: 1/5 revisions (20.00%)
finding outgoing largefiles: 2/5 revisions (40.00%)
finding outgoing largefiles: 3/5 revisions (60.00%)
finding outgoing largefiles: 4/5 revisions (80.00%)
FUJIWARA Katsunori
largefiles: show also how many data entities are outgoing at "hg outgoing"...
r21883 largefiles to upload (3 entities):
b
13f9ed0898e315bf59dc2973fec52037b6f441a2
89e6c98d92887913cadf06b2adb97f26cde4849b
c801c9cfe94400963fcb683246217d5db77f9a9a
b1
89e6c98d92887913cadf06b2adb97f26cde4849b
b2
89e6c98d92887913cadf06b2adb97f26cde4849b
FUJIWARA Katsunori
largefiles: add tests for summary/outgoing improved in subsequent patches...
r21881
Mads Kiilerich
spelling: fixes from proofreading of spell checker issues
r23139 Pushing revision #1 causes uploading entity 89e6c98d9288, which is
FUJIWARA Katsunori
largefiles: confirm existence of outgoing largefile entities in remote store...
r21884 shared also by largefiles b1, b2 in revision #2 and b in revision #5.
Then, entity 89e6c98d9288 is not treated as "outgoing entity" at "hg
summary" and "hg outgoing", even though files in outgoing revision #2
and #5 refer it.
$ hg -R clone2 push -r 1 -q
$ hg -R clone2 summary --large
parent: 5:036794ea641c tip
#5: refer existing largefile entity again
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 6 draft
FUJIWARA Katsunori
largefiles: confirm existence of outgoing largefile entities in remote store...
r21884 largefiles: 2 entities for 1 files to upload
$ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: confirm existence of outgoing largefile entities in remote store...
r21884 searching for changes
2:6095d0695d70
3:7983dce246cc
4:233f12ada4ae
5:036794ea641c
largefiles to upload (2 entities):
b
Pierre-Yves David
progress: get the extremely verbose output out of default debug...
r25125 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" --debug --config progress.debug=true
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/issue3651/src
FUJIWARA Katsunori
largefiles: confirm existence of outgoing largefile entities in remote store...
r21884 query 1; heads
searching for changes
all remote heads known locally
2:6095d0695d70
3:7983dce246cc
4:233f12ada4ae
5:036794ea641c
av6
largefiles: use revisions as a ui.progress unit...
r28464 finding outgoing largefiles: 0/4 revisions (0.00%)
finding outgoing largefiles: 1/4 revisions (25.00%)
finding outgoing largefiles: 2/4 revisions (50.00%)
finding outgoing largefiles: 3/4 revisions (75.00%)
FUJIWARA Katsunori
largefiles: confirm existence of outgoing largefile entities in remote store...
r21884 largefiles to upload (2 entities):
b
13f9ed0898e315bf59dc2973fec52037b6f441a2
c801c9cfe94400963fcb683246217d5db77f9a9a
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ cd ..
merge action 'd' for 'local renamed directory to d2/g' which has no filename
==================================================================================
$ hg init merge-action
$ cd merge-action
$ touch l
$ hg add --large l
$ mkdir d1
$ touch d1/f
$ hg ci -Aqm0
Invoking status precommit hook
A d1/f
A l
$ echo > d1/f
$ touch d1/g
$ hg ci -Aqm1
Invoking status precommit hook
M d1/f
A d1/g
$ hg up -qr0
$ hg mv d1 d2
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving d1/f to d2/f
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg ci -qm2
Invoking status precommit hook
A d2/f
R d1/f
$ hg merge
merging d2/f and d1/f to d2/f
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cd ..
Merge conflicts:
=====================
$ hg init merge
$ cd merge
$ echo 0 > f-different
$ echo 0 > f-same
$ echo 0 > f-unchanged-1
$ echo 0 > f-unchanged-2
$ hg add --large *
$ hg ci -m0
Invoking status precommit hook
A f-different
A f-same
A f-unchanged-1
A f-unchanged-2
$ echo tmp1 > f-unchanged-1
$ echo tmp1 > f-unchanged-2
$ echo tmp1 > f-same
$ hg ci -m1
Invoking status precommit hook
M f-same
M f-unchanged-1
M f-unchanged-2
$ echo 2 > f-different
$ echo 0 > f-unchanged-1
$ echo 1 > f-unchanged-2
$ echo 1 > f-same
$ hg ci -m2
Invoking status precommit hook
M f-different
M f-same
M f-unchanged-1
M f-unchanged-2
$ hg up -qr0
$ echo tmp2 > f-unchanged-1
$ echo tmp2 > f-unchanged-2
$ echo tmp2 > f-same
$ hg ci -m3
Invoking status precommit hook
M f-same
M f-unchanged-1
M f-unchanged-2
created new head
$ echo 1 > f-different
$ echo 1 > f-unchanged-1
$ echo 0 > f-unchanged-2
$ echo 1 > f-same
$ hg ci -m4
Invoking status precommit hook
M f-different
M f-same
M f-unchanged-1
M f-unchanged-2
$ hg merge
largefile f-different has a merge conflict
ancestor was 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7
Kyle Lippincott
largefiles: make last line of prompts <40 english chars (issue6158)...
r42790 you can keep (l)ocal e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e or take (o)ther 7448d8798a4380162d4b56f9b452e2f6f9e24e7a.
what do you want to do? l
FUJIWARA Katsunori
largefiles: update largefiles even if rebase is aborted by conflict...
r22288 getting changed largefiles
1 largefiles updated, 0 removed
Martin von Zweigbergk
filemerge: move check for identical sides out of filemerge()...
r49604 1 files updated, 3 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 (branch merge, don't forget to commit)
$ cat f-different
1
$ cat f-same
1
$ cat f-unchanged-1
1
$ cat f-unchanged-2
1
$ cd ..
Test largefile insulation (do not enabled a side effect
========================================================
Check whether "largefiles" feature is supported only in repositories
enabling largefiles extension.
$ mkdir individualenabling
$ cd individualenabling
$ hg init enabledlocally
$ echo large > enabledlocally/large
$ hg -R enabledlocally add --large enabledlocally/large
$ hg -R enabledlocally commit -m '#0'
Invoking status precommit hook
A large
$ hg init notenabledlocally
$ echo large > notenabledlocally/large
$ hg -R notenabledlocally add --large notenabledlocally/large
$ hg -R notenabledlocally commit -m '#0'
Invoking status precommit hook
A large
$ cat >> $HGRCPATH <<EOF
> [extensions]
> # disable globally
> largefiles=!
> EOF
$ cat >> enabledlocally/.hg/hgrc <<EOF
> [extensions]
> # enable locally
> largefiles=
> EOF
$ hg -R enabledlocally root
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 $TESTTMP/individualenabling/enabledlocally
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 $ hg -R notenabledlocally root
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: repository requires features unknown to this Mercurial: largefiles
Matt Mackall
urls: bulk-change primary website URLs
r26421 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 [255]
$ hg init push-dst
$ hg -R enabledlocally push push-dst
pushing to push-dst
abort: required features are not supported in the destination: largefiles
[255]
$ hg init pull-src
$ hg -R pull-src pull enabledlocally
pulling from enabledlocally
abort: required features are not supported in the destination: largefiles
[255]
$ hg clone enabledlocally clone-dst
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: repository requires features unknown to this Mercurial: largefiles
Matt Mackall
urls: bulk-change primary website URLs
r26421 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 [255]
$ test -d clone-dst
[1]
$ hg clone --pull enabledlocally clone-pull-dst
abort: required features are not supported in the destination: largefiles
[255]
$ test -d clone-pull-dst
[1]
#if serve
Test largefiles specific peer setup, when largefiles is enabled
locally (issue4109)
$ hg showconfig extensions | grep largefiles
extensions.largefiles=!
$ mkdir -p $TESTTMP/individualenabling/usercache
$ hg serve -R enabledlocally -d -p $HGPORT --pid-file hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg init pull-dst
$ cat > pull-dst/.hg/hgrc <<EOF
> [extensions]
> # enable locally
> largefiles=
> [largefiles]
> # ignore system cache to force largefiles specific wire proto access
> usercache=$TESTTMP/individualenabling/usercache
> EOF
$ hg -R pull-dst -q pull -u http://localhost:$HGPORT
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424 #endif
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158 Test overridden functions work correctly even for repos disabling
largefiles (issue4547)
$ hg showconfig extensions | grep largefiles
extensions.largefiles=!
(test updating implied by clone)
$ hg init enabled-but-no-largefiles
$ echo normal1 > enabled-but-no-largefiles/normal1
$ hg -R enabled-but-no-largefiles add enabled-but-no-largefiles/normal1
$ hg -R enabled-but-no-largefiles commit -m '#0@enabled-but-no-largefiles'
Invoking status precommit hook
A normal1
$ cat >> enabled-but-no-largefiles/.hg/hgrc <<EOF
> [extensions]
> # enable locally
> largefiles=
> EOF
$ hg clone -q enabled-but-no-largefiles no-largefiles
$ echo normal2 > enabled-but-no-largefiles/normal2
$ hg -R enabled-but-no-largefiles add enabled-but-no-largefiles/normal2
$ hg -R enabled-but-no-largefiles commit -m '#1@enabled-but-no-largefiles'
Invoking status precommit hook
A normal2
$ echo normal3 > no-largefiles/normal3
$ hg -R no-largefiles add no-largefiles/normal3
$ hg -R no-largefiles commit -m '#1@no-largefiles'
Invoking status precommit hook
A normal3
$ hg -R no-largefiles -q pull --rebase
Invoking status precommit hook
FUJIWARA Katsunori
context: write dirstate out explicitly after marking files as clean...
r25753 A normal3
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158
(test reverting)
$ hg init subrepo-root
$ cat >> subrepo-root/.hg/hgrc <<EOF
> [extensions]
> # enable locally
> largefiles=
> EOF
$ echo large > subrepo-root/large
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 $ mkdir -p subrepo-root/dir/subdir
$ echo large2 > subrepo-root/dir/subdir/large.bin
$ hg -R subrepo-root add --large subrepo-root/large subrepo-root/dir/subdir/large.bin
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158 $ hg clone -q no-largefiles subrepo-root/no-largefiles
$ cat > subrepo-root/.hgsub <<EOF
> no-largefiles = no-largefiles
> EOF
$ hg -R subrepo-root add subrepo-root/.hgsub
$ hg -R subrepo-root commit -m '#0'
Invoking status precommit hook
A .hgsub
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 A dir/subdir/large.bin
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158 A large
? .hgsubstate
$ echo dirty >> subrepo-root/large
$ echo dirty >> subrepo-root/no-largefiles/normal1
$ hg -R subrepo-root status -S
M large
M no-largefiles/normal1
Matt Harbison
largefiles: avoid a crash when archiving a subrepo with largefiles disabled...
r32835 $ hg -R subrepo-root extdiff -p echo -S --config extensions.extdiff=
"*\\no-largefiles\\normal1" "*\\no-largefiles\\normal1" (glob) (windows !)
*/no-largefiles/normal1 */no-largefiles/normal1 (glob) (no-windows !)
[1]
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158 $ hg -R subrepo-root revert --all
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting subrepo-root/.hglf/large
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158 reverting subrepo no-largefiles
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting subrepo-root/no-largefiles/normal1
FUJIWARA Katsunori
largefiles: access to specific fields only if largefiles enabled (issue4547)...
r24158
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 Move (and then undo) a directory move with only largefiles.
$ cd subrepo-root
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir/
.hglf/dir/subdir/
.hglf/dir/subdir/large.bin
.hglf/large
dir/
dir/subdir/
dir/subdir/large.bin
large
large.orig
$ hg mv dir/subdir dir/subdir2
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving .hglf/dir/subdir/large.bin to .hglf/dir/subdir2/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir/
.hglf/dir/subdir2/
.hglf/dir/subdir2/large.bin
.hglf/large
dir/
dir/subdir2/
dir/subdir2/large.bin
large
large.orig
$ hg status -C
A dir/subdir2/large.bin
dir/subdir/large.bin
R dir/subdir/large.bin
? large.orig
$ echo 'modified' > dir/subdir2/large.bin
$ hg status -C
A dir/subdir2/large.bin
dir/subdir/large.bin
R dir/subdir/large.bin
? large.orig
$ hg revert --all
Sushil khanchi
revert: fix the inconsistency of status msgs in --interactive mode...
r39442 forgetting .hglf/dir/subdir2/large.bin
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 undeleting .hglf/dir/subdir/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 reverting subrepo no-largefiles
$ hg status -C
? dir/subdir2/large.bin
? large.orig
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 The content of the forgotten file shouldn't be clobbered
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
$ cat dir/subdir2/large.bin
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 modified
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 The standin for subdir2 should be deleted, not just dropped
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir/
.hglf/dir/subdir/
.hglf/dir/subdir/large.bin
.hglf/large
dir/
dir/subdir/
dir/subdir/large.bin
dir/subdir2/
dir/subdir2/large.bin
large
large.orig
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 $ rm -r dir/subdir2
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 'subdir' should not be in the destination. It would be if the subdir2 directory
existed under .hglf/.
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 $ hg mv dir/subdir dir/subdir2
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving .hglf/dir/subdir/large.bin to .hglf/dir/subdir2/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
$ hg status -C
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 A dir/subdir2/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 dir/subdir/large.bin
R dir/subdir/large.bin
? large.orig
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir/
.hglf/dir/subdir2/
.hglf/dir/subdir2/large.bin
.hglf/large
dir/
dir/subdir2/
Matt Harbison
largefiles: pay attention to dropped standin files when updating largefiles...
r35175 dir/subdir2/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 large
large.orig
Start from scratch, and rename something other than the final path component.
$ hg up -qC .
$ hg --config extensions.purge= purge
$ hg mv dir/subdir dir2/subdir
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving .hglf/dir/subdir/large.bin to .hglf/dir2/subdir/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174
$ hg status -C
A dir2/subdir/large.bin
dir/subdir/large.bin
R dir/subdir/large.bin
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir2/
.hglf/dir2/subdir/
.hglf/dir2/subdir/large.bin
.hglf/large
dir2/
dir2/subdir/
dir2/subdir/large.bin
large
$ hg revert --all
Sushil khanchi
revert: fix the inconsistency of status msgs in --interactive mode...
r39442 forgetting .hglf/dir2/subdir/large.bin
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 undeleting .hglf/dir/subdir/large.bin
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 reverting subrepo no-largefiles
$ hg status -C
? dir2/subdir/large.bin
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/list-tree.py .hglf dir* large*
Matt Harbison
test-largefiles: demonstrate problems with renaming and reverting a directory...
r35174 .hglf/
.hglf/dir/
.hglf/dir/subdir/
.hglf/dir/subdir/large.bin
.hglf/large
dir/
dir/subdir/
dir/subdir/large.bin
dir2/
dir2/subdir/
dir2/subdir/large.bin
large
$ cd ../..
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
FUJIWARA Katsunori
largefiles: remove meaningless code path for "hg pull --rebase"...
r23183 Test "pull --rebase" when rebase is enabled before largefiles (issue3861)
=========================================================================
Pierre-Yves David
test: split test-largefile.t in multiple file...
r21424
FUJIWARA Katsunori
largefiles: remove meaningless code path for "hg pull --rebase"...
r23183 $ hg showconfig extensions | grep largefiles
extensions.largefiles=!
$ mkdir issue3861
$ cd issue3861
$ hg init src
$ hg clone -q src dst
$ echo a > src/a
$ hg -R src commit -Aqm "#0"
Invoking status precommit hook
A a
$ cat >> dst/.hg/hgrc <<EOF
> [extensions]
> largefiles=
> EOF
$ hg -R dst pull --rebase
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pulling from $TESTTMP/issue3861/src
FUJIWARA Katsunori
largefiles: remove meaningless code path for "hg pull --rebase"...
r23183 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets bf5e395ced2c (1 drafts)
Pierre-Yves David
rebase: choose default destination the same way as 'hg merge' (BC)...
r28189 nothing to rebase - updating instead
FUJIWARA Katsunori
largefiles: remove meaningless code path for "hg pull --rebase"...
r23183 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..