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

Re: [PATCH 2/2] http-push: remove MOVE step after PUT when sending objects to server

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 18, 2009, 13:32 UTC
Message-ID
<alpine.DEB.1.00.0901181425420.3586@pacific.mpi-cbg.de>
In-Reply-To
<be6fef0d0901171919ub28dda7ref6443abec3627aa@mail.gmail.com>
Hi,
On Sun, 18 Jan 2009, Ray Chuan wrote:
Show 16 quoted lines
> On Sun, Jan 18, 2009 at 12:48 AM, Junio C Hamano <gitster@pobox.com> wrote:
>
> > "Ray Chuan" <rctay89@gmail.com> writes:
> >
> >> A concern raised was repository corruption in the event of failure 
> >> during PUT. "put && move" won't afford any more protection than using 
> >> simply "put", since info/refs is not updated if a PUT fails, so there 
> >> is no cause for concern.
> >
> > That's a completely bogus reasoning.  Normal operation inside the 
> > repository that was pushed into won't look at info/refs at all.
> 
> i mentioned this "repository corruption" issue as it was raised
> previously by Johannes (towards the bottom):
> 
>   http://article.gmane.org/gmane.comp.version-control.git/106031

,.. and Junio just raised a new concern. The repository as it is on the server could very well be served by other means, i.e. git:// and rsync://, and there could be cron jobs and interactive Git sessions trying to work with it.

The point is: the repository inside the document root of the web server is still a valid repository.

And the assumption is that whenever you have a file that looks like a valid object/pack inside a valid repository, that it does not need replacing.

So even when optimizing the uncommon (HTTP push is 2nd class citizen), we have to keep the common workflow intact (1st class citizens _are_ push by file system, ssh or git://).

Which unfortunately means that put && move must stay.

The same reasoning explains why http-push has to ignore the info/refs file when looking for common refs, BTW.

Ciao, Dscho

Previous: Ray ChuanNext: Junio C Hamano
Message 4 of 10 in “http-push: remove MOVE step after PUT when sending objects to server”
  1. 2/2 http-push: remove MOVE step after PUT when sending objects to serverRay Chuan, Jan 17, 2009
  2. Junio C HamanoJan 18, 2009
  3. Ray ChuanJan 18, 2009
  4. Johannes SchindelinJan 18, 2009
  5. Junio C HamanoJan 18, 2009
  6. Johannes SchindelinJan 18, 2009
  7. Junio C HamanoJan 18, 2009
  8. Johannes SchindelinJan 18, 2009
  9. Sverre RabbelierJan 19, 2009
  10. Junio C HamanoJan 19, 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.