git-etc

General information
Installation guide
How to use
Configuration
GUI
Screenshots
Links

Report a bug

Simple daemon that automatically creates git repository in the given directory and creates commit at the specified time interval.

$ git-etc --help
Simple daemon written on BASH for monitoring changes in files

Usage: git-etc [ -c | --config /etc/git-etc.conf ] [ -h | --help ] [ -v | --version ]

Parametrs:
  -c  --config      - path to configuration file
  -h  --help        - show this help and exit
  -v  --version     - show version and exit

See "man 1 git-etc" for more details
$ ctrlconf --help
GUI for git-etc daemon

Usage: ctrlconf [ --default ] [ -h | --help ] [ -v | --version ]

Additional parametrs:
      --default     - create default configuration file
  -h  --help        - show this help and exit
  -v  --version     - show version and exit

See "man 1 ctrlconf" for more details

Developers and contributors

License

Installation

Instruction

Dependencies

I want note that all were tested on latest version of dependencies.

How to use

If you want to start the daemon into /etc just run

systemctl start git-etc

If you want to enable daemon autoload run

systemctl enable git-etc

But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path

cp /etc/git-etc.conf /new/path/to/file/git-etc.conf

and edit it. Then copy the source service file to /etc:

cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service

Replace following string in the file:

ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf

to

ExecStart=/usr/bin/git-etc -c /new/path/to/file/git-etc.conf

Configuration

All settings are stored in /etc/git-etc.conf. After edit them you must restart daemon

systemctl restart git-etc

Options

DIRECTORY Full path to working directory with observed files. Default is /etc.
TIMESLEEP Time interval between updates, hours. It must be integer and >= 1. Default is 12.
IGNORELIST List of files that will not be observed. Separator is ";;". May be empty.
FORALL 1 will enable access for normal user. Default is 1.

Graphical user interface

Control Config (ctrlconf) is GUI for git-etc daemon written on Python2/PyQt4. This application allows you to view a list of commits and changes in files recorded in commit messages. Also, this application allows you to roll back to a specific commit all files (git reset --hard) or individual files (git diff && git apply). And you may merge old and new configuration files (used two branches repository - master and experimental). The application may need root privileges. Make sure that sudo package is installed.

Configuration

Just run the application and open the settings window from menu!

Screenshots

(Screenshots in Russian, but GUI has English translation.)

git-etc_mainwindow
Main window
git-etc_aboutwindow
About window
git-etc_commitwindow
Commit window
git-etc_mergingwindow
Merging window
git-etc_rollbackwindow
Roll back window

Links