diff -r c68f84448012 mercurial/localrepo.py
--- a/mercurial/localrepo.py	Fri Jul 11 18:46:02 2008 -0500
+++ b/mercurial/localrepo.py	Sun Jul 20 01:41:47 2008 +0200
@@ -101,6 +101,7 @@
         self.filterpats = {}
         self._datafilters = {}
         self._transref = self._lockref = self._wlockref = None
+        self._forcedchanges = False
 
     def __getattr__(self, name):
         if name == 'changelog':
@@ -689,6 +690,7 @@
         fl = self.file(fn)
         fp1 = manifest1.get(fn, nullid)
         fp2 = manifest2.get(fn, nullid)
+        force = self._forcedchanges
 
         meta = {}
         cp = fctx.renamed()
@@ -737,7 +739,7 @@
                 fp2 = nullid
 
         # is the file unmodified from the parent? report existing entry
-        if fp2 == nullid and not fl.cmp(fp1, t) and not meta:
+        if fp2 == nullid and not fl.cmp(fp1, t) and not meta and not force:
             return fp1
 
         changelist.append(fn)
