Differences between revisions 9 and 21 (spanning 12 versions)
Revision 9 as of 2017-08-21 18:13:50
Size: 3647
Editor: ?MichaelLustfield
Comment:
Revision 21 as of 2020-01-10 19:02:44
Size: 3359
Editor: ?MichaelLustfield
Comment: Service no longer exists.
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
Gitea is a git front-end, similar to github/gitlab/etc. Gitea is a git front-end that supports collaborative development, similar to github/gitlab/etc.
Line 12: Line 12:
== Install gitea using binary packages from upstream ==

[LANG=DE] For Germans you may find help [[https://flobee.cgix.de/gitea-installation-unter-debian-stretch-9/|here]] using the binary installation or just the install helper [LANG=EN] [[https://github.com/flobee/public/tree/master/shell/gitea|here]].
Line 15: Line 19:

Additional work need to be [[https://github.com/go-gitea/gitea/pull/2241|merged]] upstream. Unfortunately, upstream is being a bit stubborn with this one.

== Debian's Gitea ==

A Gitea instance for Debian is running at [[https://gitea.debian.net]].

Hosting is currently provided by [[https://db.debian.org/search.cgi?&uid=MTecknology&dosearch=Search|MTecknology]]

=== Authentication ===

Authentication to this service is handled using [[https://sso.debian.org/|Debian's SSO]] service.
Line 34: Line 26:
'''Note:''' not currently sending out email; resolution in progress === Package Groups ===

At this time, package groups are not being created. If you need a group (organization) to exist, please contact an administrator. These groups will be manually created and efforts to contact the package group admins (referenced from alioth) to grant ownership to will be made.
Line 47: Line 41:
    curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
         -X GET https://gitea.debian.net/api/v1/user
curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -X GET https://gitea.domain.tld/api/v1/user
Line 56: Line 50:
Navigate to [[https://gitea.debian.net/repo/migrate|/repo/migrate]], fill out the details, click Migrate Repository. Navigate to [[https://gitea.domain.tld/repo/migrate|/repo/migrate]], fill out the details, click Migrate Repository.
Line 63: Line 57:
    gitsrc="https://anonscm.debian.org/git/collab-maint/arduino.git"
    gitname="arduino"
gitsrc="https://anonscm.debian.org/git/collab-maint/arduino.git"
gitname="arduino"
Line 66: Line 60:
    curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
         -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\"}" \
     -X POST https://gitea.debian.net/api/v1/repos/migrate
curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\", \"mirror\": false}" \
     -X POST https://gitea.domain.tld/api/v1/repos/migrate
Line 72: Line 66:
If it's preferred to keep a repository at it's current location and only import the repository to play with gitea or use a feature it provides, the '''mirror''' option can be set.

{{{
    -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\" \"mirror\": true}" \
}}}
To instead mirror the repository, use mirror:true instead. The repository will be cloned as a mirror and perform regular checks for new content.
Line 80: Line 70:
* https://github.com/gogits/go-gogs-client/wiki/Repositories

=== To Do ===

A [[https://github.com/go-gitea/gitea/issues/2347|feature request]] exists to set the user's email address from Debian's SSO, but it's unlikely to be added any time in the near future.
 * https://github.com/gogits/go-gogs-client/wiki/Repositories

Translation(s): English

Gitea is a git front-end that supports collaborative development, similar to github/gitlab/etc.



Install gitea using binary packages from upstream

[LANG=DE] For Germans you may find help here using the binary installation or just the install helper [LANG=EN] here.

Packaging Process

At this time, gitea is not packaged for Debian. Help is needed to complete existing libjs ITP's blocking the Gitea ITP.

Password Verification

For some actions, gitea requires password verification. In these cases, a password must be configured.

To set a password, navigate to /user/settings/password, click "Forgot password?," and follow the instructions. This will allow you to create a password to acknowledge these prompts.

Package Groups

At this time, package groups are not being created. If you need a group (organization) to exist, please contact an administrator. These groups will be manually created and efforts to contact the package group admins (referenced from alioth) to grant ownership to will be made.

The API

Gitea provides a loosely documented API.

To utilize the API, first log into Gitea and navigate to /user/settings/applications. Use the "Generate New Token" button to generate a key and be sure not to lose it.

Swagger is used to provide a function list underneath /swagger. Two headers will need to be added to API requests: Content-Type and Authorization. Content-Type is simply 'application/json'. Authorization is "token <your_application_token>".

If you were interested in finding your own uid, you would find it with this:

curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -X GET  https://gitea.domain.tld/api/v1/user

Note: Getting org/team IDs is not currently possible: https://github.com/go-gitea/gitea/issues/1821 (collab-maint=id:2)

To import a project from alioth (using a browser):

Navigate to /repo/migrate, fill out the details, click Migrate Repository.

Note: While it's possible to convert a mirrored (replicated) repo to a cloned one, the reverse is not true.

To import a project from alioth (using the api):

gitsrc="https://anonscm.debian.org/git/collab-maint/arduino.git"
gitname="arduino"

curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\", \"mirror\": false}" \
     -X POST https://gitea.domain.tld/api/v1/repos/migrate

To instead mirror the repository, use mirror:true instead. The repository will be cloned as a mirror and perform regular checks for new content.

Additional Reading: