git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 4/4] push: add 'prune' option

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 23, 2012, 00:42 UTC
Message-ID
<7v1upm8jnq.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1329950621-21165-5-git-send-email-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 6 quoted lines
> +--prune::
> +	Remove remote branches that don't have a local counterpart. For example
> +	a remote branch `tmp` will be removed if a local branch with the same
> +	name doesn't exist any more. This also respects refspecs, e.g.
> +	`refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo`
> +	will be removed if `refs/heads/foo` doesn't exist.

I do not think it adds much useful information to mention `tmp` only once over what is already said by the first sentence. Also, the first sentence of the example does not make it clear that it is assuming a same-for-same mapping.

Coming up with a precise technical description is easy, but it is hard to explain to the end user in easy terms, and I commend you for attempting to add an example in a short single sentence, though.

Perhaps spelling out the underlying assumption the example makes is the best we could do here without going too technical.

        ... For example, if you are pushing all your local branches to
        update the local branches of the remote, `tmp` branch will be
        removed from the remote if you removed your `tmp` branch locally.
        If you are pushing all your local branches on your laptop to a
        repository on your desktop machine under `refs/remotes/laptop/`
        hierarchy to back them up, `refs/remotes/laptop/tmp` is removed
        from the remote if you no longer have the branch `tmp` on your
        laptop.
Will queue with a slight fix-ups, including this bit:
Show 12 quoted lines
> diff --git a/remote.h b/remote.h
> index b395598..341142c 100644
> --- a/remote.h
> +++ b/remote.h
> @@ -145,7 +145,8 @@ int branch_merge_matches(struct branch *, int n, const char *);
>  enum match_refs_flags {
>  	MATCH_REFS_NONE		= 0,
>  	MATCH_REFS_ALL 		= (1 << 0),
> -	MATCH_REFS_MIRROR	= (1 << 1)
> +	MATCH_REFS_MIRROR	= (1 << 1),
> +	MATCH_REFS_PRUNE	= (1 << 2),
>  };

Lose the ',' at the end, for the same reason why deleted line did not have one.

Thanks.
Previous: Felipe ContrerasNext: Felipe Contreras
Message 6 of 9 in “push: add 'prune' option”
  1. 0/4 push: add 'prune' optionFelipe Contreras, Feb 22, 2012
  2. 1/4 remote: use a local variable in match_push_refs()Felipe Contreras, Feb 22, 2012
  3. 2/4 remote: reorganize check_pattern_match()Felipe Contreras, Feb 22, 2012
  4. 3/4 remote: refactor code into alloc_delete_ref()Felipe Contreras, Feb 22, 2012
  5. 4/4 push: add 'prune' optionFelipe Contreras, Feb 22, 2012
  6. Junio C HamanoFeb 23, 2012
  7. Felipe ContrerasFeb 23, 2012
  8. Junio C HamanoFeb 23, 2012
  9. Felipe ContrerasFeb 23, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.