Commit f0ab9fda8b566fffb704527b19556df3ef10738e

Vicent Marti 2011-07-08T18:22:44

index: Return `GIT_ENOTFOUND` when an entry cannot be opened

diff --git a/src/index.c b/src/index.c
index 986bcc0..af98cdc 100644
--- a/src/index.c
+++ b/src/index.c
@@ -427,7 +427,7 @@ static int index_init_entry(git_index_entry *entry, git_index *index, const char
 	git_path_join(full_path, index->repository->path_workdir, rel_path);
 
 	if (p_lstat(full_path, &st) < 0)
-		return git__throw(GIT_EOSERR, "Failed to initialize entry. '%s' cannot be opened", full_path);
+		return git__throw(GIT_ENOTFOUND, "Failed to initialize entry. '%s' cannot be opened", full_path);
 
 	if (stage < 0 || stage > 3)
 		return git__throw(GIT_ERROR, "Failed to initialize entry. Invalid stage %i", stage);
diff --git a/src/oid.c b/src/oid.c
index 1f4a652..2348d14 100644
--- a/src/oid.c
+++ b/src/oid.c
@@ -341,6 +341,9 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
 	if (os->full)
 		return GIT_ENOMEM;
 
+	if (text_oid == NULL)
+		return os->min_length;
+
 	idx = 0;
 	is_leaf = 0;