Skip to content
/ degitx Public

Distributed git repository manager

License

Notifications You must be signed in to change notification settings

cqfn/degitx

Repository files navigation

CI Build white paper document Lines of code Telegram chat

DeGitX - distributed git repository manager, see explanation in the white paper or join Telegram chat to discuss: @cqfn_degit.

Build

Run make to build binaries, they are located at ./target dir.

Install

Download proper binary asset from releases page: https://github.com/cqfn/degitx/releases (e.g. degit_(version)_Linux_x86_64.tar.gz for Linux64 machine). To verify build signature, download checksums.txt, checksums.txt.sig and import GPG by id 84292276B8D114FD450F84C0421ED823A1B750E3 from one of the keyservers, e.g.

gpg --keyserver pgp.mit.edu --recv-keys 84292276B8D114FD450F84C0421ED823A1B750E3

GPG public key from degit-key.pub repository root, then import GPG key into your GPG keychain. After GPG import, verify checksums signature files (downloaded from release assets) using command

gpg --verify checksums.txt.sig

If everithing is OK, verify SHA256 hash of binary asset downloaded (ignore errors for other platform assets):

sha256sum -c checksums.txt

If checksum is OK, extract binary from the archive:

tar -xvzf degit_(version)_(platform).tar.gz

Node Configuration

yaml is the only node configuration format and consist of:

  • version - config format version
  • keys - node crypto keys:
    • alg - key algorithm
    • private - private key location
    • public - public key location

All fields are required.

Contributing

This page will help you with contributing workflow: https://github.com/cqfn/degitx/blob/master/CONTRIBUTING.md

To build the project use make command:

  • make - install all dependencies, generate proto files, run tests and build node
  • make install-deps - install required dependencies
  • make proto - generate protobuf source code
  • make build - build core package
  • make test - run tests
  • make degitx - build node binary
  • make degitx-gitaly - build front-end binary
  • make lint - run linters. golangci-lint required to be installed in advance.
  • make verify - build, test, lint, degitx and degitx-gitaly