Re: [PATCH 00/11] Resumable clone
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 16, 2016, 20:47 UTC
- Message-ID
- <xmqq4m5fk1wy.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1473984742-12516-1-git-send-email-kevin.m.wern@gmail.com>
Kevin Wern <kevin.m.wern@gmail.com> writes:
Show 7 quoted lines
> It's been a while (sent a very short patch in May), but I've > still been working on the resumable clone feature and checking up on > the mailing list for any updates. After submitting the prime-clone > service alone, I figured implementing the whole thing would be the best > way to understand the full scope of the problem (this is my first real > contribution here, and learning while working on such an involved > feature has not been easy).
It may not have been easy but I hope it has been a fun journey for you ;-)
Show 9 quoted lines
> On the client side, the transport_prime_clone and > transport_download_primer APIs are built to be more robust (i.e. read > messages without dying due to protocol errors), so that git clone can > always try them without being dependent on the capability output of > git-upload-pack. transport_download_primer is dependent on the success > of transport_prime_clone, but transport_prime_clone is always run on an > initial clone. Part of achieving this robustness involves adding > *_gentle functions to pkt_line, so that prime_clone can fail silently > without dying.
OK.
Show 7 quoted lines
> Right now, a manually resumable directory is left behind only if the > *client* is interrupted while a new junk mode, JUNK_LEAVE_RESUMABLE, > is set (right before the download). For an initial clone, if the > connection fails after automatic resuming, the client erases the > partial resources and falls through to a normal clone. However, once a > resumable directory is left behind by the program, it is NEVER > deleted/abandoned after it is continued with --resume.
Sounds like you made a sensible design decision here.
> - When running with ssh and a password, the credentials are > prompted for twice. I don't know if there is a way to > preserve credentials between executions. I couldn't find any > examples in git's source.
We leave credentail reuse to keyring services like ssh-agent.