From: Junio C Hamano Date: Wed, 19 Feb 2014 20:32:26 GMT Subject: Re: [PATCH v3 24/25] prune: strategies for linked checkouts Message-ID: In-Reply-To: <1392730814-19656-25-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: (Only nitpicks during this round of review). > + if (get_device_or_die(path) != get_device_or_die(get_git_dir())) { > + strbuf_reset(&sb); > + strbuf_addf(&sb, "%s/locked", sb_repo.buf); > + write_file(sb.buf, 1, "located on a different file system\n"); > + keep_locked = 1; > + } else { > + strbuf_reset(&sb); > + strbuf_addf(&sb, "%s/link", sb_repo.buf); > + link(sb_git.buf, sb.buf); /* it's ok to fail */ If so, perhaps tell that to the code by saying something like (void) link(...); ? But why is it OK to fail in the first place? If we couldn't link, don't you want to fall back to the lock codepath? After all, the "are we on the same device?" check is to cope with the case where we cannot link and that alternate codepath is supposed to be prepared to handle the "ah, we cannot link" case correctly, no?