diff mercurial/subrepo.py @ 14898:95ced9f5bf29 stable

subrepo: don't commit in subrepo if it's clean If a subrepo has changed relative to the outer repo's substate, but the subrepo itself is clean, we don't need to commit in the subrepo.
author Kevin Bullock <kbullock@ringworld.org>
date Tue, 19 Jul 2011 13:43:53 -0500
parents 7ef125fa9b35
children c035f1c53e39 a115b5ee9c63
line wrap: on
line diff
--- a/mercurial/subrepo.py	Mon Jul 18 22:58:21 2011 +0200
+++ b/mercurial/subrepo.py	Tue Jul 19 13:43:53 2011 -0500
@@ -420,6 +420,10 @@
         return self._repo._checknested(self._repo.wjoin(path))
 
     def commit(self, text, user, date):
+        # don't bother committing in the subrepo if it's only been
+        # updated
+        if not self.dirty(True):
+            return self._repo['.'].hex()
         self._repo.ui.debug("committing subrepo %s\n" % subrelpath(self))
         n = self._repo.commit(text, user, date)
         if not n: