SSHStore in bfile

Greg Ward greg-hg at gerg.ca
Mon Nov 2 09:29:30 CST 2009


[moving to mercurial-devel: I think it's a more appropriate list for
discussion development of bfiles.  David, you might want to subscribe
if you aren't already.  If anyone objects to me using mercurial-devel
for extension development, please say so!]

On Sun, Nov 1, 2009 at 4:14 PM, David Douard <david.douard at logilab.fr> wrote:
> Here is a bundle implementing this latter solution. In fact, I've been playing
> a bit with raw scp commands, and I found it to be not that easy. The solution
> proposed here, using hg's serve mecanism offers more flexibility.
>
> For example, it should be very easy to implement a http-based store.
>
> The proposed implementation is mostly the code from the sshrepo, and seems to
> work (on Linux), but have not been intensively tested. I have not yet wrote
> unit tests.

Awesome, thank you!  I've taken a quick glance at your patch.  Two
minor complaints:

  * Your changes to bfremove() and bfupdate() look like they fix an
unrelated bug.
    Can you reproduce it with a test case?  And can you separate that out and
    send it as a separate patch?

  * Your second patch, which appears to activate the server-side
protocol change,
     should probably be folded into the first one.  Does the first
patch do anything without
     the second one?

More importantly, I have refactored the store interface so that get()
takes a list of (filename, hash) pairs.  That will obviously
invalidate your get() method.  It should be fairly easy for you to add
a loop to your get(): see what I did in LocalStore.get() for an
example.

Also, I try to keep all my wrapping inside reposetup(), rather than at
top level.  Can you modify your wrapping of sshserver.do_hello() to
follow the convention set by my reposetup()?

Please let me know if you don't have time to rebase and resend soon.
Like I said, this is near the top of my priority list, and you may
have saved me a lot of time.  So I can massage your patches if I need
to, but I thought I would give you the chance first.  ;-)

Thanks!

Greg


More information about the Mercurial-devel mailing list