* git client enhancement request @ 2024-05-13 15:07 lbdyck 2024-05-13 17:56 ` Sean Allred 0 siblings, 1 reply; 8+ messages in thread From: lbdyck @ 2024-05-13 15:07 UTC (permalink / raw) To: git I would like to see the option to allow the git client to request the creation of a new empty git repository on the git server without having to open the web interface to the git server to define a new repository. Perhaps something like: git server-repo public/private name Thank you Lionel B. Dyck <>< Github: https://github.com/lbdyck System Z Enthusiasts Discord: https://discord.gg/sze Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are. - - - John Wooden ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: git client enhancement request 2024-05-13 15:07 git client enhancement request lbdyck @ 2024-05-13 17:56 ` Sean Allred 2024-05-13 18:02 ` lbdyck ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Sean Allred @ 2024-05-13 17:56 UTC (permalink / raw) To: lbdyck; +Cc: git <lbdyck@gmail.com> writes: > I would like to see the option to allow the git client to request the > creation of a new empty git repository on the git server without > having to open the web interface to the git server to define a new > repository. > > Perhaps something like: git server-repo public/private name Is this even technically feasible? My understanding is that storage implementations of each forge vary *wildly*. I don't believe this would be under Git's ability to implement as a project. You might look into combining your preferred forge's CLI with git aliases: - GitHub has 'gh': https://cli.github.com - GitLab has 'glab' https://docs.gitlab.com/ee/editor_extensions/gitlab_cli so you could alias git config alias.server-repo '!gh repo create' to get something of what you want. I believe GitLab also has a feature where you can create repositories just by pushing an existing repository to an empty project path. -- Sean Allred ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: git client enhancement request 2024-05-13 17:56 ` Sean Allred @ 2024-05-13 18:02 ` lbdyck 2024-05-13 18:51 ` Junio C Hamano 2024-05-13 19:09 ` rsbecker 2 siblings, 0 replies; 8+ messages in thread From: lbdyck @ 2024-05-13 18:02 UTC (permalink / raw) To: 'Sean Allred'; +Cc: git Is this technically feasible - that I don't know but it would seem to be. Since there are tools for github/gitlab/bitbucket that can do it then why not the standard git client. I know that for GitHub I can also do it with curl (haven't checked the others). What I'm trying to do is to have a usable wrapper around git for the novice and not require other packages. One would think that it would be comparable to a "git push" but with the addition of the "git url" and some indication if the new repo is to be public or private. If it already exists then return an error message. And if it doesn't already exist then do whatever the current web interface to the git server does to define an empty repository. Having a requirement for an existing local repository would be reasonable for this to work. I'm just asking if it can be done. Thank you Lionel B. Dyck <>< Github: https://github.com/lbdyck System Z Enthusiasts Discord: https://discord.gg/sze “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -----Original Message----- From: Sean Allred <allred.sean@gmail.com> Sent: Monday, May 13, 2024 12:56 PM To: lbdyck@gmail.com Cc: git@vger.kernel.org Subject: Re: git client enhancement request <lbdyck@gmail.com> writes: > I would like to see the option to allow the git client to request the > creation of a new empty git repository on the git server without > having to open the web interface to the git server to define a new > repository. > > Perhaps something like: git server-repo public/private name Is this even technically feasible? My understanding is that storage implementations of each forge vary *wildly*. I don't believe this would be under Git's ability to implement as a project. You might look into combining your preferred forge's CLI with git aliases: - GitHub has 'gh': https://cli.github.com - GitLab has 'glab' https://docs.gitlab.com/ee/editor_extensions/gitlab_cli so you could alias git config alias.server-repo '!gh repo create' to get something of what you want. I believe GitLab also has a feature where you can create repositories just by pushing an existing repository to an empty project path. -- Sean Allred ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: git client enhancement request 2024-05-13 17:56 ` Sean Allred 2024-05-13 18:02 ` lbdyck @ 2024-05-13 18:51 ` Junio C Hamano 2024-05-13 19:00 ` lbdyck 2024-05-13 19:09 ` rsbecker 2 siblings, 1 reply; 8+ messages in thread From: Junio C Hamano @ 2024-05-13 18:51 UTC (permalink / raw) To: Sean Allred; +Cc: lbdyck, git Sean Allred <allred.sean@gmail.com> writes: > Is this even technically feasible? My understanding is that > storage implementations of each forge vary *wildly*. I don't believe > this would be under Git's ability to implement as a project. Not just "storage implementation", but some things are totally kept outside the control of Git proper, including user and repository management. Creating, deleting, and modifying authentication and authorization details of these things are outside the scope of Git, and forges build on their competing designs. ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: git client enhancement request 2024-05-13 18:51 ` Junio C Hamano @ 2024-05-13 19:00 ` lbdyck 2024-05-13 21:19 ` brian m. carlson 0 siblings, 1 reply; 8+ messages in thread From: lbdyck @ 2024-05-13 19:00 UTC (permalink / raw) To: 'Junio C Hamano', 'Sean Allred'; +Cc: git I have to interject here that the git client doing a push must be fully authenticated which implies to me that all the information required is available to do so and allow the server repository to be updated. Lionel B. Dyck <>< Github: https://github.com/lbdyck System Z Enthusiasts Discord: https://discord.gg/sze Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are. - - - John Wooden -----Original Message----- From: Junio C Hamano <gitster@pobox.com> Sent: Monday, May 13, 2024 1:51 PM To: Sean Allred <allred.sean@gmail.com> Cc: lbdyck@gmail.com; git@vger.kernel.org Subject: Re: git client enhancement request Sean Allred <allred.sean@gmail.com> writes: > Is this even technically feasible? My understanding is that storage > implementations of each forge vary *wildly*. I don't believe this > would be under Git's ability to implement as a project. Not just "storage implementation", but some things are totally kept outside the control of Git proper, including user and repository management. Creating, deleting, and modifying authentication and authorization details of these things are outside the scope of Git, and forges build on their competing designs. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: git client enhancement request 2024-05-13 19:00 ` lbdyck @ 2024-05-13 21:19 ` brian m. carlson 0 siblings, 0 replies; 8+ messages in thread From: brian m. carlson @ 2024-05-13 21:19 UTC (permalink / raw) To: lbdyck; +Cc: 'Junio C Hamano', 'Sean Allred', git [-- Attachment #1: Type: text/plain, Size: 1887 bytes --] On 2024-05-13 at 19:00:14, lbdyck@gmail.com wrote: > I have to interject here that the git client doing a push must be fully > authenticated which implies to me that all the information required is > available to do so and allow the server repository to be updated. First of all, the authentication required to _create_ a repository need not be the same as to _read_ or _write_ a repository. It might require a totally different set of scopes or privileges to create a new repository, which many users will have avoided giving to their credentials for least-privilege reasons. Second, there's no standard API to perform that functionality, and the implementation varies widely on different forges. There are also people who don't use forges at all, or use tooling like gitolite[0] that handles this differently. Adding such functionality into the Git protocol requires intertwining that functionality and the services that provide it with the standard forge API, so it's likely to be very complex for forges to implement using the same functionality as Git uses currently. Third, we specifically try not to prioritize any individual piece of software or project here. Even if there are many common forges, we won't ship tooling that's specific to GitHub, GitLab, or Bitbucket, since that prioritizes those users over others. Since there's no standard API for this, we won't be adding any forge-specific functionality to Git. Even if we decided to implement a standard API for doing this, it doesn't mean that forges would adopt it. Many forges don't implement `git-archive` over SSH, for example, since it's hard to cache versus using HTTP. [0] gitolite actually allows you to create repositories by just pushing to them if you have permissions to do so in the configuration. -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 262 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: git client enhancement request 2024-05-13 17:56 ` Sean Allred 2024-05-13 18:02 ` lbdyck 2024-05-13 18:51 ` Junio C Hamano @ 2024-05-13 19:09 ` rsbecker 2024-05-13 19:11 ` lbdyck 2 siblings, 1 reply; 8+ messages in thread From: rsbecker @ 2024-05-13 19:09 UTC (permalink / raw) To: 'Sean Allred', lbdyck; +Cc: git On Monday, May 13, 2024 1:56 PM, Sean Allred wrote: ><lbdyck@gmail.com> writes: >> I would like to see the option to allow the git client to request the >> creation of a new empty git repository on the git server without >> having to open the web interface to the git server to define a new >> repository. >> >> Perhaps something like: git server-repo public/private name > >Is this even technically feasible? My understanding is that storage implementations >of each forge vary *wildly*. I don't believe this would be under Git's ability to >implement as a project. > >You might look into combining your preferred forge's CLI with git >aliases: > > - GitHub has 'gh': https://cli.github.com > - GitLab has 'glab' https://docs.gitlab.com/ee/editor_extensions/gitlab_cli > >so you could alias > > git config alias.server-repo '!gh repo create' > >to get something of what you want. > >I believe GitLab also has a feature where you can create repositories just by pushing >an existing repository to an empty project path. Please have a look at the github/bitbucket/gitlab/azuregit REST API for doing what you are trying to do. There is no specific "git client" function as git is symmetrical. --Randall ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: git client enhancement request 2024-05-13 19:09 ` rsbecker @ 2024-05-13 19:11 ` lbdyck 0 siblings, 0 replies; 8+ messages in thread From: lbdyck @ 2024-05-13 19:11 UTC (permalink / raw) To: rsbecker; +Cc: git I understand that there is currently no function such as I'm requesting - but perhaps there could be. Lionel B. Dyck <>< Github: https://github.com/lbdyck System Z Enthusiasts Discord: https://discord.gg/sze “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -----Original Message----- From: rsbecker@nexbridge.com <rsbecker@nexbridge.com> Sent: Monday, May 13, 2024 2:09 PM To: 'Sean Allred' <allred.sean@gmail.com>; lbdyck@gmail.com Cc: git@vger.kernel.org Subject: RE: git client enhancement request On Monday, May 13, 2024 1:56 PM, Sean Allred wrote: ><lbdyck@gmail.com> writes: >> I would like to see the option to allow the git client to request the >> creation of a new empty git repository on the git server without >> having to open the web interface to the git server to define a new >> repository. >> >> Perhaps something like: git server-repo public/private name > >Is this even technically feasible? My understanding is that storage >implementations of each forge vary *wildly*. I don't believe this would >be under Git's ability to implement as a project. > >You might look into combining your preferred forge's CLI with git >aliases: > > - GitHub has 'gh': https://cli.github.com > - GitLab has 'glab' > https://docs.gitlab.com/ee/editor_extensions/gitlab_cli > >so you could alias > > git config alias.server-repo '!gh repo create' > >to get something of what you want. > >I believe GitLab also has a feature where you can create repositories >just by pushing an existing repository to an empty project path. Please have a look at the github/bitbucket/gitlab/azuregit REST API for doing what you are trying to do. There is no specific "git client" function as git is symmetrical. --Randall ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-05-13 21:20 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-05-13 15:07 git client enhancement request lbdyck 2024-05-13 17:56 ` Sean Allred 2024-05-13 18:02 ` lbdyck 2024-05-13 18:51 ` Junio C Hamano 2024-05-13 19:00 ` lbdyck 2024-05-13 21:19 ` brian m. carlson 2024-05-13 19:09 ` rsbecker 2024-05-13 19:11 ` lbdyck
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).