From: Brandon Casey Date: Sat, 12 Jan 2008 02:26:51 GMT Subject: Re: [PATCH] git-relink.perl: warn() instead of die() on directory open failure Message-ID: <4788256B.2080007@nrlssc.navy.mil> In-Reply-To: <7vabnbzt6t.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > Brandon Casey writes: > >> Signed-off-by: Brandon Casey >> --- >> >> >> Sometimes the repository to link to is not under your control. >> If it contains files or unreadable directories, git-relink will >> die without this patch. > > I am not so sure if dying is a bad behaviour, if it is because > you are trying to link against an object store that you may not > be able to read. I actually think we should actively refuse to, > in order to prevent future problems. After seeing the command > die, you will talk to the owner of that "master" object store > and ask him to fix permissions (or he may choose to say "please > do not share with me"). The case for me was that the objects directory contained temporary pack files. This is a perfectly valid state for a git repository, but relink() currently aborts the whole effort when it encounters a non-directory. Stale tmp packs can remain if the user aborted a git command before it was finished. (hmm, maybe git-gc --prune could remove these too?) I only mentioned the unreadable directory case as another possibility. You're probably right about that one. -brandon