Bug 4768 - case-changing rename can't be committed with explicit paths
Summary: case-changing rename can't be committed with explicit paths
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: 3.5
Hardware: PC Windows
: urgent bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-06 09:49 UTC by Yuya Nishihara
Modified: 2015-08-22 07:39 UTC (History)
4 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuya Nishihara 2015-08-06 09:49 UTC
On Windows, after case-changing rename:

$ hg init casechange
$ cd casechange
$ touch foo
$ hg ci -Am add
$ hg mv foo FOO
$ hg stat
A FOO
R foo

The removed file can't be committed if paths are specified:

$ hg ci -m change foo FOO
$ hg stat
R foo

If no paths are specified, the commit works fine:

$ hg rollback
$ hg ci -m change
$ hg stat

The first bad revision is:

changeset:   24790:baa11dde8c0e
user:        Matt Harbison <matt_harbison@yahoo.com>
date:        Sun Apr 12 01:39:21 2015 -0400
summary:     match: add a subclass for dirstate normalizing of the matched patterns

This issue was originally reported to TortoiseHg:
https://bitbucket.org/tortoisehg/thg/issues/4245/
Comment 1 Pierre-Yves David 2015-08-06 19:45 UTC
assuming yuya knows what he is talking about > confirmed
Comment 2 Matt Mackall 2015-08-11 16:51 UTC
Regression -> urgent
Comment 3 Bugzilla 2015-08-22 00:00 UTC
Bug marked urgent for 10 days, bumping
Comment 4 Yuya Nishihara 2015-08-22 07:39 UTC
Fixed already by https://selenic.com/repo/hg/rev/9ac4e81b9659
Matt Harbison <matt_harbison@yahoo.com>
match: fix a caseonly rename + explicit path commit on icasefs (issue4768)