Skip to content

k0pernicus/goyave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goyave

A supervisor for git projects

Goyave is a simple command-line tool to interact (read only) with your local git repositories, just in order to keep an eye on them.
This tool creates and updates a TOML file (in your $HOME directory), to speed-up interactions and to perform back-ups if you need.

Visible / Hidden ?

Goyave allows you to get some informations about dirty git repositories in your system (a dirty repository is a repository that contains non-commited files, modified files, etc...), via the state command.
In order to get updates on repositories you are interested in, Goyave uses a binary system:

  • repositories you are interested in are considered as VISIBLE,
  • repositories you want to ignore are considered as HIDDEN.

You can modify the default behaviour of Goyave in your configuration file.

Commands

  • goyave init -> Command to create an empty configuration file if this one does not exists on your system
  • goyave add -> Command to add the current directory in the local configuration file
  • goyave crawl -> Command to crawl your hard drive to find git repositories - those repositories will be classified as VISIBLE or HIDDEN according to the local system configuration
  • goyave load -> Command to load an existing configuration file, to retrieve a previous system (for example, to retrieve a work system after an hard reboot)
  • goyave path -> Command to get the path of a local git repository (useful if your repositories are spread in your file system)
  • goyave state -> Command to get the current state of your VISIBLE git repositories

The configuration file

The configuration file is available at $HOME/.goyave.
You can find, for example, my goyave configuration file here.

Screenshot

Simple screenshot

How to use it?

If you are using goyave the first time

  1. go get github.com/k0pernicus/goyave
  2. Optional: The default behavior of Goyave is set to VISIBLE - you can change it before crawling your hard drive
  3. goyave crawl (recommended!)
  4. goyave state

If you are using goyave using an existing configuration file, on the same machine

  1. go get github.com/k0pernicus/goyave
  2. mv my_configuration_file ~/.goyave
  3. goyave load

Contributing

Goyave is my first Go project, and I still nead to learn a lot ;-)
If you find bugs, want to improve the code and/or documentation, or add new features, please to create an issue and the associated pull request if you modified anything! :-)

If you want to create a pull request, this is the procedure to make it great:

  • create an issue to explain the problem you encountered (except for typo),
  • fork the project,
  • create a local branch to make changes (from the devel branch),
  • test your changes,
  • create a pull request (please compare it with the devel branch),
  • explain your changes,
  • submit !

Thank you for your interest in contributing to Goyave ! :-D

Troubleshootings

  • goyave supports only libgit2 v0.27. In order to get this version, please to make those steps:
    • go get -d github.com/libgit2/git2go # download the code
    • cd $GOPATH/src/github.com/libgit2/git2go
    • git submodule update --init # init submodules
    • make install # install the current version of libgit2 and git2go on your file system
    • cd $GOPATH/src/github.com/k0pernicus/goyave
    • go install # install goyave

LICENSE

MIT License

Releases

No releases published

Packages

No packages published

Languages