Skip to content

shallow protocol#770

Merged
Sebastian Thiel (Byron) merged 9 commits into
mainfrom
shallow-protocol
Mar 11, 2023
Merged

shallow protocol#770
Sebastian Thiel (Byron) merged 9 commits into
mainfrom
shallow-protocol

Conversation

@Byron
Copy link
Copy Markdown
Member

@Byron Sebastian Thiel (Byron) commented Mar 7, 2023

Initial support for shallow clones on the protocol layer.

Tasks

  • plan for protocol related configuration like clone.rejectShallow, receive.shallowUpdate
  • validate Arguments implementation can send shallow information correctly
  • shallow clone from non-shallow remote
  • reject shallow clones from shallow remote based on clone.rejectShallow
  • auto-shallow clone from shallow remote
  • 'unshallow' a shallow clone (handle unshallow on complete repos)
  • repeated clones while maintaining shallow boundary
  • integration into gix to allow it to be configured.

@Byron Sebastian Thiel (Byron) force-pushed the shallow-protocol branch 5 times, most recently from 6ea6700 to a74b349 Compare March 10, 2023 06:40
…ent readline behaviour.

Previously the `async` version of the transport implementation would use the default `read_line` implementation
which would search for newlines in packetlines. However, these aren't always emitted which could lead to
multiple packetlines to be concatenated.

Now the we always use our implementation which simply treats one packet line as line, no matter whether
or not it ends with optional newline.
Also improve documentation for `FullName*` and `PartialName*` types.
That way can be sure the all capabilities are working like we think they do.
Also, we remove the existing blocking `read_line()` override as it's not
representable in the async implementation anyway, to unify both implementations
once again.

The new name also makes sure that we are not accidentally calling a built-in
implementation on the `BufRead` trait as it's clear our method has to be called
under a different name.
…n for `Box<T: ReadlineBufRead>` as well.

This fixes a bug where the HTTP implementation would incorrectly concatenate packetlines without newlines
as sent by the server for shallow info lines.
@Byron Sebastian Thiel (Byron) force-pushed the shallow-protocol branch 2 times, most recently from 086c5a1 to 30aec54 Compare March 10, 2023 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant