File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed
Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ static int retrieve_branch_reference(
2222 git_reference * * branch_reference_out ,
2323 git_repository * repo ,
2424 const char * branch_name ,
25- int is_remote )
25+ bool is_remote )
2626{
2727 git_reference * branch = NULL ;
2828 int error = 0 ;
@@ -334,9 +334,23 @@ int git_branch_lookup(
334334 const char * branch_name ,
335335 git_branch_t branch_type )
336336{
337+ int error = -1 ;
337338 assert (ref_out && repo && branch_name );
338339
339- return retrieve_branch_reference (ref_out , repo , branch_name , branch_type == GIT_BRANCH_REMOTE );
340+ switch (branch_type ) {
341+ case GIT_BRANCH_LOCAL :
342+ case GIT_BRANCH_REMOTE :
343+ error = retrieve_branch_reference (ref_out , repo , branch_name , branch_type == GIT_BRANCH_REMOTE );
344+ break ;
345+ case GIT_BRANCH_ALL :
346+ error = retrieve_branch_reference (ref_out , repo , branch_name , false);
347+ if (error == GIT_ENOTFOUND )
348+ error = retrieve_branch_reference (ref_out , repo , branch_name , true);
349+ break ;
350+ default :
351+ assert (false);
352+ }
353+ return error ;
340354}
341355
342356int git_branch_name (
You can’t perform that action at this time.
0 commit comments