Mercurial > hg-stable
changeset 402:2fe8d66e3075
[PATCH] (3/4) Removing an added file
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] (3/4) Removing an added file
From: Michael A Fetterman <Michael.Fetterman@cl.cam.ac.uk>
Here's an hg changeset that deals with "hg add"ing and then "hg remove"ing
a file without ever committing it. Previously, this caused a python
exception
at commit time.
Test case included in the patch.
manifest hash: 4d012f3f8b1aa664fed9e8bc2849931b28728acd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCuMPtywK+sNU5EO8RAuxMAKCmeMLqOUBmUfCfbQgYOAysOvKkwgCfcJai
2My0M7KqhwnJSbZXbGIOcow=
=N7N0
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Tue, 21 Jun 2005 17:50:37 -0800 |
parents | af4848f83e68 |
children | fda7bb480020 |
files | mercurial/hg.py tests/test-merge3 tests/test-merge3.out |
diffstat | 3 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py Tue Jun 21 17:47:28 2005 -0800 +++ b/mercurial/hg.py Tue Jun 21 17:50:37 2005 -0800 @@ -706,6 +706,9 @@ p = self.wjoin(f) if os.path.isfile(p): self.ui.warn("%s still exists!\n" % f) + elif self.dirstate.state(f) == 'a': + self.ui.warn("%s never committed!\n" % f) + self.dirstate.forget(f) elif f not in self.dirstate: self.ui.warn("%s not tracked!\n" % f) else:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge3 Tue Jun 21 17:50:37 2005 -0800 @@ -0,0 +1,10 @@ +#!/bin/sh -x + +hg init +echo This is file a1 > a +hg add a +hg commit -t "commit #0" -d "0 0" -u user +touch b +hg add b +rm b +hg commit -A -t"comment #1" -d "0 0" -u user
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge3.out Tue Jun 21 17:50:37 2005 -0800 @@ -0,0 +1,9 @@ ++ hg init ++ echo This is file a1 ++ hg add a ++ hg commit -t 'commit #0' -d '0 0' -u user ++ touch b ++ hg add b ++ rm b ++ hg commit -A '-tcomment #1' -d '0 0' -u user +b never committed!