diff options
| author | Carlos Martín Nieto <cmn@dwim.me> | 2015-07-11 19:03:38 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <cmn@dwim.me> | 2015-07-12 12:11:22 +0200 |
| commit | 0d98af0911ebf55ba64cc0c9e17a3d450c77a9be (patch) | |
| tree | 349d805b73f3cdb1da9477db1022ddd3798c4076 /src | |
| parent | 8a52ed7a482935c74dbb24358e21811dfa6d91c2 (diff) | |
| download | libgit2-0d98af0911ebf55ba64cc0c9e17a3d450c77a9be.tar.gz | |
blob: fail to create a blob from a dir with EDIRECTORY
This also affects `git_index_add_bypath()` by providing a better error
message and a specific error code when a directory is passed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/blob.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/blob.c b/src/blob.c index 07c4d92c8..ad0f4ac62 100644 --- a/src/blob.c +++ b/src/blob.c @@ -185,6 +185,12 @@ int git_blob__create_from_paths( (error = git_repository_odb(&odb, repo)) < 0) goto done; + if (S_ISDIR(st.st_mode)) { + giterr_set(GITERR_ODB, "cannot create blob from '%s'; it is a directory", content_path); + error = GIT_EDIRECTORY; + goto done; + } + if (out_st) memcpy(out_st, &st, sizeof(st)); |
