Previously, we called dirstate.normal(f), which would put information into the
dirstate claiming that the file on disk is what it "should be" for the current
checkout, and it would have the size and timestamp of the most recent
modification to the file (which is not necessarily the one we just committed).
If the file was modified while the commit message editor was open, we would put
incorrect information into the dirstate.
Details
Details
- Reviewers
mharbison72 pulkit - Group Reviewers
hg-reviewers - Commits
- rHG5558e3437872: amend: check for file modifications when updating dirstate (issue6233)
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
tests/test-amend.t | ||
---|---|---|
493 | This whole test needs to be wrapped in #if exebit to keep Windows happy. |
Comment Actions
I get the following test failure:
--- /home/pulkit/repo/hgpush/tests/test-amend.t +++ /home/pulkit/repo/hgpush/tests/test-amend.t#obsstore-off.err @@ -505,4 +505,23 @@ > hg diff > hg status > fi - OK. + $TESTTMP.sh: 292: $TESTTMP.sh: [[: not found + Bug detected. 'delta' is not part of the commit OR the wdir + Diff and status before rebuild: + diff --git a/foo b/foo + --- a/foo + +++ b/foo + @@ -1,2 +1,3 @@ + alpha + beta + +delta + M foo + Diff and status after rebuild: + diff --git a/foo b/foo + --- a/foo + +++ b/foo + @@ -1,2 +1,3 @@ + alpha + beta + +delta + M foo ERROR: test-amend.t#obsstore-off output changed !. --- /home/pulkit/repo/hgpush/tests/test-amend.t +++ /home/pulkit/repo/hgpush/tests/test-amend.t#obsstore-on.err @@ -505,4 +505,23 @@ > hg diff > hg status > fi - OK. + $TESTTMP.sh: 317: $TESTTMP.sh: [[: not found + Bug detected. 'delta' is not part of the commit OR the wdir + Diff and status before rebuild: + diff --git a/foo b/foo + --- a/foo + +++ b/foo + @@ -1,2 +1,3 @@ + alpha + beta + +delta + M foo + Diff and status after rebuild: + diff --git a/foo b/foo + --- a/foo + +++ b/foo + @@ -1,2 +1,3 @@ + alpha + beta + +delta + M foo
This whole test needs to be wrapped in #if exebit to keep Windows happy.