diff -r d7e582cab6b6 -r 0e64d814d7d0 mercurial/merge.py --- a/mercurial/merge.py Wed Feb 17 11:00:48 2010 +0100 +++ b/mercurial/merge.py Wed Feb 17 15:43:21 2010 +0100 @@ -511,8 +511,9 @@ repo.dirstate.setparents(fp1, fp2) if not branchmerge and not fastforward: repo.dirstate.setbranch(p2.branch()) - repo.hook('update', parent1=xp1, parent2=xp2, error=stats[3]) - - return stats finally: wlock.release() + + if not partial: + repo.hook('update', parent1=xp1, parent2=xp2, error=stats[3]) + return stats