# HG changeset patch # User Pierre-Yves David # Date 1446832749 18000 # Node ID 6b1ea6961554e8696424bf677adc1165764659f2 # Parent fa7f8b686633374a9f5de0f1b583846998d929c7 changegroup: call 'prechangegroup' hook before setting up write delay The 'prechangegroup' interfere with 'delayupdate' logic because it trigger the one time call of 'changelog._writepending' (see issure4934). There is no reason not to call that hook before setting up 'delayupdate' so we move the call a bit earlier to avoid interference. diff -r fa7f8b686633 -r 6b1ea6961554 mercurial/changegroup.py --- a/mercurial/changegroup.py Fri Nov 06 12:39:06 2015 -0500 +++ b/mercurial/changegroup.py Fri Nov 06 12:59:09 2015 -0500 @@ -329,13 +329,13 @@ # the top level value (if they exist) in this function. srctype = tr.hookargs.setdefault('source', srctype) url = tr.hookargs.setdefault('url', url) + repo.hook('prechangegroup', throw=True, **tr.hookargs) # write changelog data to temp files so concurrent readers # will not see an inconsistent view cl = repo.changelog cl.delayupdate(tr) oldheads = cl.heads() - repo.hook('prechangegroup', throw=True, **tr.hookargs) trp = weakref.proxy(tr) # pull off the changeset group