arcanis.me/ru/projects/git-etc.md
2016-01-26 11:45:49 +03:00

7.4 KiB
Raw Blame History

category hastr layout title short tags hasgui hasdocs developers license links
ru true project git-etc git-etc git, python, qt, linux, system, демон true false
Evgeniy Alekseev
GPLv3
Пакет в <a href="//aur.archlinux.org/packages/git-etc" title="AUR">AUR</a>

Информация

Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.

$ 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

Разработчики

{% for devel in page.developers %}

  • {{ devel }}{% endfor %}

Лицензия

  • {{ page.license }}

Установка

Инструкция

  • Скачайте архив с актуальной версией исходных файлов.

  • Извлеките из него файлы и установите приложение:

    ./install.sh "/путь/к/корню/"
    

    Если Вы хотите установить в /, Вы должны запустить это, как root:

    sudo ./install.sh
    

    Если путь не указан, пакет будет установлен в /.

Зависимости

Все было протестировано на последних версиях зависимостей.

  • Bash (включая awk, grep, sed)
  • git
  • python2 (make)
  • systemd (опционально, service-файл)
  • python2-pyqt4 (опционально, GUI)
  • xterm (опционально, GUI)

Использование

Если Вы хотите запустить демон в /etc, просто запустите

systemctl start git-etc

Если Вы хотите включить автозагрузку демона, запутите

systemctl enable git-etc

Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл

cp /etc/git-etc.conf /новый/путь/к/git-etc.conf

и отредактируйте его. Затем скопируйте исходный service-файл в /etc:

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

Замените следующую строку в этом файле:

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

на

ExecStart=/usr/bin/git-etc -c /новый/путь/к/git-etc.conf

Настройка

Все настройки хранятся в /etc/git-etc.conf. После редактирования, Вы должны перезапустить демон

systemctl restart git-etc

Опции

DIRECTORY Полный путь к рабочей директории с наблюдаемыми файлами. По умолчанию /etc.
TIMESLEEP Промежуток времени между обновлениями, часы. Должно быть целым и >= 1. По умолчанию 12.
IGNORELIST Список файлов, которые не будут наблюдаться. Разделитель ";;". Может быть пустым.
FORALL 1 включит доступ для обычного пользователя. По умолчанию 1.

Графический интерфейс

Control Config (ctrlconf) - графический интерфейс для git-etc, написанный на Python2/PyQt4. Данное приложение позволяет Вам увидеть список коммитов и изменения в файлах в данных коммитах. Также данное приложение позволит Вам откатиться на указанный коммит (все файлы, посредством git reset --hard, или только указанный, посредством git diff && git apply). Также Вы можете объединить старый и новый конфигурационные файлы (используются две ветки репозитория master и experimental). Приложение может потребовать привелегии root, убедитесь, что пакет sudo установлен.

Настройка

Запустите приложение и откройте окно настроек из меню.

Скриншоты

{% assign scrdesc = "Основное окно" %} {% assign scrname = "git-etc_mainwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Окно 'О программе'" %} {% assign scrname = "git-etc_aboutwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Окно с просмотром изменений при коммите" %} {% assign scrname = "git-etc_commitwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Окно объединения" %} {% assign scrname = "git-etc_mergingwindow" %} {% include prj_scr.html %} {% assign scrdesc = "Окно отката" %} {% assign scrname = "git-etc_rollbackwindow" %} {% include prj_scr.html %}