--- hastr: true layout: project title: git-etc short: git-etc hasgui: true hasdocs: false developers: - Evgeniy Alekseev license: GPLv3 links: - Archlinux AUR package ---

Information

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

{% highlight bash %} $ 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 {% endhighlight %} {% highlight bash %} $ 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 {% endhighlight %}

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

{% highlight bash %} systemctl start git-etc {% endhighlight %}

If you want to enable daemon autoload run

{% highlight bash %} systemctl enable git-etc {% endhighlight %}

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

{% highlight bash %} cp /etc/git-etc.conf /new/path/to/file/git-etc.conf {% endhighlight %}

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

{% highlight bash %} cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service {% endhighlight %}

Replace following string in the file:

{% highlight bash %} ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf {% endhighlight %}

to

{% highlight bash %} ExecStart=/usr/bin/git-etc -c /new/path/to/file/git-etc.conf {% endhighlight %}

Configuration

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

{% highlight bash %} systemctl restart git-etc {% endhighlight %}

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.)

{% assign scrdesc = "Main window" %} {% assign scrname = "git-etc_mainwindow" %} {% include prj_scr.html %} {% assign scrdesc = "About window" %} {% assign scrname = "git-etc_aboutwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Commit window" %} {% assign scrname = "git-etc_commitwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Merging window" %} {% assign scrname = "git-etc_mergingwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Roll back window" %} {% assign scrname = "git-etc_rollbackwindow" %} {% include prj_scr.html %}