All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, John Keeping <john@keeping.me.uk>,
	Sverre Rabbelier <srabbelier@gmail.com>, Max Horn <max@quendi.de>,
	Jonathan Nieder <jrnieder@gmail.com>,
	Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Subject: Re: [PATCH v2 4/6] transport-helper: warn when refspec is not used
Date: Thu, 18 Apr 2013 10:30:44 -0700	[thread overview]
Message-ID: <7vvc7j6917.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1366258473-12841-5-git-send-email-felipe.contreras@gmail.com

Felipe Contreras <felipe.contreras@gmail.com> writes:

> For the modes that need it. In the future we should probably error out,
> instead of providing half-assed support.
>
> The reason we want to do this is because if it's not present, the remote
> helper might be updating refs/heads/*, or refs/remotes/origin/*,
> directly, and in the process fetch will get confused trying to update
> refs that are already updated, or older than what they should be. We
> shouldn't be messing with the rest of git.

So that answers my question in the response to an earlier one in
this series.  We expect the ref updates to be done by the fetch or
push that drives the helper, and do not want the helper to interfere
with its ref updates.

So it is not just 'refspec' _allows_ the refs to be constrained to a
private namespace, like the earlier updates made the documentation
say; it _is_ mandatory to use refspecs to constrain them to avoid
touching refs/heads and refs/remotes namespace.

Am I reading you correctly?

Assuming I am, the patch in this message looks reasonable.

It makes the documentation updates a few patches ago look a bit
wanting, though.

Thanks.

> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>  t/t5801-remote-helpers.sh | 6 ++++--
>  transport-helper.c        | 2 ++
>  2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
> index 3eeb309..1bb7529 100755
> --- a/t/t5801-remote-helpers.sh
> +++ b/t/t5801-remote-helpers.sh
> @@ -100,14 +100,16 @@ test_expect_failure 'push new branch with old:new refspec' '
>  
>  test_expect_success 'cloning without refspec' '
>  	GIT_REMOTE_TESTGIT_REFSPEC="" \
> -	git clone "testgit::${PWD}/server" local2 &&
> +	git clone "testgit::${PWD}/server" local2 2> error &&
> +	grep "This remote helper should implement refspec capability" error &&
>  	compare_refs local2 HEAD server HEAD
>  '
>  
>  test_expect_success 'pulling without refspecs' '
>  	(cd local2 &&
>  	git reset --hard &&
> -	GIT_REMOTE_TESTGIT_REFSPEC="" git pull) &&
> +	GIT_REMOTE_TESTGIT_REFSPEC="" git pull 2> ../error) &&
> +	grep "This remote helper should implement refspec capability" error &&
>  	compare_refs local2 HEAD server HEAD
>  '
>  
> diff --git a/transport-helper.c b/transport-helper.c
> index 4d98567..573eaf7 100644
> --- a/transport-helper.c
> +++ b/transport-helper.c
> @@ -215,6 +215,8 @@ static struct child_process *get_helper(struct transport *transport)
>  			free((char *)refspecs[i]);
>  		}
>  		free(refspecs);
> +	} else if (data->import || data->bidi_import || data->export) {
> +		warning("This remote helper should implement refspec capability.");
>  	}
>  	strbuf_release(&buf);
>  	if (debug)

  reply	other threads:[~2013-04-18 17:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-18  4:14 [PATCH v2 0/6] transport-helper: some clarifications and a fix Felipe Contreras
2013-04-18  4:14 ` [PATCH v2 1/6] transport-helper: clarify *:* refspec Felipe Contreras
2013-04-18  8:24   ` John Keeping
2013-04-18  9:27     ` Felipe Contreras
2013-04-18  9:45       ` John Keeping
2013-04-18 10:02         ` Felipe Contreras
2013-04-18 10:06           ` John Keeping
2013-04-18 17:27   ` Junio C Hamano
2013-04-18 19:07     ` Felipe Contreras
2013-04-18  4:14 ` [PATCH v2 2/6] transport-helper: update refspec documentation Felipe Contreras
2013-04-18  4:14 ` [PATCH v2 3/6] transport-helper: clarify pushing without refspecs Felipe Contreras
2013-04-18 10:11   ` John Keeping
2013-04-18 10:14     ` Felipe Contreras
2013-04-18 10:24       ` John Keeping
2013-04-18 17:29     ` Junio C Hamano
2013-04-18 18:35       ` John Keeping
2013-04-18 17:28   ` Junio C Hamano
2013-04-19  0:27   ` Eric Sunshine
2013-04-19  0:30     ` Felipe Contreras
2013-04-19  3:41     ` Junio C Hamano
2013-04-18  4:14 ` [PATCH v2 4/6] transport-helper: warn when refspec is not used Felipe Contreras
2013-04-18 17:30   ` Junio C Hamano [this message]
2013-04-18 19:12     ` Felipe Contreras
2013-04-18  4:14 ` [PATCH v2 5/6] transport-helper: trivial code shuffle Felipe Contreras
2013-04-18  4:14 ` [PATCH v2 6/6] transport-helper: update remote helper namespace Felipe Contreras
2013-04-18 17:30   ` Junio C Hamano

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=7vvc7j6917.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=felipe.contreras@gmail.com \
    --cc=florian.achleitner.2.6.31@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=john@keeping.me.uk \
    --cc=jrnieder@gmail.com \
    --cc=max@quendi.de \
    --cc=srabbelier@gmail.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.