##// END OF EJS Templates
largefiles: factor out procedures to update standins for pre-committing...
largefiles: factor out procedures to update standins for pre-committing This patch factors out procedures to update standins for pre-committing. This is one of preparations to avoid execution of such procedures according to invocation context. For example, resuming automated committing (e.g. "hg rebase --continue") should update standins at the 1st commit, because largefiles in the working directory may be modified manually. But on the other hand, it should avoid updating standins at subsequent committings for efficiency reason. For simplicity, this patch just moves procedures mechanically only with replacing below. - "self" => "repo" - "lfutil." => (none) - "orig" invocation => returning "match" Using "fstandin" instead "standin" as the name of local variable for the loop below is the only special care, because the latter shadows the same name function in "lfutil.py". [before] for standin in standins: lfile = lfutil.splitstandin(standin) if lfdirstate[lfile] != 'r': lfutil.updatestandin(self, standin) [after] for fstandin in standins: lfile = splitstandin(fstandin) if lfdirstate[lfile] != 'r': updatestandin(repo, fstandin)

File last commit:

r22046:7a9cbb31 default
r23185:9870173e default
Show More
test-casefolding.t
198 lines | 3.5 KiB | text/troff | Tads3Lexer
/ tests / test-casefolding.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require icasefs
Brodie Rao
tests: unify test-casefolding
r12603
Mads Kiilerich
update: don't clobber untracked files with wrong casing
r15538 $ hg debugfs | grep 'case-sensitive:'
case-sensitive: no
Brodie Rao
tests: unify test-casefolding
r12603 test file addition with bad case
$ hg init repo1
$ cd repo1
$ echo a > a
$ hg add A
adding a
$ hg st
A a
$ hg ci -m adda
$ hg manifest
a
$ cd ..
test case collision on rename (issue750)
$ hg init repo2
$ cd repo2
$ echo a > a
$ hg --debug ci -Am adda
adding a
a
committed changeset 0:07f4944404050f47db2e5c5071e0e84e7a27bba9
Matt Mackall
tests: remove case-folding false positive
r16288
Case-changing renames should work:
Brodie Rao
tests: unify test-casefolding
r12603
Matt Mackall
tests: remove case-folding false positive
r16288 $ hg mv a A
$ hg mv A a
Brodie Rao
tests: unify test-casefolding
r12603 $ hg st
Patrick Mezard
dirstate: preserve path components case on renames (issue3402)...
r16542
test changing case of path components
$ mkdir D
$ echo b > D/b
$ hg ci -Am addb D/b
$ hg mv D/b d/b
D/b: not overwriting - file exists
$ hg mv D/b d/c
$ hg st
A D/c
R D/b
$ mv D temp
$ mv temp d
$ hg st
A D/c
R D/b
$ hg revert -aq
$ rm d/c
$ echo c > D/c
$ hg add D/c
$ hg st
A D/c
$ hg ci -m addc D/c
$ hg mv d/b d/e
Mads Kiilerich
tests: accept \ in test-casefolding on windows
r16605 moving D/b to D/e (glob)
Patrick Mezard
dirstate: preserve path components case on renames (issue3402)...
r16542 $ hg st
A D/e
R D/b
$ hg revert -aq
$ rm d/e
$ hg mv d/b D/B
Mads Kiilerich
tests: accept \ in test-casefolding on windows
r16605 moving D/b to D/B (glob)
Patrick Mezard
dirstate: preserve path components case on renames (issue3402)...
r16542 $ hg st
A D/B
R D/b
Brodie Rao
tests: unify test-casefolding
r12603 $ cd ..
test case collision between revisions (issue912)
$ hg init repo3
$ cd repo3
$ echo a > a
$ hg ci -Am adda
adding a
$ hg rm a
$ hg ci -Am removea
$ echo A > A
on linux hfs keeps the old case stored, force it
$ mv a aa
$ mv aa A
$ hg ci -Am addA
adding A
used to fail under case insensitive fs
$ hg up -C 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg up -C
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Mads Kiilerich
update: don't clobber untracked files with wrong casing
r15538
no clobbering of untracked files with wrong casing
$ hg up -r null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo gold > a
$ hg up
Matt Mackall
merge: fix unknown file merge detection for case-folding systems...
r16284 A: untracked file differs
Jordi Gutiérrez Hermoso
merge: report all files in _checkunknown...
r15894 abort: untracked files in working directory differ from files in requested revision
Mads Kiilerich
update: don't clobber untracked files with wrong casing
r15538 [255]
$ cat a
gold
FUJIWARA Katsunori
largefiles: check existence of the file with case awareness of the filesystem...
r19160 $ rm a
test that normal file in different case on target context is not
unlinked by largefiles extension.
$ cat >> .hg/hgrc <<EOF
> [extensions]
> largefiles=
> EOF
$ hg update -q -C 1
$ hg status -A
$ echo 'A as largefiles' > A
$ hg add --large A
$ hg commit -m '#3'
created new head
$ hg manifest -r 3
.hglf/A
$ hg manifest -r 0
a
$ hg update -q -C 0
$ hg status -A
C a
FUJIWARA Katsunori
largefiles: check unknown files with case awareness of the filesystem...
r19161 $ hg update -q -C 3
$ hg update -q 0
Mads Kiilerich
update: don't clobber untracked files with wrong casing
r15538
Brodie Rao
tests: unify test-casefolding
r12603 $ cd ..
FUJIWARA Katsunori
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)...
r16313
FUJIWARA Katsunori
dirstate: fix some problems for recursive case normalization (issue3342)...
r16323 issue 3342: file in nested directory causes unexpected abort
$ hg init issue3342
$ cd issue3342
$ mkdir -p a/B/c/D
$ echo e > a/B/c/D/e
$ hg add a/B/c/D/e
$ cd ..
FUJIWARA Katsunori
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)...
r16313 issue 3340: mq does not handle case changes correctly
in addition to reported case, 'hg qrefresh' is also tested against
case changes.
$ echo "[extensions]" >> $HGRCPATH
$ echo "mq=" >> $HGRCPATH
$ hg init issue3340
$ cd issue3340
$ echo a > mIxEdCaSe
$ hg add mIxEdCaSe
$ hg commit -m '#0'
$ hg rename mIxEdCaSe tmp
$ hg rename tmp MiXeDcAsE
$ hg status -A
A MiXeDcAsE
mIxEdCaSe
R mIxEdCaSe
$ hg qnew changecase
$ hg status -A
C MiXeDcAsE
$ hg qpop -a
popping changecase
patch queue now empty
$ hg qnew refresh-casechange
$ hg status -A
C mIxEdCaSe
$ hg rename mIxEdCaSe tmp
$ hg rename tmp MiXeDcAsE
$ hg status -A
A MiXeDcAsE
mIxEdCaSe
R mIxEdCaSe
$ hg qrefresh
$ hg status -A
C MiXeDcAsE
Durham Goode
mq: fix qrefresh case sensitivity (issue3271)...
r17888 $ hg qpop -a
popping refresh-casechange
patch queue now empty
$ hg qnew refresh-pattern
$ hg status
$ echo A > A
$ hg add
adding A
$ hg qrefresh a # issue 3271, qrefresh with file handled case wrong
$ hg status # empty status means the qrefresh worked
FUJIWARA Katsunori
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)...
r16313 $ cd ..