Subject: Re: [PATCH 1/2] clone: add disassociate alias to dissociate option

From: Jeff King <[email-masked]>
Date: Sat, 21 Feb 2015 02:35:09 -0500

On Fri, Feb 20, 2015 at 11:13:47PM -0800, Junio C Hamano wrote:

> >>  	OPT_BOOL(0, "dissociate", &option_dissociate,
> >>  		 N_("use --reference only while cloning")),
> >> +	OPT_BOOL(0, "disassociate", &option_dissociate,
> >> +		 N_("use --reference only while cloning")),
> >
> > Should this second one be marked as OPT_HIDDEN? I do not think we need
> > to show both in "git clone --help".
> 
> For that matter, I am not sure why we want to add this synonym in
> the first place.
> 
> http://www.merriam-webster.com/dictionary/dissociate
> 
>     : to end your relationship with or connection to someone or
>     something : to separate (yourself) from someone or something
> 
> which is exactly what I wanted the option to achieve.

That is also the definition of disassociate. :) They are both equally
correct here, and some people tend to use one over the other:

  http://grammarist.com/usage/dissociate-disassociate/

So I don't think the spirit of the patch is wrong, in that sense. I am
open to the argument that we do not want to get in the habit of
providing every possible synonym, as it would clutter the interface.
This case is a bit more extreme; given the similarity of the two words,
it is easy to use the wrong one. But I do not personally care much
either way.

As a side note, while writing out an explanation of "--reference
--dissociate" recently, Michael (cc'd) and I noticed that it seems quite
verbose to have to specify both options.

By itself, --dissociate does nothing. It _could_ imply --reference (but
right now complains that --reference was not provided and turns itself
off). But if we were to have a single-option version of "reference and
dissociate", I do not think "--dissociate" is the best choice. By itself
it does not mean much (dissociate from _what_?).

I wonder if there is some better word that could become a synonym for
"--reference --dissociate". Maybe "--borrow", but that does not
necessarily carry the implication that the relationship ends as soon as
the clone is done. What is really happening is that we are reusing
objects in order to save bandwidth. Maybe "--reuse-from" would work?

I dunno. I am not extremely happy with any of the suggestions I made,
nor is any of this of extreme importance to me. But I thought I would
mention it while we are on the subject.

-Peff