From: Jonathan Nieder Date: Mon, 24 Jul 2017 17:09:15 GMT Subject: Re: [PATCH 21/28] commit_packed_refs(): use a staging file separate from the lockfile Message-ID: <20170724170915.GD13924@aiede.mtv.corp.google.com> In-Reply-To: <20170724165907.53zx657qmizgl4lb@sigill.intra.peff.net> Hi, Jeff King wrote: > This seems like the correct path to me. If the existing behavior is to > lock the referring symref, that seems like a violation of the lock > procedure in the first place. Because if "A" points to "B", we take > "A.lock" and then modify "B". But "B" may have any number of "A" links > pointing to it, eliminating the purpose of the lock. > > I thought we already did this, though. And that modifying HEAD (which > might be a symlink) required LOCK_NO_DEREF. Yes, I believe the lockfile API already does so. Since this patch creates a ".new" file, not using the lockfile API, it doesn't benefit from that, though. Thanks, Jonathan