提交 0bc3cdfc 编写于 作者: J Junio C Hamano

Make send-pack --all and explicit ref mutually exclusive.

send-pack had a confusing misfeature that "send-pack --all
master" updated all refs, while "send-pack --all" did not do
anything.  Make --all and explicit refs mutually exclusive, and
make sure "send-pack --all" updates all refs.
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 72d7121c
......@@ -4,7 +4,8 @@
#include "pkt-line.h"
static const char send_pack_usage[] =
"git-send-pack [--exec=git-receive-pack] [host:]directory [heads]*";
"git-send-pack [--all] [--exec=git-receive-pack] <remote> [<head>...]\n"
" --all and explicit <head> specification are mutually exclusive.";
static const char *exec = "git-receive-pack";
static int send_all = 0;
static int force_update = 0;
......@@ -214,7 +215,7 @@ static int send_pack(int in, int out, int nr_match, char **match)
/*
* See if we have any refs that the other end didn't have
*/
if (nr_match) {
if (nr_match || send_all) {
local_ref_nr_match = nr_match;
local_ref_match = match;
local_ref_list = ref_list;
......@@ -281,6 +282,8 @@ int main(int argc, char **argv)
}
if (!dest)
usage(send_pack_usage);
if (heads && send_all)
usage(send_pack_usage);
pid = git_connect(fd, dest, exec);
if (pid < 0)
return 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册