dulwich-users team mailing list archive
-
dulwich-users team
-
Mailing list archive
-
Message #00244
Re: [PATCH 0/4] RFC/implemenmtation of shallow clone support.
On Sun, Oct 17, 2010 at 09:23, Jelmer Vernooij <jelmer@xxxxxxxxx> wrote:
> On Wed, 2010-08-18 at 09:46 -0700, David Borowitz wrote:
> > Stupid git send-email, where'd my body go?
>
> > This implements shallow clone support on the server. The reason it's
> > marked as an RFC is that I don't like the way I have to pass two extra
> > arguments (shallow and client_shallow) down through a bunch of levels
> > of callbacks. It shouldn't break existing code, since they're optional
> > arguments, but it's clear that this approach isn't going to scale
> > forever. Since any API changes, like wrapping some of these arguments
> > up into object state or a data object, would break existing code, I
> > thought I'd ask for suggestions.
> Hmm, I agree that is a tough one. The graph walker object would be the
> right place for this sort of thing, except we construct it inside of
> this function at the moment.
>
I'm willing to put some time into significantly rewriting this code path. I
think to do that though, I need to have a better sense of how these
functions are used in e.g. bzr-git, so I know what the constraints are. (Or
alternatively, so I can help clean that up as well.)
> I think the new parameter names (client_shallow, shallow) are perhaps a
> bit confusing - "client" only makes sense in the context of a server.
>
> Another option would be to allow haves and wants to be tuples that
> include the shallow revisions.
>
That's a possibility. Conceptually it's still complicating the interface
just as much, but at least it would be more code-compatible.
> Cheers,
>
> Jelmer
>
> > On Wed, Aug 18, 2010 at 09:41, <dborowitz@xxxxxxxxxx> wrote:
> > cae6290 Add eof() and unread_pkt_line() methods to Protocol.
> > 4b46bf0 MissingObjectFinder: minor cleanup: 80 chars, others.
> > f0bee0e server: Correct short-circuiting operation for no-op
> > fetches.
> > c346233 Add shallow clone support to the server.
> >
> > NEWS | 9 +++
> > dulwich/object_store.py | 42 +++++++++--
> > dulwich/protocol.py | 40 ++++++++++-
> > dulwich/repo.py | 21 ++++--
> > dulwich/server.py | 112
> > +++++++++++++++++++++++++++---
> > dulwich/tests/compat/server_utils.py | 73
> > ++++++++++++++++++++
> > dulwich/tests/compat/test_web.py | 7 ++-
> > dulwich/tests/test_protocol.py | 34 +++++++++-
> > dulwich/tests/test_server.py | 125
> > ++++++++++++++++++++++++++++++++++
> > 9 files changed, 434 insertions(+), 29 deletions(-)
> >
> >
>
>
References