5 static const char git_symbolic_ref_usage
[] =
6 "git-symbolic-ref [-q] [-m <reason>] name [ref]";
8 static void check_symref(const char *HEAD
, int quiet
)
10 unsigned char sha1
[20];
12 const char *refs_heads_master
= resolve_ref(HEAD
, sha1
, 0, &flag
);
14 if (!refs_heads_master
)
15 die("No such ref: %s", HEAD
);
16 else if (!(flag
& REF_ISSYMREF
)) {
18 die("ref %s is not a symbolic ref", HEAD
);
22 puts(refs_heads_master
);
25 int cmd_symbolic_ref(int argc
, const char **argv
, const char *prefix
)
28 const char *msg
= NULL
;
30 git_config(git_default_config
);
33 const char *arg
= argv
[1];
36 else if (!strcmp("-q", arg
))
38 else if (!strcmp("-m", arg
)) {
45 die("Refusing to perform update with empty message");
46 if (strchr(msg
, '\n'))
47 die("Refusing to perform update with \\n in message");
49 else if (!strcmp("--", arg
)) {
55 die("unknown option %s", arg
);
62 check_symref(argv
[1], quiet
);
65 create_symref(argv
[1], argv
[2], msg
);
68 usage(git_symbolic_ref_usage
);