The usual way to handle errors from hold_lock_file_for_update is to get a message from unable_to_lock_message or unable_to_lock_die, which can explain to the user how to check for other git processes running concurrently and unlink the .lock file if safe.
fast-import didn't use the unable_to_lock_message helper because at the time it started using the lockfile API (v1.5.1-rc1~69^2~2, 2007-03-07) that helper didn't exist. Later it still was not appropriate to use that helper because the message assumed the file being locked was inside a git repository. Now there is a flag to indicate that this lockfile is not part of the repository, so we can finally use the helper. Signed-off-by: Jonathan Nieder <jrnie...@gmail.com> --- fast-import.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fast-import.c b/fast-import.c index d0bd285..bf8faa9 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1799,9 +1799,14 @@ static void dump_marks(void) if (!export_marks_file) return; - if (hold_lock_file_for_update(&mark_lock, export_marks_file, 0) < 0) { - failure |= error("Unable to write marks file %s: %s", - export_marks_file, strerror(errno)); + if (hold_lock_file_for_update(&mark_lock, export_marks_file, + LOCK_OUTSIDE_REPOSITORY) < 0) { + struct strbuf err = STRBUF_INIT; + + unable_to_lock_message(export_marks_file, + LOCK_OUTSIDE_REPOSITORY, errno, &err); + failure |= error("%s", err.buf); + strbuf_release(&err); return; } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html