Mercurial > hg-stable
changeset 13738:83bf80c50e76 stable
merge with i18n
author | Wagner Bruna <wbruna@softwareexpress.com.br> |
---|---|
date | Wed, 23 Mar 2011 11:57:10 -0300 |
parents | 6783f47d90dd (diff) 8c3e0542e153 (current diff) |
children | 913c2c66a555 |
files | |
diffstat | 3 files changed, 29 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Mon Mar 14 23:48:17 2011 +0100 +++ b/hgext/mq.py Wed Mar 23 11:57:10 2011 -0300 @@ -2383,7 +2383,7 @@ When -f/--force is applied, all local changes in patched files will be lost. - Return 0 on succces. + Return 0 on success. """ q = repo.mq mergeq = None
--- a/mercurial/dirstate.py Mon Mar 14 23:48:17 2011 +0100 +++ b/mercurial/dirstate.py Wed Mar 23 11:57:10 2011 -0300 @@ -362,16 +362,34 @@ except KeyError: self._ui.warn(_("not in dirstate: %s\n") % f) - def _normalize(self, path, knownpath): - norm_path = os.path.normcase(path) - fold_path = self._foldmap.get(norm_path, None) - if fold_path is None: - if knownpath or not os.path.lexists(os.path.join(self._root, path)): - fold_path = path + def _normalize(self, path, isknown): + normed = os.path.normcase(path) + folded = self._foldmap.get(normed, None) + if folded is None: + if isknown or not os.path.lexists(os.path.join(self._root, path)): + folded = path else: - fold_path = self._foldmap.setdefault(norm_path, + folded = self._foldmap.setdefault(normed, util.fspath(path, self._root)) - return fold_path + return folded + + def normalize(self, path, isknown=False): + ''' + normalize the case of a pathname when on a casefolding filesystem + + isknown specifies whether the filename came from walking the + disk, to avoid extra filesystem access + + The normalized case is determined based on the following precedence: + + - version of name already stored in the dirstate + - version of name stored on disk + - version provided via command arguments + ''' + + if self._checkcase: + return self._normalize(path, isknown) + return path def clear(self): self._map = {}
--- a/mercurial/merge.py Mon Mar 14 23:48:17 2011 +0100 +++ b/mercurial/merge.py Wed Mar 23 11:57:10 2011 -0300 @@ -338,7 +338,8 @@ else: merged += 1 util.set_flags(repo.wjoin(fd), 'l' in flags, 'x' in flags) - if f != fd and move and os.path.lexists(repo.wjoin(f)): + if (move and repo.dirstate.normalize(fd) != f + and os.path.lexists(repo.wjoin(f))): repo.ui.debug("removing %s\n" % f) os.unlink(repo.wjoin(f)) elif m == "g": # get