diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt index fd72976371..927ecee2f2 100644 --- a/Documentation/git-reset.txt +++ b/Documentation/git-reset.txt @@ -76,15 +76,10 @@ In other words, --merge does something like a 'git read-tree -u -m ', but carries forward unmerged index entries. --keep:: - Resets the index, updates files in the working tree that are - different between and HEAD, but keeps those - which are different between HEAD and the working tree (i.e. - which have local changes). + Resets index entries and updates files in the working tree that are + different between and HEAD. If a file that is different between and HEAD has local changes, reset is aborted. -+ -In other words, --keep does a 2-way merge between and HEAD followed by -'git reset --mixed '. -- If you want to undo a commit other than the latest on a branch, diff --git a/sha1_file.c b/sha1_file.c index 1cafdfa617..d86a8db69a 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -2141,7 +2141,7 @@ void *read_sha1_file_repl(const unsigned char *sha1, return data; } - if (errno != ENOENT) + if (errno && errno != ENOENT) die_errno("failed to read object %s", sha1_to_hex(sha1)); /* die if we replaced an object with one that does not exist */