The following lists and describes the features added to the G-Node fork of GOGS, also known as GIN Web.
The biggest and most important change is the support for large, binary file versioning using git-annex. Git annex is supported both through git SSH uploads and downloads as well as the web interface.
Git annex support via git-ssh is handled by the allowing clients to trigger git-annex-shell
commands.
Git annex support via the web is handled by:
- replacing the
git add
,git commit
, andgit push
commands in the upload backend withgit annex
equivalents, for upload. - peeking at the contents of files for the existence of a git-annex key and serving the annexed contents instead of the git file, for download.
WIP
- Annex size threshold
WIP
- Missing annexed content
In addition to having repositories be public or private, we also support having repositories be public but unlisted. This makes repositories accessible to all users that know the repository path (username/reponame) but does not list them in public places, like the Explore page and search results.
WIP
- Unlisted column for repository.
WIP
- Option in settings.
Collaborators can be given access to a repository before they sign up to GIN. The owner of the repository can provide an email address on the Collaboration page of the repository settings. On submit, a user is created with the specified email address (using an autogenerated username) and an invitation link is sent to the address. The invitation link serves the same functionality as a password reset email, so the user is immediately asked to set a password when they follow the link.
WIP
WIP
- DOI registration request address.
- Shared key.
WIP
- Repo page buttons.
- Repo page badge.
WIP
WIP
- GIN-Dex address
WIP
- Search pages.