Add for_each_remote() function, and extend remote_find_tracking()

The function for_each_remote() does exactly what the name
suggests.

The function remote_find_tracking() was extended to be able to
search remote refs for a given local ref.  The caller sets
either src or dst (but not both) in the refspec parameter, and
remote_find_tracking() will fill in the other and return 0.

Both changes are required for the next step: simplification of
git-branch's --track functionality.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin
2007-07-10 18:48:40 +01:00
committed by Junio C Hamano
parent 5206d13091
commit b42f69273b
3 changed files with 51 additions and 18 deletions

View File

@ -20,13 +20,16 @@ struct remote {
struct remote *remote_get(const char *name);
typedef int each_remote_fn(struct remote *remote, void *priv);
int for_each_remote(each_remote_fn fn, void *priv);
int remote_has_uri(struct remote *remote, const char *uri);
struct refspec {
unsigned force : 1;
unsigned pattern : 1;
const char *src;
char *src;
char *dst;
};