diff -r b546db00cfd7 -r 84cec5895d01 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Dec 20 12:08:56 2010 -0600 +++ b/mercurial/localrepo.py Fri Dec 17 13:38:15 2010 +0100 @@ -949,7 +949,6 @@ # commit subs if subs or removedsubs: - pstate = subrepo.substate(self['.']) state = wctx.substate.copy() for s in sorted(subs): sub = wctx.sub(s) @@ -957,19 +956,7 @@ subrepo.subrelpath(sub)) sr = sub.commit(cctx._text, user, date) state[s] = (state[s][0], sr) - - changed = False - if len(pstate) != len(state): - changed = True - if not changed: - for newstate in state: - if state[newstate][1] != pstate[newstate]: - changed = True - if changed: - subrepo.writestate(self, state) - elif (changes[0] == ['.hgsubstate'] and changes[1] == [] and - changes[2] == []): - return None + subrepo.writestate(self, state) # Save commit message in case this transaction gets rolled back # (e.g. by a pretxncommit hook). Leave the content alone on