Browse Source

Rename interpret/substitute nth_last_branch functions

These allow you to say "git checkout @{-2}" to switch to the branch two
"branch switching" ago by pretending as if you typed the name of that
branch.  As it is likely that we will be introducing more short-hands to
write the name of a branch without writing it explicitly, rename the
functions from "nth_last_branch" to more generic "branch_name", to prepare
for different semantics.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 16 years ago
parent
commit
431b1969fc
  1. 2
      branch.c
  2. 2
      builtin-branch.c
  3. 2
      builtin-checkout.c
  4. 2
      builtin-merge.c
  5. 2
      cache.h
  6. 12
      sha1_name.c

2
branch.c

@ -137,7 +137,7 @@ void create_branch(const char *head,
int len; int len;


len = strlen(name); len = strlen(name);
if (interpret_nth_last_branch(name, &ref) != len) { if (interpret_branch_name(name, &ref) != len) {
strbuf_reset(&ref); strbuf_reset(&ref);
strbuf_add(&ref, name, len); strbuf_add(&ref, name, len);
} }

2
builtin-branch.c

@ -123,7 +123,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
for (i = 0; i < argc; i++, strbuf_release(&bname)) { for (i = 0; i < argc; i++, strbuf_release(&bname)) {
int len = strlen(argv[i]); int len = strlen(argv[i]);


if (interpret_nth_last_branch(argv[i], &bname) != len) if (interpret_branch_name(argv[i], &bname) != len)
strbuf_add(&bname, argv[i], len); strbuf_add(&bname, argv[i], len);


if (kinds == REF_LOCAL_BRANCH && !strcmp(head, bname.buf)) { if (kinds == REF_LOCAL_BRANCH && !strcmp(head, bname.buf)) {

2
builtin-checkout.c

@ -355,7 +355,7 @@ static void setup_branch_path(struct branch_info *branch)
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
int ret; int ret;


if ((ret = interpret_nth_last_branch(branch->name, &buf)) if ((ret = interpret_branch_name(branch->name, &buf))
&& ret == strlen(branch->name)) { && ret == strlen(branch->name)) {
branch->name = xstrdup(buf.buf); branch->name = xstrdup(buf.buf);
strbuf_splice(&buf, 0, 0, "refs/heads/", 11); strbuf_splice(&buf, 0, 0, "refs/heads/", 11);

2
builtin-merge.c

@ -361,7 +361,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
int len, early; int len, early;


len = strlen(remote); len = strlen(remote);
if (interpret_nth_last_branch(remote, &bname) == len) if (interpret_branch_name(remote, &bname) == len)
remote = bname.buf; remote = bname.buf;


memset(branch_head, 0, sizeof(branch_head)); memset(branch_head, 0, sizeof(branch_head));

2
cache.h

@ -671,7 +671,7 @@ extern int read_ref(const char *filename, unsigned char *sha1);
extern const char *resolve_ref(const char *path, unsigned char *sha1, int, int *); extern const char *resolve_ref(const char *path, unsigned char *sha1, int, int *);
extern int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref); extern int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref);
extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref); extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref);
extern int interpret_nth_last_branch(const char *str, struct strbuf *); extern int interpret_branch_name(const char *str, struct strbuf *);


extern int refname_match(const char *abbrev_name, const char *full_name, const char **rules); extern int refname_match(const char *abbrev_name, const char *full_name, const char **rules);
extern const char *ref_rev_parse_rules[]; extern const char *ref_rev_parse_rules[];

12
sha1_name.c

@ -242,10 +242,10 @@ static int ambiguous_path(const char *path, int len)
* *string and *len will only be substituted, and *string returned (for * *string and *len will only be substituted, and *string returned (for
* later free()ing) if the string passed in is of the form @{-<n>}. * later free()ing) if the string passed in is of the form @{-<n>}.
*/ */
static char *substitute_nth_last_branch(const char **string, int *len) static char *substitute_branch_name(const char **string, int *len)
{ {
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
int ret = interpret_nth_last_branch(*string, &buf); int ret = interpret_branch_name(*string, &buf);


if (ret == *len) { if (ret == *len) {
size_t size; size_t size;
@ -259,7 +259,7 @@ static char *substitute_nth_last_branch(const char **string, int *len)


int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref) int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
{ {
char *last_branch = substitute_nth_last_branch(&str, &len); char *last_branch = substitute_branch_name(&str, &len);
const char **p, *r; const char **p, *r;
int refs_found = 0; int refs_found = 0;


@ -288,7 +288,7 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)


int dwim_log(const char *str, int len, unsigned char *sha1, char **log) int dwim_log(const char *str, int len, unsigned char *sha1, char **log)
{ {
char *last_branch = substitute_nth_last_branch(&str, &len); char *last_branch = substitute_branch_name(&str, &len);
const char **p; const char **p;
int logs_found = 0; int logs_found = 0;


@ -355,7 +355,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
int ret; int ret;
/* try the @{-N} syntax for n-th checkout */ /* try the @{-N} syntax for n-th checkout */
ret = interpret_nth_last_branch(str+at, &buf); ret = interpret_branch_name(str+at, &buf);
if (ret > 0) { if (ret > 0) {
/* substitute this branch name and restart */ /* substitute this branch name and restart */
return get_sha1_1(buf.buf, buf.len, sha1); return get_sha1_1(buf.buf, buf.len, sha1);
@ -750,7 +750,7 @@ static int grab_nth_branch_switch(unsigned char *osha1, unsigned char *nsha1,
* If the input was ok but there are not N branch switches in the * If the input was ok but there are not N branch switches in the
* reflog, it returns 0. * reflog, it returns 0.
*/ */
int interpret_nth_last_branch(const char *name, struct strbuf *buf) int interpret_branch_name(const char *name, struct strbuf *buf)
{ {
long nth; long nth;
int i, retval; int i, retval;

Loading…
Cancel
Save