Skip to content

Commit

Permalink
Improve "git branch --tracking" output
Browse files Browse the repository at this point in the history
An earlier patch always spelled the full name of the ref that we track
(e.g. "refs/heads/frotz" instead of just "frotz" when we mean the branch
whose name is "frotz").  Worse yet, because we now use the true name of
the ref at the original repository when talk about a tracking branch that
copies from a remote, such a full name alone still does not give enough
information.

This reorganizes the verbose codepath to:

 - differentiate "refs/heads/something" and everything else; we say that
   the branch tracks "branch <something>" if it begins with "refs/heads/",
   and otherwise the branch tracks "ref refs/<someother>/<something>";

 - report the name of the remote when we talk about a tracking branch, by
   saying "branch frotz from origin";

 - not say "by merging" at the end; it is the default and is not worth
   reporting.

Signed-off-by: Junio C Hamano <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
gitster committed Mar 11, 2009
1 parent a9f2c13 commit 72f6008
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,23 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
git_config_set(key.buf, "true");
}

if (flag & BRANCH_CONFIG_VERBOSE)
printf("Branch %s set up to track %s branch %s %s.\n",
local,
origin ? "remote" : "local",
remote,
rebasing ? "by rebasing" : "by merging");
if (flag & BRANCH_CONFIG_VERBOSE) {
strbuf_reset(&key);

strbuf_addstr(&key, origin ? "remote" : "local");

/* Are we tracking a proper "branch"? */
if (!prefixcmp(remote, "refs/heads/")) {
strbuf_addf(&key, " branch %s", remote + 11);
if (origin)
strbuf_addf(&key, " from %s", origin);
}
else
strbuf_addf(&key, " ref %s", remote);
printf("Branch %s set up to track %s%s.\n",
local, key.buf,
rebasing ? " by rebasing" : "");
}
strbuf_release(&key);
}

Expand Down

0 comments on commit 72f6008

Please sign in to comment.