Junio C Hamano <junkio@xxxxxxx> wrote: > "Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes: > > Mark Levedahl <mdl123@xxxxxxxxxxx> wrote: > >> + # update only if non-fastforward > >> + local=$(git-rev-parse --verify "$ref^0" 2>/dev/null) > >> ... > >> + git-update-ref -m "git-unbundle update" $ref $sha1 > > > > What about passing $local as the final argument to update-ref, > > so that the ref won't be modified if someone changed it while > > an unbundle was running? Sure its mostly a manual operation, > > but imagine running it on a bare repository while someone else > > is pushing into it... > > The script already has $local at that point, so adding it to > update-ref is a no-cost change to make things safer. I think it > makes sense. Actually that's only if --force was not given. If --force was given, rev-parse wasn't run, so local is not populated. So maybe its not trivial. > But I have to wonder... While someone else is _pushing_ into > it? Why are _you_ sneakernetting, then? People do weird things. I agree, its probably unlikely to ever happen. But give a user a length of rope, they will find a way to hang themselves... I can see someone trying to use an update hook with bundle/unbundle to move stuff from one repository to another, despite the fact that are better ways to do that. Better that we fail when an update might lose changes. -- Shawn. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html