microgit.cr

Git hosting service made in Crystal and Lucky
HEAD Latest release released
microgit-com/microgit
52 1 2
Microgit

Microgit

Microgit is meant to be a self-hosting open source that will be an alternative to gitlab. See this as a crystal version of gitea but with own design.

What it can do now:

  • Git pull/push/fetch
  • See tree of files
  • See last commit
  • See commit list
  • See branch list
  • see commits for specific branch
  • See diffs
  • See file content (non-binary files)
  • Create issues
  • Create Merge Requests
  • See diff of merge request compare to master
  • Commenting on merge request
  • Commenting on issue
  • Merge merge request
  • teams
  • user invite to team

What is left to be done:

  • Better handling of git updates, using git hooks
  • Squash merge
  • add labels to issues and merge requests
  • Show logs of changes on issue and merge requests
  • add related issue, merge requests
  • Better assignee and owner handling
  • optmization
  • Cleaning up code
  • Upgrades of Lucky and Crystal
  • tests
  • ssh support?

This is a project written using Lucky. Enjoy!

Setting up the project

  1. Install required dependencies
  2. Update database settings in config/database.cr
  3. Run script/setup
  4. Install Libgit2 - apt-get install libgit2-dev
  5. Run lucky dev to start the app

Contributing

Microgit is built to be fully open and transparent. You can help contribute and do push this project forward.

Fork this repo, add push your changes to a new branch and create an pull request.

microgit.cr:
  github: microgit-com/microgit
  
Crystal 0.34.0

Authors

Dependencies 17

  • authentic ~> 0.5.4
    {'github' => 'luckyframework/authentic', 'version' => '~> 0.5.4'}
  • avram_scoped_id
    {'github' => 'microgit-com/avram_scoped_id'}
  • carbon ~> 0.1.1
    {'github' => 'luckyframework/carbon', 'version' => '~> 0.1.1'}
  • dotenv 0.3.0
    {'github' => 'gdotdesign/cr-dotenv', 'version' => '0.3.0'}
  • git~microgit-com
    {'github' => 'microgit-com/libgit2.cr'}
  • git_diff_parser
    {'github' => 'microgit-com/git_diff_parser'}
  • jwt ~> 1.2.0
    {'github' => 'crystal-community/jwt', 'version' => '~> 1.2.0'}
  • kilt
    {'github' => 'jeromegn/kilt'}
  • linguist
    {'github' => 'microgit-com/linguist.cr'}
  • lucky ~> 0.21
    {'github' => 'luckyframework/lucky', 'version' => '~> 0.21'}
  • lucky_can
    {'github' => 'confact/lucky_can'}
  • lucky_encrypted
    {'github' => 'microgit-com/lucky_encrypted'}
  • lucky_flow ~> 0.6.3
    {'github' => 'luckyframework/lucky_flow', 'version' => '~> 0.6.3'}
  • markd
    {'github' => 'icyleaf/markd'}
  • mosquito
    {'github' => 'robacarp/mosquito'}
  • redis ~> 2.6
    {'github' => 'stefanwille/crystal-redis', 'version' => '~> 2.6'}
  • sluggr
    {'github' => 'microgit-com/sluggr'}

Development Dependencies 0

Dependents 0

Last synced .
search fire star recently