Randall S. Becker wrote: > On July 2, 2021 5:02 PM, Felipe Contreras wrote: > >To: Randall S. Becker <rsbecker@xxxxxxxxxxxxx>; 'martin' <test2@xxxxxxxxxx>; 'Felipe Contreras' <felipe.contreras@xxxxxxxxx>; > >'Andreas Schwab' <schwab@xxxxxxxxxxxxxx> > >Cc: git@xxxxxxxxxxxxxxx; 'Ævar Arnfjörð Bjarmason' <avarab@xxxxxxxxx>; 'Junio C Hamano' <gitster@xxxxxxxxx> > >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. > 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. > >> 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. > >> 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. > >> 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