Re: [PATCH 0/4] Pulling refs files
From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:57
Dear diary, on Wed, May 18, 2005 at 12:20:40AM CEST, I got a letter where Daniel Barkalow [off-list ref] told me that...
On Tue, 17 May 2005, Petr Baudis wrote:quoted
Dear diary, on Tue, May 17, 2005 at 11:20:54PM CEST, I got a letter where Daniel Barkalow [off-list ref] told me that...quoted
Hmm... maybe the right thing is to make the implementation-provided transfer code handle arbitrary things in GIT_DIR, but have code for updating reference files atomically and using a reference file to start from use "refs/"? Certainly, there's nothing special about reference files in transit. Certainly the things in the info/ directory shouldn't be treated a head that you're going to pull, so that has to be different above the protocol level anyway.*confused* :) I'm sorry, I have trouble understanding this. Could you rephrase, please?If you want to get info/ignore, you want to get it and save it, not download a set of objects it refers to. So it's different from specifying that you want to use refs/heads/master as the starting point for a pull.
Obviously. I think you should need to "explicitly" tell pull to actually save any files locally, since you (I mean Cogito) certainly does not want the pull stuff to touch the local refs/heads/master - it wants it in some other file.
quoted
quoted
So the remote receiver should get an instruction: change X from OLD to NEW and pull NEW. It should: - lock the file against further updates - check that the current value is the provided OLD - pull the necessary objects - write NEW to the file- unlock the file ;-))The way I'm actually doing things is to write NEW into the lock file at some arbitrary point, and "writing to the file" is actually renaming the lock file to the normal filename. So writing unlocks the file automatically.
Ah. Obviously. That makes sense. :-) -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor