git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git http-push and MKCOL error (22/409)

From
TSThomas Schlichter <thomas.schlichter@web.de>
Date
Aug 17, 2009, 05:25 UTC
Message-ID
<200908170725.09592.thomas.schlichter@web.de>
In-Reply-To
<be6fef0d0908162158y429c4b5fgb9138151446e39ef@mail.gmail.com>
Hi,
Am Montag 17 August 2009 06:58:25 schrieb Tay Ray Chuan:
Show 46 quoted lines
> Hi,
>
> On Mon, Aug 17, 2009 at 3:34 AM, Junio C Hamano<gitster@pobox.com> wrote:
> > The report said:
> >
> >    MKCOL 98fd7fb8f32843c1bb40bd195a2f1cd6cab0751d failed, aborting
> > (22/409)
> >
> > As far as I can see you are trying (in http-push.c::start_mkcol()) to
> > create the two-hexdigit fan-out directory (i.e. "98" for this example);
> > it is strange to see a request to create the full 40-hexdigit collection
> > in the first place.
>
> Yes, you're right, but git prints out the full SHA-1 hash even though
> it is actually referring to the 2-hexdigit directory that it failed to
> create/verify, for whatever reason.
>
> > In another thread you responded to earlier:
> >
> >  
> >  http://thread.gmane.org/gmane.comp.version-control.git/125933/focus=1259
> >72
> >
> > the original report did not give the exact error message, but in that
> > one, instead of failing to create 40-hexdigit collection like this, I am
> > guessing that it fails with something like "MKCOL 'refs' failed".
>
> I guess by "original report" you refer to Thomas' initial email: yes,
> he (unwittingly) did provide theerror code in the subject line, the
> part which says (22/409). It actually means (<curl return code>/<http
> return code>). Referring again to
> http://www.webdav.org/specs/rfc4918.html#rfc.section.9.3.1:
>
>   409 (Conflict) - A collection cannot be made at the Request-URI until
>   one or more intermediate collections have been created. The server
>   must not create those intermediate collections automatically.
>
> meaning one or more parent directories weren't created.
>
> Based on this and his procedure, I'm guessing that there's something
> wrong with his setup.
>
> > *1* Not necessarily in the sense the client is broken but in the sense
> > that the server-client combination does not work for the reporter.
>
> Indeed.

Hmm. I hope you won't take this as an argument for not fixing it, because it is a clear regression! I tried git version 1.6.3.4, and it works flawlessly with exactly this server! Even during bisecting, some versions worked, some didn't (these after the mentioned commit...)

So I think this commit didn't only refactor things, but unintentionally changed the behavior. And this must be the problem. As I'm not into this code, and the refactoring was not completely trivial, I was not able to quickly find the place where the behavior was changed...

Kind regards, Thomas Schlichter

Previous: Tay Ray ChuanNext: Junio C Hamano
Message 9 of 12 in “git http-push and MKCOL error (22/409)”
  1. Thomas SchlichterAug 16, 2009
  2. Tay Ray ChuanAug 16, 2009
  3. Thomas SchlichterAug 16, 2009
  4. Tay Ray ChuanAug 17, 2009
  5. Thomas SchlichterAug 17, 2009
  6. Thomas SchlichterAug 17, 2009
  7. Junio C HamanoAug 16, 2009
  8. Tay Ray ChuanAug 17, 2009
  9. Thomas SchlichterAug 17, 2009
  10. Junio C HamanoAug 17, 2009
  11. Tay Ray ChuanAug 17, 2009
  12. Thomas SchlichterAug 17, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.