comparison hgext/largefiles/overrides.py @ 35564:cf841f2b5a72

largefiles: add support for 'largefiles://' url scheme This changesets allows Mercurial to transparently download content from the configured largefile store. This handle all authentication and largefile protocol details. The target usecase is to leverage largefile infrastructure for clone bundle. See next changeset for details
author Boris Feld <boris.feld@octobus.net>
date Thu, 21 Dec 2017 13:57:57 +0100
parents 576ba8194fa8
children f56f8abbeaf1
comparison
equal deleted inserted replaced
35563:4aa6ed598323 35564:cf841f2b5a72
1477 def upgraderequirements(orig, repo): 1477 def upgraderequirements(orig, repo):
1478 reqs = orig(repo) 1478 reqs = orig(repo)
1479 if 'largefiles' in repo.requirements: 1479 if 'largefiles' in repo.requirements:
1480 reqs.add('largefiles') 1480 reqs.add('largefiles')
1481 return reqs 1481 return reqs
1482
1483 _lfscheme = 'largefile://'
1484 def openlargefile(orig, ui, url_, data=None):
1485 if url_.startswith(_lfscheme):
1486 if data:
1487 msg = "cannot use data on a 'largefile://' url"
1488 raise error.ProgrammingError(msg)
1489 lfid = url_[len(_lfscheme):]
1490 return storefactory.getlfile(ui, lfid)
1491 else:
1492 return orig(ui, url_, data=data)