Mercurial > public > mercurial-scm > hg
comparison mercurial/hg.py @ 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 | e9e1efd5291c |
children | 99470ae6b424 |
comparison
equal
deleted
inserted
replaced
401:af4848f83e68 | 402:2fe8d66e3075 |
---|---|
704 def remove(self, list): | 704 def remove(self, list): |
705 for f in list: | 705 for f in list: |
706 p = self.wjoin(f) | 706 p = self.wjoin(f) |
707 if os.path.isfile(p): | 707 if os.path.isfile(p): |
708 self.ui.warn("%s still exists!\n" % f) | 708 self.ui.warn("%s still exists!\n" % f) |
709 elif self.dirstate.state(f) == 'a': | |
710 self.ui.warn("%s never committed!\n" % f) | |
711 self.dirstate.forget(f) | |
709 elif f not in self.dirstate: | 712 elif f not in self.dirstate: |
710 self.ui.warn("%s not tracked!\n" % f) | 713 self.ui.warn("%s not tracked!\n" % f) |
711 else: | 714 else: |
712 self.dirstate.update([f], "r") | 715 self.dirstate.update([f], "r") |
713 | 716 |