RE: [PATCH 5/5] config: add default aliases
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Jul 2, 2021, 22:31 UTC
- Message-ID
- <60df93cfb0f44_28bb2084f@natae.notmuch>
- In-Reply-To
- <03ce01d76f8d$b0cfa8b0$126efa10$@nexbridge.com>
Randall S. Becker wrote:
Show 18 quoted lines
> On July 2, 2021 5:02 PM, Felipe Contreras wrote: > >To: Randall S. Becker <rsbecker@nexbridge.com>; 'martin' <test2@mfriebe.de>; 'Felipe Contreras' <felipe.contreras@gmail.com>; > >'Andreas Schwab' <schwab@linux-m68k.org> > >Cc: git@vger.kernel.org; 'Ævar Arnfjörð Bjarmason' <avarab@gmail.com>; 'Junio C Hamano' <gitster@pobox.com> > >Subject: RE: [PATCH 5/5] config: add default aliases > > > >Randall S. Becker wrote: > > > >> In my opinion, default aliases are not a good path. If a command is > >> intended to be part of the git command set, then it should be a > >> builtin not an alias. > > > >Commands cannot be overriden, aliases can. > > > >All SCM projects have aliases, except git. Why do you think that is? > > I do not think my intent was conveyed. Default aliases made by the > product provider, regardless of who that is, are not a good path.
Why?
> If I was RCS, I would not make an alias that everyone had to take.
Nobody has to take them.
Show 5 quoted lines
> Same for git. git has aliases, but they are for the user. If the > end-user team wants to implement a particular set of primitives for > their environment, that's fantastic, and entirely possible in git. But > I do not want to be constrained by someone else's primitives that are > not core product.
Nobody is constrained.
Show 7 quoted lines
> >> Users have their own alias setups and implied conflicts are just going > >> to be confusing and end up in help, examples, presentations, and so > >> forth. > > > >There's no conflict. Either you use the alias or you don't. Just like today. > > Then what is the point of this? I want my aliases, not someone else's.
Then use your aliases. This patch is not for you.
> Again, if it is a core git alias, it is not an alias, it is a > supported command and I should see it in the git help -a output.
A core git alias is an alias, and you will see them in the `git help -a` output, in the aliases section.
Show 10 quoted lines
> >> If you want a default alias set, publish it as part of an extension > >> set, like the bash-completion, so that the user has to take action to > >> install them in their environment. Do not do this in the base git > >> product by default. > > > >The whole point is to help users so they don't have to do extra configurations. > > The whole point is that a user team should give thought to the > functional extensions they want, as a team, which is where aliases > come in.
Once again, this patch doesn't prevent anyone from doing anything.
> We, as git contributors, should not be telling them what their extensions are.
We are not.
> >Today git is pretty much unbearable without a configuration. Default aliases would help quell some of that pain. > > Git is entirely bearable particularly in my own pons and medulla.
Good. But you are not the average user.
Show 19 quoted lines
> >> If I was a committer on this project, I would have to be much more > >> convinced that there is long-term value in this series than appears on > >> the surface. > > > > 1. It doesn't affect anyone negatively > > 2. You don't have to use them if you don't want to 3. They don't affect your aliases, even if they have the same name 4. Everyone has > >aliases 5. Every SCM in history has had aliases > > > >What more would you need? > > > >> I am sorry if I am coming across too strongly on this subject, but I > >> do think we are overloading alias capability and intruding on a domain > >> that should be reserved for our users, not ourselves. > > > >But why? We provide plenty of defaults so that users don't have to configure git in order for the program to be useful. And we will > >continue to add more defaults. > > I remain unconvinced and I found the assertion #5 somewhat specious > and incorrect. SCCS and RCS use Shell aliases.
> There are no aliases in ClearCase.
Yes there are [1]:
checkout | co [ –res/erved ] [–unr/eserved [ –nma/ ster ] ]
> Granted Perforce has them, but that is not a sufficient differentiator > to use that over git by any stretch.
All the popular SCMs have them:
* Mercurial * Subversion * CVS * Clearcase * Perforce
> I've expressed my opinion, and it's not my decision to adopt this. So > whatever happens, as long as it does not pollute my community's > expectation of git. Although, providing aliases will handcuff future > command naming.
That's not true. Nothing is handcuffed.
[1] https://www.ibm.com/docs/en/rational-clearcase/9.0.0?topic=ucm-checkout
-- Felipe Contreras