Keep track of your git repositories
Find a file
Tom Willemse 62627e6cf6 Properly handle multiple values for settings
Fixes an error that would cause values to be duplicated when specifying
multiple values for a setting.

Prior to this commit specifying multiple values for a setting would
blindly replace one occurrence and add the rest, leaving any possible
other occurrences intact. When starting fresh this would not be a
problem, but using it multiple times would add the same settings
repeatedly.

- gitto/config.scm (merge-setting): If the given value is a of type
  `list', replace the `%a' specifier for each item in it.

- gitto/config.scm (merge-settings): Move the handling of the case of
  `v' being a list into `merge-setting'.

- gitto/config.scm (split-setting): Rename `parse-setting' to
  `split-setting'. Return a cons cell instead of a list.

- gitto/config.scm (read-setting): New function.

- gitto/config.scm (read-config): Remove unused variable. Use
  `read-setting' to get the right value for each line of the config
  file.

- gitto/config.scm (write-setting): In case we're dealing with a list,
  print each value separately.
2013-05-29 23:10:26 +02:00
doc Add clean make target 2013-05-27 22:40:37 +02:00
emacs Change name 2013-05-20 23:42:31 +02:00
gitto Properly handle multiple values for settings 2013-05-29 23:10:26 +02:00
site Add user manual to site 2013-05-27 22:51:54 +02:00
src Add clean make target 2013-05-27 22:40:37 +02:00
zsh Add clean make target 2013-05-27 22:40:37 +02:00
CONTRIBUTING Update README and other files, add site/ 2013-05-26 14:39:45 +02:00
COPYING Add GPL license and necessary comments 2012-07-01 23:23:11 +02:00
env Seperate settings to env 2012-07-31 02:21:38 +02:00
INSTALL Update README and other files, add site/ 2013-05-26 14:39:45 +02:00
Makefile Add clean make target 2013-05-27 22:40:37 +02:00
README.org Update README and other files, add site/ 2013-05-26 14:39:45 +02:00
run-gitto Seperate settings to env 2012-07-31 02:21:38 +02:00

gitto

NAME

gitto - A silly utility to track the status of some git repositories.

SYNOPSIS

gitto [command [subcommand] [args...]]

DESCRIPTION

For lack of a better title.

My simple utility to keep track of all the git repositories I have on my computer(s). Also an experiment in writing scheme.

Written for GNU Guile 2.0.9 or newer

USAGE

Usage is, hopefully, simple, first you have to register some repos:

$ gitto add ~/projects/project1
$ gitto add ~/projects/project2
$ gitto add ~/projects/project3

Then you can call gitto without any argument to see a list of your repos and their statuses:

$ gitto
project1: Worktree is dirty
  master:      0 to push and 0 to pull. Last update: 4 weeks ago

project2: Worktree is clean
  master:      5 to push and 2 to pull. Last update: 2 days ago

project3: Worktree is clean
  master:      0 to push and 1 to pull. Last update: 1 hour ago

If you're done with one of your projects and no longer wish to track their status you can unregister them:

$ gitto remove ~/projects/project1

If you require further assistance:

$ gitto help

run-gitto

It is not strictly necessary to install gitto, I have added a utility to run it straight from je project directory, although mostly for testing purposes.

Using run-gitto works exactly the same as using gitto when it is installed.