Skip to content

Server-side command: upload-pack#618

Open
panglesd wants to merge 14 commits intomirage:mainfrom
panglesd:main
Open

Server-side command: upload-pack#618
panglesd wants to merge 14 commits intomirage:mainfrom
panglesd:main

Conversation

@panglesd
Copy link
Copy Markdown
Contributor

This is the implementation of a simplified upload-pack command:

  • "shallow", "deepen", "peeled" part of the protocol are not implemented
  • coloring of the commits is only done when the client decides to close the negociation, so this part of the protocol:

In multi_ack mode: [...]

  • once the server has found an acceptable common base commit and is ready to make a packfile, it will blindly ACK all have obj-ids back to the client.

is not implemented, instead the server always only ack common commits.

The last commit of this PR is a quick hack to make it work before the end of the Mirage retreat, it would need to be cleaned.

When I tried using the unix file backend, guit, to clone this repo, the computation time of get_uncommon_objects was very long.

I reasonably don't have much time to continue this work, so I'm happy to leave it as a draft PR if someone wants to take over!

Made with @Julow during the May 2023 Mirage retreat!

@panglesd panglesd marked this pull request as draft June 22, 2023 10:24
@dinosaure dinosaure force-pushed the main branch 2 times, most recently from cd599fb to 6eac73c Compare November 20, 2023 16:15
@dinosaure dinosaure marked this pull request as ready for review November 20, 2023 16:15
@dinosaure dinosaure force-pushed the main branch 4 times, most recently from eb7581a to 2df31ec Compare November 22, 2023 17:55
@Julow Julow mentioned this pull request Nov 23, 2023
panglesd and others added 14 commits November 23, 2023 14:53
Signed-off-by: Paul-Elliot <peada@free.fr>
Co-authored-by: Jules Aguillon <jules@j3s.fr>
Signed-off-by: Paul-Elliot <peada@free.fr>
Co-authored-by: Jules Aguillon <jules@j3s.fr>
Signed-off-by: Paul-Elliot <peada@free.fr>
This messages need not to be passed around like ACKs and is moved to a
super type.

Co-authored-by: Paul-Elliot <peada@free.fr>
Co-authored-by: Paul-Elliot <peada@free.fr>
Co-authored-by: Paul-Elliot <peada@free.fr>
This functor defines a function for constructing and streaming a pack
file from a list of revs.

Co-authored-by: Paul-Elliot <peada@free.fr>
Allows to create a mimic context for reading and writing to stdin and
stdout.
Co-authored-by: Paul-Elliot <peada@free.fr>
Signed-off-by: Paul-Elliot <peada@free.fr>
Co-authored-by: Jules Aguillon <jules@j3s.fr>
Signed-off-by: Paul-Elliot <peada@free.fr>
This is just a hack to make the git clone work, need to be cleaned and verified!

Signed-off-by: Paul-Elliot <peada@free.fr>
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.

3 participants