sapling/mercurial
FUJIWARA Katsunori dba1f40821 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
on icasefs, "hg qnew" fails to import changing letter case of filename
already occurred in working directory, for example:

    $ hg rename a tmp
    $ hg rename tmp A
    $ hg qnew casechange
    $ hg status
    R a
    $

"hg qnew" invokes 'dirstate.walk()' via 'localrepository.commit()'
with 'exact match' matching object having exact filenames of targets
in ones 'files()'.

current implementation of 'dirstate.walk()' always normalizes letter
case of filenames from 'match.files()' on icasefs, even though exact
matching is required.

then, files only different in letter case are treated as one file.

this patch prevents 'dirstate.walk()' from normalizing, if exact
matching is required, even on icasefs.

filenames for 'exact matching' are given not from user command line,
but from dirstate walk result, manifest of changecontext, patch files
or fixed list for specific system files (e.g.: '.hgtags').

in such case, case normalization should not be done, so this patch
works well.
2012-03-31 00:04:08 +09:00
..
help help: add verb to sentence in phases.txt 2012-03-12 13:22:28 +01:00
hgweb i18n: use "encoding.lower()" to normalize string in hgweb search query 2011-12-25 20:35:16 +09:00
httpclient httpclient: update to 07d8c356f4d1 of py-nonblocking-http 2011-10-10 17:57:40 -05:00
pure mdiff: replace wscleanup() regexps with C loops 2011-11-18 14:23:03 +01:00
templates changeset_printer: display changeset phase on debug level 2012-01-17 20:23:23 +01:00
__init__.py Add back links from file revisions to changeset revisions 2005-05-03 13:16:10 -08:00
ancestor.py check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
archival.py atomictempfile: make close() consistent with other file-like objects. 2011-08-25 20:21:04 -04:00
base85.c backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
bdiff.c bdiff: fix malloc(0) issue in fixws() 2012-02-03 23:27:17 +00:00
bookmarks.py bookmarks: clone non-divergent bookmarks with @ in them 2012-03-21 16:39:38 -05:00
bundlerepo.py bundlerepo: bundle repos should be non-publishing (issue3266) 2012-02-29 14:41:11 +01:00
byterange.py Remove FSF mailing address from GPL headers 2012-01-06 16:27:13 +01:00
changegroup.py check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
changelog.py changelog: handle decoding of NULs in extra more carefully (issue3156) 2011-12-16 18:23:15 -06:00
cmdutil.py rename: handle case-changing (issue1717) 2012-03-23 11:47:27 -05:00
commands.py i18n: fix all remaining uses of % inside _() 2012-03-08 13:35:27 -06:00
commandserver.py cmdserver: invalidate the dirstate when running commands (issue3271) 2012-02-15 23:44:10 +02:00
config.py config: have a way to backup and restore value in config 2012-01-18 16:52:26 +01:00
context.py context: use 'changectx.dirs()' in 'walk()' for directory patterns 2012-02-23 00:07:54 +09:00
copies.py copies: remove stray print 2012-01-25 17:14:10 -06:00
dagparser.py cleanup: use x in (a, b) instead of x == a or x == b 2010-09-23 00:02:31 -05:00
dagutil.py dagutil: fix off-by-one in inverserevlogdag buildup 2011-08-25 17:20:00 +02:00
demandimport.py demandimport: determine at load time if __import__ has level argument 2011-08-22 22:50:52 +02:00
diffhelpers.c backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
dirstate.py dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) 2012-03-31 00:04:08 +09:00
discovery.py discovery: fix regression when checking heads for pre 1.4 client (issue3218) 2012-01-24 19:49:30 +01:00
dispatch.py alias: abort on missing positional args (issue3331) 2012-03-27 16:13:59 -05:00
encoding.py encoding: use hint markup for "please check your locale settings" 2011-12-26 15:01:06 +01:00
error.py wireproto: add out-of-band error class to allow remote repo to report errors 2011-08-02 15:21:10 -04:00
extensions.py extensions: print some debug info on import failure 2011-10-01 16:42:39 -04:00
fancyopts.py globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__') 2011-07-25 16:24:37 -05:00
filelog.py filelog: add file function to open other filelogs 2011-05-10 17:38:58 +02:00
filemerge.py filemerge: restore default prompt for binary/symlink lost in c5dd8ad52586 2012-03-13 15:12:26 -05:00
fileset.py fileset: don't attempt to check data predicates against removed files 2012-01-20 22:19:40 -06:00
graphmod.py graphmod: correctly emit nodes with more than 2 predecessors 2011-05-01 15:51:46 +02:00
hbisect.py bisect: add i18n contexts 2011-10-18 09:38:14 -02:00
help.py help: add phases topic 2012-01-26 11:23:14 -06:00
hg.py bookmarks: clone non-divergent bookmarks with @ in them 2012-03-21 16:39:38 -05:00
hook.py hooks: prioritize run order of hooks 2012-01-15 13:50:12 -07:00
httpconnection.py Use explicit integer division 2012-01-08 18:15:54 +01:00
httprepo.py httprepo: make __del__ more stable in error situations 2011-10-13 04:27:49 +02:00
i18n.py i18n: use getattr instead of hasattr 2011-07-25 20:46:30 -05:00
ignore.py misc: adding missing file close() calls 2011-11-03 11:24:55 -05:00
keepalive.py Remove FSF mailing address from GPL headers 2012-01-06 16:27:13 +01:00
localrepo.py localrepo: fix unpushable repos when using bookmarks (issue3317) 2012-03-09 15:34:21 -05:00
lock.py lock: change name of release chain 2011-11-30 16:53:44 -06:00
lsprof.py lsprof: use getattr instead of hasattr 2011-07-25 15:41:46 -05:00
lsprofcalltree.py drop unused imports 2009-05-14 15:35:46 +02:00
mail.py mail: use quoted-printable for mime encoding to avoid too long lines (issue3075) 2011-11-23 02:44:11 +01:00
manifest.py util: don't mess with builtins to emulate buffer() 2011-12-15 15:27:11 -06:00
match.py match: remove unused assignment 2011-08-09 11:05:13 +02:00
mdiff.py mdiff: adjust hunk offsets with --ignore-blank-lines (issue3234) 2012-02-06 21:17:50 +01:00
merge.py merge: accept missing revisions in symlink flag merge (issue3316) 2012-03-14 14:45:41 -05:00
minirst.py minirst: simplify and standardize field list formatting 2012-01-11 18:08:25 +01:00
mpatch.c parsers: avoid pointer aliasing 2011-08-10 13:40:01 -05:00
node.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
osutil.c merge with stable 2011-09-14 14:37:10 -05:00
parser.py parsers: fix localization markup of parser errors 2011-06-21 00:17:52 +02:00
parsers.c parsers: avoid pointer aliasing 2011-08-10 13:40:01 -05:00
patch.py patch: fuzz more aggressively to match patch(1) behaviour 2012-02-13 17:22:35 +01:00
phases.py phases: fix a non-standard debug message 2012-02-15 17:30:21 -05:00
posix.py Use explicit integer division 2012-01-08 18:15:54 +01:00
pushkey.py phases: add basic pushkey support 2011-12-15 11:24:26 +01:00
py3kcompat.py py3kcompat: added fake ord implementation for py3k 2010-08-07 16:38:38 -03:00
repair.py strip: enhance repair.strip to receive a list of nodes (issue3299) 2012-03-12 17:02:45 -03:00
repo.py Make sure bundlerepo doesn't leak temp files (issue2491) 2011-02-12 10:58:11 +01:00
revlog.py revlog: make addgroup returns a list of node contained in the added source 2012-01-13 01:29:03 +01:00
revset.py revset: fix documentation for 'remote()' predicate 2012-01-27 22:29:58 +09:00
scmutil.py scmutil: add join method to opener to construct path relative to base 2012-03-01 17:39:58 +02:00
setdiscovery.py phases: do not exchange secret changesets 2011-12-22 00:42:25 +01:00
similar.py fix coding style 2010-05-02 00:48:33 +02:00
simplemerge.py Remove FSF mailing address from GPL headers 2012-01-06 16:27:13 +01:00
sshrepo.py sshrepo: add more safe characters (issue2983) 2011-12-09 15:50:33 +01:00
sshserver.py addchangegroup: remove the lock argument on the addchangegroup methods 2011-11-28 01:32:13 +01:00
sslutil.py sslutil: more helpful fingerprint mismatch message 2012-01-26 11:23:15 -06:00
statichttprepo.py scmutil: update cached copy when filecached attribute is assigned (issue3263) 2012-02-15 20:02:35 +02:00
store.py phases: prevent rebase to rebase immutable changeset. 2011-12-27 00:11:22 +01:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py subrepo: fix for merge inconsistencies 2012-02-29 14:24:57 +01:00
tags.py atomictempfile: make close() consistent with other file-like objects. 2011-08-25 20:21:04 -04:00
templatefilters.py templates: add 'bisect' keyword to return a cset's bisect status 2011-09-22 01:36:01 +02:00
templatekw.py templatekw: fix phase keywords 2012-01-20 13:10:01 -02:00
templater.py globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__') 2011-07-25 15:30:19 -05:00
transaction.py transaction: use posixfile and unlink from util 2011-02-15 14:41:49 +01:00
treediscovery.py treediscovery: always return all remote heads 2011-06-20 14:11:01 +02:00
ui.py config: have a way to backup and restore value in config 2012-01-18 16:52:26 +01:00
url.py merge with stable 2011-09-10 17:56:42 -05:00
util.h backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
util.py icasefs: rewrite comment to explain situtation precisely 2011-12-24 00:52:06 +09:00
verify.py verify: fix mq misfire 2011-07-14 12:39:39 -05:00
win32.py win32: quietly ignore missing CreateHardLinkA for Wine 2011-09-13 17:01:07 -05:00
windows.py i18n: use encoding.lower/upper for encoding aware case folding 2011-12-16 21:09:41 +09:00
wireproto.py wireproto: refuse to lookup secret csets 2012-01-18 20:00:48 -06:00