threads / patch / 20812

patchMake git status print a helpful death message if the disk is full

Subject: [PATCH] Make git status print a helpful death message if the disk is full

## tl;dr

3 messages between Sep 1, 2009 and Sep 1, 2009. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

David Reiss· Sep 1, 2009, 19:51 UTC · lore

The old behavior just said that it failed. Now it includes the error information, which makes it much easier to debug.

There is a risk that some failure paths could result in misleading error messages that actually make debugging more difficult.

Signed-off-by: David Reiss <dreiss@facebook.com>
---
 builtin-commit.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Show changes to builtin-commit.c +3 −3
diff --git a/builtin-commit.c b/builtin-commit.c
index 4bcce06..3527c73 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -256,7 +256,7 @@ static char *prepare_index(int argc, const char **argv, const char *prefix)
 		refresh_cache(REFRESH_QUIET);
 		if (write_cache(fd, active_cache, active_nr) ||
 		    close_lock_file(&index_lock))
-			die("unable to write new_index file");
+			die("unable to write new_index file: %s", strerror(errno));
 		commit_style = COMMIT_NORMAL;
 		return index_lock.filename;
 	}
@@ -275,7 +275,7 @@ static char *prepare_index(int argc, const char **argv, const char *prefix)
 		refresh_cache(REFRESH_QUIET);
 		if (write_cache(fd, active_cache, active_nr) ||
 		    commit_locked_index(&index_lock))
-			die("unable to write new_index file");
+			die("unable to write new_index file: %s", strerror(errno));
 		commit_style = COMMIT_AS_IS;
 		return get_index_file();
 	}
@@ -318,7 +318,7 @@ static char *prepare_index(int argc, const char **argv, const char *prefix)
 	refresh_cache(REFRESH_QUIET);
 	if (write_cache(fd, active_cache, active_nr) ||
 	    close_lock_file(&index_lock))
-		die("unable to write new_index file");
+		die("unable to write new_index file: %s", strerror(errno));
 
 	fd = hold_lock_file_for_update(&false_lock,
 				       git_path("next-index-%"PRIuMAX,
-- 
1.6.0.4
Thomas Rast· Sep 1, 2009, 20:35 UTC · re: David Reiss · lore

Re: [PATCH] Make git status print a helpful death message if the disk is full

David Reiss wrote:
Show 5 quoted lines
> The old behavior just said that it failed.  Now it includes the error
> information, which makes it much easier to debug.
> 
> There is a risk that some failure paths could result in misleading error
> messages that actually make debugging more difficult.
[...]
>  		if (write_cache(fd, active_cache, active_nr) ||
>  		    close_lock_file(&index_lock))
> -			die("unable to write new_index file");
> +			die("unable to write new_index file: %s", strerror(errno));
Junio C Hamano wrote:
> Don't we have die_errno() or something since at least 1.6.4?

Yes. And during the conversion, I ignored call sites like this one precisely because I did not (and still do not) have enough knowledge of the index and lock file machinery to decide at what stage I need to read errno to get the *real* error message. You're of course welcome to dig into the code to verify that the above is correct, but I am against blindly hoping that it gives the right error.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

← back to recent threads