Comments
Patch
@@ -3247,9 +3247,12 @@
excluded_files = []
matcher_opts = {"exclude": excluded_files}
+ fs = repo[None].flagstate
def checkout(f):
fc = ctx[f]
repo.wwrite(f, fc.data(), fc.flags())
+ fs[f] = fc.flags()
+ fs.write(repo.currenttransaction()) # XXX: val is None, but no warning
audit_path = pathutil.pathauditor(repo.root)
for f in actions['forget'][0]:
@@ -290,7 +290,7 @@
def write(self, tr):
if self._dirty:
- tr.addbackup('flagstate') # was fncache
+ #tr.addbackup('flagstate') # was fncache
fp = self._repo.svfs('flagstate', mode='wb', atomictemp=True)
try:
for k, v in self._entries.iteritems():
@@ -56,11 +56,29 @@
$ hg files -v
7 x noexec.txt
7 noexec2.txt
+ $ hg revert --no-backup noexec.txt
+ $ hg files -v
+ 7 noexec.txt
+ 7 noexec2.txt
+
+Revert to +x
+
+ $ hg flags -x noexec.txt
+ $ hg ci -m "+x"
+ $ hg flags -n noexec.txt
+ $ hg files -v
+ 7 noexec.txt
+ 7 noexec2.txt
+ $ hg revert --no-backup noexec.txt
+ $ hg files -v
+ 7 x noexec.txt
+ 7 noexec2.txt
Update -C to nuke it
+ $ hg flags -n noexec.txt
$ hg update -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg files -v
- 7 noexec.txt
+ 7 x noexec.txt
7 noexec2.txt