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

From: Junio C Hamano <[email-masked]>
Date: Tue, 24 Feb 2015 12:06:31 -0800

Michael Haggerty <[email-masked]> writes:

> On 02/22/2015 07:32 PM, Junio C Hamano wrote:
>> ...  Both borrow the objects
>> in order to reduce the network cost, and the difference is that one
>> keeps borrowing while the other one limits the borrowing to strictly
>> the initial phase.  The two words, "borrow" and "reference", would
>> not convey that key distinction. ... and that is why I
>> call it a cop-out.
>> ...
>> We are all on the same page.  We know the cop-out is suboptimal, we
>> understand why the cop-out is better than "--borrow", and we cannot
>> come up with a better name that contrasts with the existing
>> "--reference" to make it clear how the new thing is different.
>
> I'll take that as an invitation to brainstorm :-)
>
>     --use-objects-from=
>     --copy-objects-from=
>     --precopy-objects-from=
>     --precopy-from=
>     --donor=
>     --object-donor=
>     --steal-from=
>     --steal-objects-from=
>
> Of these, I think I like "--object-donor" the best.

Donor (somehow the word reminds me of organ harvesting, yuck)?

I didn't think of the word 'copy', but that probably captures the
essence the best.  "reference-to-borrow-and-then-dissociate" is an
implementation detail, which, as you say, we do not want the users
to view this operation as; copying locally instead of over the
network is what the user wants to do.

> By the way, once we have stopped thinking about this feature as
> "--reference" and then "--dissociate", it becomes obvious that a nice
> generalization would be to allow *any* repository (including remote
> ones) to serve as the object donor.

As I do not think of a workable approach to implement such a
mechanism, I'd refrain from being irresponsible and say "Yeah,
that's a neat idea", which would make me sound like clueless "me
too, why doesn't Git do that?" crowd.