diff options
author | Vicent Martà <vicent@github.com> | 2012-02-15 11:38:40 -0800 |
---|---|---|
committer | Vicent Martà <vicent@github.com> | 2012-02-15 11:38:40 -0800 |
commit | 6117895fef92ddd08c437ce5a7cdc4bf56754cc3 (patch) | |
tree | a38b27a3bab5c44daaab2c6b07438dc3e5cf67d9 /src/commit.c | |
parent | 0c3bae6268c404fc3717cc90ba1bc5db91c8cbe6 (diff) | |
parent | bf477ed4a86d4183f7e38e4667a1f623270bf5d2 (diff) | |
download | libgit2-6117895fef92ddd08c437ce5a7cdc4bf56754cc3.tar.gz |
Merge pull request #558 from schu/notes-api
Notes API
Diffstat (limited to 'src/commit.c')
-rw-r--r-- | src/commit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/commit.c b/src/commit.c index 64db0a707..189d8fe9e 100644 --- a/src/commit.c +++ b/src/commit.c @@ -146,10 +146,14 @@ int git_commit_create( git_reference *target; error = git_reference_lookup(&head, repo, update_ref); - if (error < GIT_SUCCESS) + if (error < GIT_SUCCESS && error != GIT_ENOTFOUND) return git__rethrow(error, "Failed to create commit"); - error = git_reference_resolve(&target, head); + if (error != GIT_ENOTFOUND) { + update_ref = git_reference_target(head); + error = git_reference_resolve(&target, head); + } + if (error < GIT_SUCCESS) { if (error != GIT_ENOTFOUND) { git_reference_free(head); @@ -162,7 +166,7 @@ int git_commit_create( * point to) or after an orphan checkout, so if the target * branch doesn't exist yet, create it and return. */ - error = git_reference_create_oid(&target, repo, git_reference_target(head), oid, 1); + error = git_reference_create_oid(&target, repo, update_ref, oid, 1); git_reference_free(head); if (error == GIT_SUCCESS) |