[RFC] kbfiles: an extension to track binary files with less wasted bandwidth

Na'Tosha Bard natosha at unity3d.com
Fri Sep 23 06:39:32 CDT 2011


2011/9/22 Martin Geisler <mg at lazybytes.net>

> "Na'Tosha Bard" <natosha at unity3d.com> writes:
> [...]
> I tried cloning the largefiles repo into the hgext folder in Mercurial
> and ran
>  % pyflakes hgext/largefiles/*.py
>  hgext/largefiles/basestore.py:15: 'shutil' imported but unused
>  hgext/largefiles/basestore.py:17: 'error' imported but unused
>  hgext/largefiles/basestore.py:17: 'url_' imported but unused
>  hgext/largefiles/lfutil.py:39: redefinition of function 'dirstate_walk'
> from line 35
>  hgext/largefiles/localstore.py:57: undefined name 'err'
>  hgext/largefiles/overrides.py:13: 're' imported but unused
>  hgext/largefiles/overrides.py:28: 'proto' imported but unused
>  hgext/largefiles/overrides.py:611: local variable 'dest' is assigned to
> but never used
>  hgext/largefiles/overrides.py:662: redefinition of function 'write' from
> line 647
>  hgext/largefiles/proto.py:7: 'shutil' imported but unused
>  hgext/largefiles/proto.py:109: undefined name 'l'
>  hgext/largefiles/proto.py:126: undefined name 'capabilities_orig'
>  hgext/largefiles/proto.py:155: undefined name 'ssh_oldcallstream'
>  hgext/largefiles/proto.py:162: undefined name 'http_oldcallstream'
>  hgext/largefiles/remotestore.py:57: undefined name 'HTTPError'
>  hgext/largefiles/remotestore.py:61: undefined name 'urllib2'
>  hgext/largefiles/remotestore.py:86: local variable 'expect_hash' is
> assigned to but never used
>  hgext/largefiles/remotestore.py:95: undefined name 'store_path'
>  hgext/largefiles/remotestore.py:100: undefined name 'store_path'
>  hgext/largefiles/reposetup.py:15: 'httprepo' imported but unused
>  hgext/largefiles/reposetup.py:34: undefined name '_'
>  hgext/largefiles/reposetup.py:224: redefinition of unused 'node' from line
> 15
> You should look into those errors.

I will certainly look into these errors and get them fixed.  I've contacted
FogCreek off-list about what their plan and schedule is so we can try to
work together and get a patchbomb sent here for review.  If they don't have
time, I will take up the big push if necessary.

I really believe this extension is extremely important for Mercurial.  It
opens the door to a new group of users who would otherwise not be able to
use distributed version control at all, and I have not found any solution
for this problem in other DVCS systems like Bazaar and Git.

Largefiles has really come a long way as well, with the group of a lot of
people.  The only things end-users have to do to use largefiles are:

1) Turn it on (the same as any extension)
2) If they don't set up their .hgrc to automatically add files over a
certain size, use the "--large" flag when adding a new largefile.

Everything else is completely automatic; we don't even think about
largefiles bacuase they are taken care of with standard mercurial
operations.  It really is a breeze to use.

One thing I know we're missing is a concrete set of instructions somehwere
for how to turn them on server-side (I think it's as simple as enabling
largefiles on the server and running hgserve, but I'm not 100% sure; I'm
looking into that also; I will test it on my end then make sure it's

Please anyone let me know if there are other obvious issues that would need
to be addresssed.


*Na'Tosha Bard*
Build & Infrastructure Developer | Unity Technologies

*E-Mail:* natosha at unity3d.com
*Skype:* natosha.bard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20110923/56e4c2e2/attachment.html>

More information about the Mercurial-devel mailing list