Re: git client enhancement request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-05-13 at 19:00:14, lbdyck@xxxxxxxxx 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: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux