Files
arcanis.me/ru/projects/git-etc.html
T
arcan1s 8e5bcd6ad2 site appearance
* edited css
* removed description from header in layout of projects
* moved title from header to body in layout of papers
2014-05-14 18:36:17 +04:00

160 lines
8.6 KiB
HTML

---
category: ru
layout: project
title: git-etc
short: git-etc
hasgui: true
developers:
- Evgeniy Alelseev
license: GPLv3
links:
- Пакет в <a href="https://aur.archlinux.org/packages/git-etc">AUR</a>
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.</p>
{% 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 %}
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
<ul>
{% for devel in page.developers %}
<li>{{ devel }}</li>
{% endfor %}
</ul>
<h3><a name="license" class="anchor" href="#license"><span class="octicon octicon-link"></span></a>Лицензия</h3>
<ul>
<li>{{ page.license }}</li>
</ul>
<!-- end of info block -->
<!-- install block -->
<h2><a name="install" class="anchor" href="#install"><span class="octicon octicon-link"></span></a>Установка</h2>
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/git-etc/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите приложение:</p>
{% highlight bash %}
./install.sh "/путь/к/корню/"
{% endhighlight %}
<p align="justify">Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:</p>
{% highlight bash %}
sudo ./install.sh
{% endhighlight %}
<p align="justify">Если путь не указан, пакет будет установлен в <code>/</code>.</p></li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>Bash (включая awk, grep, sed)</li>
<li>git</li>
<li>python2 <i>(make)</i></li>
<li>systemd <i>(опционально, service-файл)</i></li>
<li>python2-pyqt4 <i>(опционально, GUI)</i></li>
<li>xterm <i>(опционально, GUI)</i></li>
</ul>
<!-- end of install block -->
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Если Вы хотите запустить демон в <code>/etc</code>, просто запустите</p>
{% highlight bash %}
systemctl start git-etc
{% endhighlight %}
<p align="justify">Если Вы хотите включить автозагрузку демона, запутите</p>
{% highlight bash %}
systemctl enable git-etc
{% endhighlight %}
<p align="justify">Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
{% highlight bash %}
cp /etc/git-etc.conf /новый/путь/к/git-etc.conf
{% endhighlight %}
<p align="justify">и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
{% highlight bash %}
cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service
{% endhighlight %}
<p align="justify">Замените следующую строку в этом файле:</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf
{% endhighlight %}
<p align="justify">на</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /новый/путь/к/git-etc.conf
{% endhighlight %}
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p align="justify">Все настройки хранятся в <code>/etc/git-etc.conf</code>. После редактирования, Вы должны перезапустить демон</p>
{% highlight bash %}
systemctl restart git-etc
{% endhighlight %}
<h3><a name="options" class="anchor" href="#options"><span class="octicon octicon-link"></span></a>Опции</h3>
<table>
<tr>
<th>DIRECTORY</th>
<td><p align="justify">Полный путь к рабочей директории с наблюдаемыми файлами. По умолчанию <code>/etc</code>.</p></td>
</tr>
<tr>
<th>TIMESLEEP</th>
<td><p align="justify">Промежуток времени между обновлениями, часы. Должно быть целым и >= 1. По умолчанию <code>12</code>.</p></td>
</tr>
<tr>
<th>IGNORELIST</th>
<td><p align="justify">Список файлов, которые не будут наблюдаться. Разделитель ";;". Может быть пустым.</td>
</tr>
<tr>
<th>FORALL</th>
<td><p align="justify"><code>1</code> включит доступ для обычного пользователя. По умолчанию <code>1</code>.</td>
</tr>
</table>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<p align="justify">Control Config (<code>ctrlconf</code>) - графический интерфейс для <code>git-etc</code>, написанный на <code>Python2/PyQt4</code>. Данное приложение позволяет Вам увидеть список коммитов и изменения в файлах в данных коммитах. Также данное приложение позволит Вам откатиться на указанный коммит (все файлы, посредством <code>git reset --hard</code>, или только указанный, посредством <code>git diff && git apply</code>). Также Вы можете объединить старый и новый конфигурационные файлы (используются две ветки репозитория master и experimental). Приложение может потребовать привелегии root, убедитесь, что пакет <code>sudo</code> установлен.</p>
<h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Настройка</h3>
<p align="justify">Запустите приложение и откройте окно настроек из меню.</p>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h3>
<p align="justify">Основное окно:<br>
<a href="/resources/screenshots/git-etc_mainwindow.png"><img src="/resources/preview/git-etc_mainwindow_prev.jpg"></a><br>
Окно "О программе":<br>
<a href="/resources/screenshots/git-etc_aboutwindow.png"><img src="/resources/preview/git-etc_aboutwindow_prev.jpg"></a><br>
Окно с просмотром изменений при коммите:<br>
<a href="/resources/screenshots/git-etc_commitwindow.png"><img src="/resources/preview/git-etc_commitwindow_prev.jpg"></a><br>
Окно объединения:<br>
<a href="/resources/screenshots/git-etc_mergingwindow.png"><img src="/resources/preview/git-etc_mergingwindow_prev.jpg"></a><br>
Окно отката:<br>
<a href="/resources/screenshots/git-etc_rollbackwindow.png"><img src="/resources/preview/git-etc_rollbackwindow_prev.jpg"></a></p>
<!-- end of gui block -->