[PATCH v2 0/3] Supporting partial clones in protocol v2
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- May 2, 2018, 00:31 UTC
- Message-ID
- <cover.1525220786.git.jonathantanmy@google.com>
- In-Reply-To
- <cover.1525213052.git.jonathantanmy@google.com>
Show 13 quoted lines
> This is a bit difficult to read and there is no reason why we would need
> to read the entire upload_pack_config to determine if we need to filter
> things (we will need to read the config if cmd "fetch" is requested
> though). Instead it may be better to do the following:
>
> if (value) {
> strbuf_addstr(value, "shallow");
> if (repo_config_get(r, "uplaodpack.filter"))
> strbuf_addstr(value, " filter");
> }
>
> This way its easier to read and you only are reading the required value
> from the config.Thanks, Brandon. I went ahead and used repo_config_get_bool(), and indeed it works.
Removing the call to git_config() from there exposed another issue in that configs were not read if upload-pack was used with protocol v2, so I inserted a patch in the middle addressing that. While writing that patch, I noticed that uploadpack.packobjectshook couldn't take filenames with spaces, which I think is due to prepare_shell_cmd() in run-command.c not quoting properly. Adding single quotes around "%s" worked, but made other tests fail. Instead of continuing down that rabbit hole, I just made the uploadpack.packobjectshook not have any spaces, just like in t5544.
Jonathan Tan (3):
upload-pack: fix error message typo
upload-pack: read config when serving protocol v2
{fetch,upload}-pack: support filter in protocol v2Documentation/technical/protocol-v2.txt | 9 ++ fetch-pack.c | 23 ++++- t/t5701-git-serve.sh | 14 +++ t/t5702-protocol-v2.sh | 112 ++++++++++++++++++++++++ upload-pack.c | 19 +++- 5 files changed, 171 insertions(+), 6 deletions(-)
-- 2.17.0.441.gb46fe60e1d-goog