Re: [PATCH] http-push: Make WebDAV work with (broken?) default apache2 WebDAV module
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:36
Rutger Nijlunsing [off-list ref] writes:
WebDAV on Debian unstable cannot handle renames on WebDAV from file.ext to newfile (without ext) when newfile* already exists. Normally, git creates a file like 'objects/xx/sha1.token', which is renamed to 'objects/xx/sha1' when transferred completely. Just use '_' instead of '.' so WebDAV doesn't see it as an extension change. Signed-off-by: Rutger Nijlunsing <redacted> Acked-by: Johannes Schindelin <redacted>
Good problem and workaround description. Nick, does this look sane to you, or is there a more kosher way to handle this?
quoted hunk
--- http-push.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/http-push.c b/http-push.c index 4021e7d..d45733e 100644 --- a/http-push.c +++ b/http-push.c@@ -530,7 +530,7 @@ static void start_put(struct transfer_re request->dest = xmalloc(strlen(request->url) + 14); sprintf(request->dest, "Destination: %s", request->url); posn += 38; - *(posn++) = '.'; + *(posn++) = '_'; strcpy(posn, request->lock->token); slot = get_active_slot();-- 1.4.2.rc2.g7cb1 -- Rutger Nijlunsing ---------------------------------- eludias ed dse.nl never attribute to a conspiracy which can be explained by incompetence ----------------------------------------------------------------------