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)  | 
