Staging
v0.5.2
https://github.com/git/git
Revision 9cb90b80fc1ec09d8e51451b18a7c8ef7eac8908 authored by Rene Scharfe on 08 October 2006, 13:44:50 UTC, committed by Junio C Hamano on 08 October 2006, 19:43:07 UTC
Noted by Jiri Slaby, git-tar-tree --remote doesn't need to be run
from inside of a git archive.  Since git-tar-tree is now only a
wrapper for git-archive, which calls setup_git_directory() as
needed, we should drop the flag RUN_SETUP.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 7a0cf2d
Raw File
Tip revision: 9cb90b80fc1ec09d8e51451b18a7c8ef7eac8908 authored by Rene Scharfe on 08 October 2006, 13:44:50 UTC
git-tar-tree: don't RUN_SETUP
Tip revision: 9cb90b8
builtin-symbolic-ref.c
#include "builtin.h"
#include "cache.h"

static const char git_symbolic_ref_usage[] =
"git-symbolic-ref name [ref]";

static void check_symref(const char *HEAD)
{
	unsigned char sha1[20];
	const char *git_HEAD = xstrdup(git_path("%s", HEAD));
	const char *git_refs_heads_master = resolve_ref(git_HEAD, sha1, 0);
	if (git_refs_heads_master) {
		/* we want to strip the .git/ part */
		int pfxlen = strlen(git_HEAD) - strlen(HEAD);
		puts(git_refs_heads_master + pfxlen);
	}
	else
		die("No such ref: %s", HEAD);
}

int cmd_symbolic_ref(int argc, const char **argv, const char *prefix)
{
	git_config(git_default_config);
	switch (argc) {
	case 2:
		check_symref(argv[1]);
		break;
	case 3:
		create_symref(xstrdup(git_path("%s", argv[1])), argv[2]);
		break;
	default:
		usage(git_symbolic_ref_usage);
	}
	return 0;
}
back to top