xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
v0.43
<root> / TODO-plans (f22911eb777f0695fcf81ad686eac133eb11fcc4) (1,294B) (mode 100644) [raw]
== Another plan ==
Create repo: no right, only Public/Private. Public means at least 'Fetch',
	and will be available for search, browse source etc.
Then, we have the rights tabs, where we can give rights.

== Plans for repo redesign ==
Because we can have a project without a repository, for example only with
bugtracker, we need to redesign the interface.

We need to have projects, where you can attach: a repo, a bugtracker
and/or a mailing list.

We need rights to admin/create/delete/grant_rights against repo/bugtracker/mailing list.
Pay attention. A project has an owner. Without "admin" rights, you cannot
deal with the rest of
A repository/bt/ml link with a project.

We begin with an admin user. We have no projects, so no repo/bt/ml.
Admin user will create a user for a team-leader.
	Two cases:
	1. Allow user to create project
		So, we need "CREATE PROJECTS" right.
	2. Create project for him
		So, what rights should we give to him? "ADMIN PROJECT"?
		We should split"ADMIN" in finer rights: "DELETE PROJECT",
		"CREATE/DELETE/LOCK REPO",
		"CREATE/DELETE/LOCK BT",
		"CREATE/DELETE/LOCK ML".
		"LOCK" means that it will become read-only.

	Now, team-leader has a project.
	Two cases:
		1. Give "CREATE REPO" rights to a team member.
		2. Creates the repo and give rights to user.
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master