* What does `git push origin --delete ""` do?
@ 2021-02-23 21:50 Tilman Vogel
2021-02-23 22:46 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: Tilman Vogel @ 2021-02-23 21:50 UTC (permalink / raw)
To: git
Hi!
Because of an empty line in the input file, my script
cat remove.txt | sed 's/origin\///' | xargs -d '\n' git push origin --delete
executed (among other deletions) an implicit `git push origin --delete
""`. I wonder, what that one is supposed to do. I think, it should
produce an error just as `git push origin --delete` without a further
argument does but it doesn't. It seemed like instead, it tried to push
all my local branches to origin!? Is this something that should get
fixed?
Best regards,
Tilman
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: What does `git push origin --delete ""` do?
2021-02-23 21:50 What does `git push origin --delete ""` do? Tilman Vogel
@ 2021-02-23 22:46 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2021-02-23 22:46 UTC (permalink / raw)
To: Tilman Vogel; +Cc: git
Tilman Vogel <tilman.vogel@web.de> writes:
> Because of an empty line in the input file, my script
>
> cat remove.txt | sed 's/origin\///' | xargs -d '\n' git push origin --delete
>
> executed (among other deletions) an implicit `git push origin --delete
> ""`. I wonder, what that one is supposed to do.
It is supposed to error out, but incorrectly and silently turns
itself into a "matching push".
This should fix it, I think (not even compiled tested).
builtin/push.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git c/builtin/push.c w/builtin/push.c
index 03adb58602..194967ed79 100644
--- c/builtin/push.c
+++ w/builtin/push.c
@@ -115,7 +115,7 @@ static void set_refspecs(const char **refs, int nr, const char *repo)
else
refspec_appendf(&rs, "refs/tags/%s", ref);
} else if (deleterefs) {
- if (strchr(ref, ':'))
+ if (strchr(ref, ':') || !*ref)
die(_("--delete only accepts plain target ref names"));
refspec_appendf(&rs, ":%s", ref);
} else if (!strchr(ref, ':')) {
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-23 22:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-23 21:50 What does `git push origin --delete ""` do? Tilman Vogel
2021-02-23 22:46 ` Junio C Hamano
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).