From: Ray Chuan Date: Sun, 18 Jan 2009 03:19:01 GMT Subject: Re: [PATCH 2/2] http-push: remove MOVE step after PUT when sending objects to server Message-ID: In-Reply-To: <7viqod5thi.fsf@gitster.siamese.dyndns.org> Hi, On Sun, Jan 18, 2009 at 12:48 AM, Junio C Hamano wrote: > "Ray Chuan" writes: > >> Currently, git PUTs to >> >> /repo.git/objects/1a/1a2b...9z_opaquelocktoken:1234-.... >> >> then MOVEs to >> >> /repo.git/objects/1a/1a2b...9z >> >> This is needless. In fact, the only time MOVE requests are sent is for >> this sole purpose (ie. of renaming an object). this would be my "true" reason. i do believe PUTting to a "temporary" file (ie with '__opaquelocktoken:1234-....' appended) to be a needless step. >> 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. > > The true reason you want to avoid put-then-move is...? 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 -- Cheers, Ray Chuan