Show More
@@ -733,24 +733,29 b' def overrideclone(orig, ui, source, dest' | |||
|
733 | 733 | def hgclone(orig, ui, opts, *args, **kwargs): |
|
734 | 734 | result = orig(ui, opts, *args, **kwargs) |
|
735 | 735 | |
|
736 |
if result is not None |
|
|
736 | if result is not None: | |
|
737 | 737 | sourcerepo, destrepo = result |
|
738 | 738 | repo = destrepo.local() |
|
739 | 739 | |
|
740 | 740 | # The .hglf directory must exist for the standin matcher to match |
|
741 | 741 | # anything (which listlfiles uses for each rev), and .hg/largefiles is |
|
742 | 742 | # assumed to exist by the code that caches the downloaded file. These |
|
743 | # directories exist if clone updated to any rev. | |
|
744 | if opts.get('noupdate'): | |
|
745 | util.makedirs(repo.pathto(lfutil.shortname)) | |
|
746 | util.makedirs(repo.join(lfutil.longname)) | |
|
743 | # directories exist if clone updated to any rev. (If the repo does not | |
|
744 | # have largefiles, download never gets to the point of needing | |
|
745 | # .hg/largefiles, and the standin matcher won't match anything anyway.) | |
|
746 | if 'largefiles' in repo.requirements: | |
|
747 | if opts.get('noupdate'): | |
|
748 | util.makedirs(repo.pathto(lfutil.shortname)) | |
|
749 | util.makedirs(repo.join(lfutil.longname)) | |
|
747 | 750 | |
|
748 | 751 | # Caching is implicitly limited to 'rev' option, since the dest repo was |
|
749 | # truncated at that point. | |
|
750 | success, missing = lfcommands.downloadlfiles(ui, repo, None) | |
|
752 | # truncated at that point. The user may expect a download count with | |
|
753 | # this option, so attempt whether or not this is a largefile repo. | |
|
754 | if opts.get('all_largefiles'): | |
|
755 | success, missing = lfcommands.downloadlfiles(ui, repo, None) | |
|
751 | 756 | |
|
752 | if missing != 0: | |
|
753 | return None | |
|
757 | if missing != 0: | |
|
758 | return None | |
|
754 | 759 | |
|
755 | 760 | return result |
|
756 | 761 |
@@ -276,10 +276,21 b' round-trip: converting back to a normal ' | |||
|
276 | 276 | |
|
277 | 277 | Avoid a traceback if a largefile isn't available (issue3519) |
|
278 | 278 | |
|
279 | Ensure the largefile can be cached in the source if necessary | |
|
279 | 280 | $ hg clone -U largefiles-repo issue3519 |
|
280 | 281 | $ rm "${USERCACHE}"/* |
|
281 | 282 | $ hg lfconvert --to-normal issue3519 normalized3519 |
|
282 | 283 | initializing destination normalized3519 |
|
284 | ||
|
285 | Ensure the abort message is useful if a largefile is entirely unavailable | |
|
286 | $ rm -rf normalized3519 | |
|
287 | $ rm "${USERCACHE}"/* | |
|
288 | $ rm issue3519/.hg/largefiles/* | |
|
289 | $ rm largefiles-repo/.hg/largefiles/* | |
|
290 | $ hg lfconvert --to-normal issue3519 normalized3519 | |
|
291 | initializing destination normalized3519 | |
|
292 | large: can't get file locally | |
|
293 | (no default or default-push path set in hgrc) | |
|
283 | 294 | abort: missing largefile 'large' from revision d4892ec57ce212905215fad1d9018f56b99202ad |
|
284 | 295 | [255] |
|
285 | 296 |
General Comments 0
You need to be logged in to leave comments.
Login now