When the user runs 'git checkout bar-topic' without specifying a remote, and there is no local branch named bar-topic, we try to guess which remote branch bar-topic refers to, then create a new branch named bar-topic that tracks the remote branch. If multiple remotes have a branch named bar-topic, we cannot determine a single remote. To make it easier to resolve the ambiguity, provide the names of the matching remotes for the specified branch name. To achieve that, add an optional feature to the `unique_tracking_name()` function that allows the matching remote names to be exposed to the caller. Signed-off-by: Yoichi NAKAYAMA <yoichi.nakayama@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 lines
430 B
C
19 lines
430 B
C
#ifndef CHECKOUT_H
|
|
#define CHECKOUT_H
|
|
|
|
#include "hash.h"
|
|
|
|
struct string_list;
|
|
|
|
/*
|
|
* Check if the branch name uniquely matches a branch name on a remote
|
|
* tracking branch. Return the name of the remote if such a branch
|
|
* exists, NULL otherwise.
|
|
*/
|
|
char *unique_tracking_name(const char *name,
|
|
struct object_id *oid,
|
|
int *dwim_remotes_matched,
|
|
struct string_list *dwim_remote_names);
|
|
|
|
#endif /* CHECKOUT_H */
|