git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: Stefan Beller <sbeller@google.com>, Jeff King <peff@peff.net>,
	git@vger.kernel.org
Subject: Re: [PATCH v2 05/12] delete_refs(): improve error message
Date: Fri, 19 Jun 2015 16:20:46 +0200	[thread overview]
Message-ID: <5584253E.9030001@alum.mit.edu> (raw)
In-Reply-To: <xmqq7fr4akr7.fsf@gitster.dls.corp.google.com>

On 06/15/2015 08:29 PM, Junio C Hamano wrote:
> Michael Haggerty <mhagger@alum.mit.edu> writes:
> 
>> Subject: Re: [PATCH v2 05/12] delete_refs(): improve error message
> 
> I'd call this "make error message more generic".
> 
>> Change the error message from
>>
>>     Could not remove branch %s
>>
>> to
>>
>>     could not remove reference %s
>>
>> * s/branch/reference/. This change makes sense even for the existing
>>   caller, which uses the function to delete remote-tracking
>>   branches.
> 
> and replace this bullet with something like:
> 
> * Originally 'branch -d' was the only caller of this, but as part
>   of the refs API, we will allow it to be called on refs that is not
>   a branch or a remote-tracking branch.
> 
> as calling a remote-tracking branch a 'branch' is not incorrect
> per-se.

True, but "branch refs/remotes/origin/foo" is not how we would usually
refer to that reference. Usually we would say "reference
refs/remotes/origin/foo" or "remote-tracking branch origin/foo". But I
will make approximately the change that you suggest.

> What would count as true improvement is ...
> 
>> * Convert it to lower case, as per our usual convention.
> 
> ... this one.  If somebody eventually chooses to make the message
> finer grained by switching on the prefix refs/{what}, so that the
> user can differentiate between branches, remote-tracking branches,
> tags, etc., that would also count as improvement as well.

I thought about proposing a function that changes a reference name into
its prose equivalent, but I'm pretty sure that the result would not be
internationalizable. Probably such a function would have to look like

enum refname_kind { REFNAME_KIND_BRANCH, REFNAME_KIND_TAG,
REFNAME_KIND_REMOTE, ...(?), REFNAME_KIND_OTHER};

enum refname_kind shorten_refname(const char *refname, const char
**short_refname);

and callers would still need logic to pick the correct
(internationalized) formatting string based on the return value of the
function.

Someday...

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu

  reply	other threads:[~2015-06-19 14:20 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-13 14:42 [PATCH v2 00/12] Improve "refs" module encapsulation Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 01/12] delete_ref(): move declaration to refs.h Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 02/12] remove_branches(): remove temporary Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 03/12] delete_ref(): handle special case more explicitly Michael Haggerty
2015-06-15 18:22   ` Junio C Hamano
2015-06-13 14:42 ` [PATCH v2 04/12] delete_refs(): new function for the refs API Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 05/12] delete_refs(): improve error message Michael Haggerty
2015-06-15 18:29   ` Junio C Hamano
2015-06-19 14:20     ` Michael Haggerty [this message]
2015-06-13 14:42 ` [PATCH v2 06/12] prune_remote(): use delete_refs() Michael Haggerty
2015-06-15 18:35   ` Junio C Hamano
2015-06-15 18:39     ` Jeff King
2015-06-15 19:45       ` Junio C Hamano
2015-06-13 14:42 ` [PATCH v2 07/12] repack_without_refs(): make function private Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 08/12] initial_ref_transaction_commit(): function for initial ref creation Michael Haggerty
2015-06-15 18:04   ` Junio C Hamano
2015-06-15 18:39   ` Junio C Hamano
2015-06-15 18:57     ` Jeff King
2015-06-15 18:53   ` Junio C Hamano
2015-06-20  2:15     ` Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 09/12] refs: remove some functions from the module's public interface Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 10/12] initial_ref_transaction_commit(): check for duplicate refs Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 11/12] initial_ref_transaction_commit(): check for ref D/F conflicts Michael Haggerty
2015-06-13 14:42 ` [PATCH v2 12/12] refs: move the remaining ref module declarations to refs.h Michael Haggerty
2015-06-15 18:13   ` Junio C Hamano
2015-06-15 18:35     ` Jeff King
2015-06-15 19:48       ` Junio C Hamano
2015-06-20  1:53       ` Michael Haggerty
2015-06-20  3:30         ` Junio C Hamano
2015-06-15  5:20 ` [PATCH v2 00/12] Improve "refs" module encapsulation Stefan Beller

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=5584253E.9030001@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=sbeller@google.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 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 NNTP newsgroup(s).