Mercurial > hg
view tests/test-eolfilename.t @ 14450:d1a1578c5f78
commands.remove: don't use workingctx.remove(list, unlink=True)
workingctx.remove(list, unlink=True) is unsuited here, because it does too
much: it also unlinks added files. But the command 'hg remove' is specified
to *never* unlink added files.
Instead, we now unlink the files at the commands.remove level (if --after was
not specified) and use workingctx.forget for all files.
As an added bonus, this happens to eliminate a wlock acquire/release pair,
since the previous implementation caused
acquire wlock
release wlock
acquire wlock
release wlock
where the first pair of acquire/release was caused by the workingctx.forget
call, and the second by the workingctx.remove call.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 27 May 2011 15:59:52 +0200 |
parents | e0f07847f8de |
children | f2719b387380 |
line wrap: on
line source
http://mercurial.selenic.com/bts/issue352 $ "$TESTDIR/hghave" eol-in-paths || exit 80 test issue352 $ hg init foo $ cd foo $ A=`printf 'he\rllo'` $ echo foo > "$A" $ hg add adding he\rllo (esc) abort: '\n' and '\r' disallowed in filenames: 'he\rllo' [255] $ hg ci -A -m m adding he\rllo (esc) abort: '\n' and '\r' disallowed in filenames: 'he\rllo' [255] $ rm "$A" $ echo foo > "hell > o" $ hg add adding hell o abort: '\n' and '\r' disallowed in filenames: 'hell\no' [255] $ hg ci -A -m m adding hell o abort: '\n' and '\r' disallowed in filenames: 'hell\no' [255] $ echo foo > "$A" $ hg debugwalk f he\rllo he\rllo (esc) f hell o hell o $ echo bla > quickfox $ hg add quickfox $ hg ci -m 2 $ A=`printf 'quick\rfox'` $ hg cp quickfox "$A" abort: '\n' and '\r' disallowed in filenames: 'quick\rfox' [255] $ hg mv quickfox "$A" abort: '\n' and '\r' disallowed in filenames: 'quick\rfox' [255] http://mercurial.selenic.com/bts/issue2036 $ cd .. test issue2039 $ hg init bar $ cd bar $ echo "[extensions]" >> $HGRCPATH $ echo "color=" >> $HGRCPATH $ echo "[color]" >> $HGRCPATH $ echo "mode = ansi" >> $HGRCPATH $ A=`printf 'foo\nbar'` $ B=`printf 'foo\nbar.baz'` $ touch "$A" $ touch "$B" $ hg status --color=always \x1b[0;35;1;4m? foo\x1b[0m (esc) \x1b[0;35;1;4mbar\x1b[0m (esc) \x1b[0;35;1;4m? foo\x1b[0m (esc) \x1b[0;35;1;4mbar.baz\x1b[0m (esc)