Mercurial > hg-stable
changeset 28576:33bd95443e7f
largefiles: add some docstrings
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Sat, 19 Mar 2016 08:28:24 -0700 |
parents | 78e4e558fa74 |
children | 7efff6ce9826 |
files | hgext/largefiles/lfutil.py hgext/largefiles/proto.py |
diffstat | 2 files changed, 20 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/lfutil.py Sat Mar 19 08:27:54 2016 -0700 +++ b/hgext/largefiles/lfutil.py Sat Mar 19 08:28:24 2016 -0700 @@ -39,6 +39,7 @@ return lfsize def link(src, dest): + """Try to create hardlink - if that fails, efficiently make a copy.""" util.makedirs(os.path.dirname(dest)) try: util.oslink(src, dest) @@ -86,6 +87,9 @@ return os.path.exists(path) def findfile(repo, hash): + '''Return store path of the largefile with the specified hash. + As a side effect, the file might be linked from user cache. + Return None if the file can't be found locally.''' path, exists = findstorepath(repo, hash) if exists: repo.ui.note(_('found %s in store\n') % hash) @@ -176,9 +180,13 @@ if rev is not None or repo.dirstate[f] != '?'] def instore(repo, hash, forcelocal=False): + '''Return true if a largefile with the given hash exists in the user + cache.''' return os.path.exists(storepath(repo, hash, forcelocal)) def storepath(repo, hash, forcelocal=False): + '''Return the correct location in the repository largefiles cache for a + file with the given hash.''' if not forcelocal and repo.shared(): return repo.vfs.reljoin(repo.sharedpath, longname, hash) return repo.join(longname, hash) @@ -257,6 +265,8 @@ linktousercache(repo, hash) def linktousercache(repo, hash): + '''Link / copy the largefile with the specified hash from the store + to the cache.''' path = usercachepath(repo.ui, hash) link(storepath(repo, hash), path) @@ -394,6 +404,7 @@ return util.pconvert(os.path.normpath(path)) def islfilesrepo(repo): + '''Return true if the repo is a largefile repo.''' if ('largefiles' in repo.requirements and any(shortnameslash in f[0] for f in repo.store.datafiles())): return True
--- a/hgext/largefiles/proto.py Sat Mar 19 08:27:54 2016 -0700 +++ b/hgext/largefiles/proto.py Sat Mar 19 08:28:24 2016 -0700 @@ -22,8 +22,8 @@ httpoldcallstream = None def putlfile(repo, proto, sha): - '''Put a largefile into a repository's local store and into the - user cache.''' + '''Server command for putting a largefile into a repository's local store + and into the user cache.''' proto.redirect() path = lfutil.storepath(repo, sha) @@ -47,8 +47,8 @@ return wireproto.pushres(0) def getlfile(repo, proto, sha): - '''Retrieve a largefile from the repository-local cache or system - cache.''' + '''Server command for retrieving a largefile from the repository-local + cache or user cache.''' filename = lfutil.findfile(repo, sha) if not filename: raise error.Abort(_('requested largefile %s not present in cache') @@ -68,8 +68,8 @@ return wireproto.streamres(generator()) def statlfile(repo, proto, sha): - '''Return '2\n' if the largefile is missing, '0\n' if it seems to be in - good condition. + '''Server command for checking if a largefile is present - returns '2\n' if + the largefile is missing, '0\n' if it seems to be in good condition. The value 1 is reserved for mismatched checksum, but that is too expensive to be verified on every stat and must be caught be running 'hg verify' @@ -151,9 +151,12 @@ # advertise the largefiles=serve capability def capabilities(repo, proto): + '''Wrap server command to announce largefile server capability''' return capabilitiesorig(repo, proto) + ' largefiles=serve' def heads(repo, proto): + '''Wrap server command - largefile capable clients will know to call + lheads instead''' if lfutil.islfilesrepo(repo): return wireproto.ooberror(LARGEFILES_REQUIRED_MSG) return wireproto.heads(repo, proto)