##// END OF EJS Templates
largefiles: correctly download new largefiles when merging...
Na'Tosha Bard -
r15860:3ecce805 default
parent child Browse files
Show More
@@ -375,7 +375,15 b' def cachelfiles(ui, repo, node):'
375 375 toget = []
376 376
377 377 for lfile in lfiles:
378 expectedhash = repo[node][lfutil.standin(lfile)].data().strip()
378 # If we are mid-merge, then we have to trust the standin that is in the
379 # working copy to have the correct hashvalue. This is because the
380 # original hg.merge() already updated the standin as part of the normal
381 # merge process -- we just have to udpate the largefile to match.
382 if getattr(repo, "_ismerging", False):
383 expectedhash = lfutil.readstandin(repo, lfile)
384 else:
385 expectedhash = repo[node][lfutil.standin(lfile)].data().strip()
386
379 387 # if it exists and its hash matches, it might have been locally
380 388 # modified before updating and the user chose 'local'. in this case,
381 389 # it will not be in any store, so don't look for it.
@@ -612,8 +612,15 b' def hg_clean(orig, repo, node, show_stat'
612 612 return result
613 613
614 614 def hg_merge(orig, repo, node, force=None, remind=True):
615 result = orig(repo, node, force, remind)
616 lfcommands.updatelfiles(repo.ui, repo)
615 # Mark the repo as being in the middle of a merge, so that
616 # updatelfiles() will know that it needs to trust the standins in
617 # the working copy, not in the standins in the current node
618 repo._ismerging = True
619 try:
620 result = orig(repo, node, force, remind)
621 lfcommands.updatelfiles(repo.ui, repo)
622 finally:
623 repo._ismerging = False
617 624 return result
618 625
619 626 # When we rebase a repository with remotely changed largefiles, we need to
General Comments 0
You need to be logged in to leave comments. Login now