All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: chris <jugg@hotmail.com>
Cc: Jan Hudec <bulb@ucw.cz>, git@vger.kernel.org
Subject: [PATCH 1/3] remote: disallow some nonsensical option combinations
Date: Wed, 30 Mar 2011 15:52:52 -0400	[thread overview]
Message-ID: <20110330195252.GA30624@sigill.intra.peff.net> (raw)
In-Reply-To: <20110330195139.GA814@sigill.intra.peff.net>

It doesn't make sense to use "-m" on a mirror, since "-m"
sets up the HEAD symref in the remotes namespace, but with
mirror, we are by definition not using a remotes namespace.

Similarly, it does not make much sense to specify refspecs
with --mirror. For a mirror you plan to push to, those
refspecs will be ignored. For a mirror you are fetching
from, there is no point in mirroring, since the refspec
specifies everything you want to grab.

There is one case where "--mirror -t <X>" would be useful.
Because <X> is used as-is in the refspec, and because we
append it to to refs/, you could mirror a subset of the
hierarchy by doing:

  git remote add --mirror -t 'tags/*'

But using anything besides a single branch as an argument to
"-t" is not documented and only happens to work, so closing
it off is not a serious regression.

Signed-off-by: Jeff King <peff@peff.net>
---
 builtin/remote.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/builtin/remote.c b/builtin/remote.c
index b71ecd2..2e25c6a 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -161,6 +161,11 @@ static int add(int argc, const char **argv)
 	if (argc < 2)
 		usage_with_options(builtin_remote_add_usage, options);
 
+	if (mirror && master)
+		die("specifying a master branch makes no sense with --mirror");
+	if (mirror && track.nr)
+		die("specifying branches to track makes no sense with --mirror");
+
 	name = argv[0];
 	url = argv[1];
 
-- 
1.7.4.2.8.g3ccd6

  reply	other threads:[~2011-03-30 19:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30  2:27 checkout new branch tracks wrong remote (bug?) chris
2011-03-30 14:59 ` Jeff King
2011-03-30 19:51   ` [PATCH 0/3] better "remote add --mirror" semantics Jeff King
2011-03-30 19:52     ` Jeff King [this message]
2011-03-30 19:53     ` [PATCH 2/3] remote: separate the concept of push and fetch mirrors Jeff King
2011-03-30 20:45       ` Junio C Hamano
2011-03-30 20:57         ` Jeff King
2011-03-30 22:22           ` Junio C Hamano
2011-03-31  2:44             ` chris
2011-03-31  2:50               ` chris
2011-03-31  4:03                 ` Junio C Hamano
2011-03-31 12:59                   ` chris
2011-03-30 19:53     ` [PATCH 3/3] remote: deprecate --mirror Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110330195252.GA30624@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=bulb@ucw.cz \
    --cc=git@vger.kernel.org \
    --cc=jugg@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.