diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-02-08 23:27:10 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-10 22:26:20 -0800 |
commit | f8948e2fbc7fbd63e81006408965e3e89380bfaa (patch) | |
tree | e431c958f2c07b7da331d985f96d81267c75e20a /builtin-remote.c | |
parent | 8ea7ad694be942350457197357127ed81b2550fe (diff) | |
download | git-f8948e2fbc7fbd63e81006408965e3e89380bfaa.tar.gz |
remote prune: warn dangling symrefs
If you prune from the remote "frotz" that deleted the ref your tracking
branch remotes/frotz/HEAD points at, the symbolic ref will become
dangling. We used to detect this as an error condition and issued a
message every time refs are enumerated.
This stops the error message, but moves the warning to "remote prune".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-remote.c')
-rw-r--r-- | builtin-remote.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/builtin-remote.c b/builtin-remote.c index db18bcfc97..ac69d37c8a 100644 --- a/builtin-remote.c +++ b/builtin-remote.c @@ -756,12 +756,17 @@ static int prune(int argc, const char **argv) OPT_END() }; struct ref_states states; + const char *dangling_msg; argc = parse_options(argc, argv, options, builtin_remote_usage, 0); if (argc < 1) usage_with_options(builtin_remote_usage, options); + dangling_msg = (dry_run + ? " %s will become dangling!\n" + : " %s has become dangling!\n"); + memset(&states, 0, sizeof(states)); for (; argc; argc--, argv++) { int i; @@ -784,6 +789,7 @@ static int prune(int argc, const char **argv) printf(" * [%s] %s\n", dry_run ? "would prune" : "pruned", abbrev_ref(refname, "refs/remotes/")); + warn_dangling_symref(dangling_msg, refname); } /* NEEDSWORK: free remote */ |