cmdserver: invalidate the dirstate when running commands (
issue3271)
The dirstate is invalidated separately outside of invalidate() which is
already being called (other callers of invalidate() seems to suggest the
separation is there for a reason).
--- a/mercurial/commandserver.py Wed Feb 15 23:49:15 2012 +0200
+++ b/mercurial/commandserver.py Wed Feb 15 23:44:10 2012 +0200
@@ -186,6 +186,7 @@
self.repo.baseui = copiedui
self.repo.ui = self.repo.dirstate._ui = self.repoui.copy()
self.repo.invalidate()
+ self.repo.invalidatedirstate()
req = dispatch.request(args[:], copiedui, self.repo, self.cin,
self.cout, self.cerr)
--- a/tests/test-commandserver.py Wed Feb 15 23:49:15 2012 +0200
+++ b/tests/test-commandserver.py Wed Feb 15 23:44:10 2012 +0200
@@ -163,8 +163,10 @@
f = open('a', 'ab')
f.write('a\n')
f.close()
+ runcommand(server, ['status'])
os.system('hg ci -Am2')
runcommand(server, ['tip'])
+ runcommand(server, ['status'])
def bookmarks(server):
readchannel(server)
--- a/tests/test-commandserver.py.out Wed Feb 15 23:49:15 2012 +0200
+++ b/tests/test-commandserver.py.out Wed Feb 15 23:44:10 2012 +0200
@@ -93,6 +93,8 @@
testing outsidechanges:
+ runcommand status
+M a
runcommand tip
changeset: 1:d3a0a68be6de
tag: tip
@@ -100,6 +102,7 @@
date: Thu Jan 01 00:00:00 1970 +0000
summary: 2
+ runcommand status
testing bookmarks: