mirror of
https://github.com/arcan1s/arcanis.me.git
synced 2025-07-21 16:39:56 +00:00
change project structure to more pretty one
This commit is contained in:
183
ru/projects/_posts/2013-02-12-git-etc.md
Normal file
183
ru/projects/_posts/2013-02-12-git-etc.md
Normal file
@ -0,0 +1,183 @@
|
||||
---
|
||||
permalink: ru/projects/git-etc
|
||||
category: ru
|
||||
hastr: true
|
||||
layout: project
|
||||
title: git-etc
|
||||
short: git-etc
|
||||
tags: git, python, qt, linux, system, демон
|
||||
hasgui: true
|
||||
hasdocs: false
|
||||
developers:
|
||||
- Evgeniy Alekseev
|
||||
license: GPLv3
|
||||
links:
|
||||
- Пакет в <a href="//aur.archlinux.org/packages/git-etc" title="AUR">AUR</a>
|
||||
---
|
||||
<!-- info block -->
|
||||
|
||||
Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.
|
||||
|
||||
<!--more-->
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
### <a href="#devel" class="anchor" id="devel"><span class="octicon octicon-link"></span></a>Разработчики
|
||||
|
||||
{% for devel in page.developers %}
|
||||
* {{ devel }}{% endfor %}
|
||||
|
||||
### <a href="#license" class="anchor" id="license"><span class="octicon octicon-link"></span></a>Лицензия
|
||||
|
||||
* {{ page.license }}
|
||||
|
||||
<!-- end of info block -->
|
||||
|
||||
<!-- install block -->
|
||||
## <a href="#install" class="anchor" id="install"><span class="octicon octicon-link"></span></a>Установка
|
||||
|
||||
### <a href="#instruction" class="anchor" id="instruction"><span class="octicon octicon-link"></span></a>Инструкция
|
||||
|
||||
* Скачайте [архив](//github.com/arcan1s/git-etc/releases "GitHub") с актуальной версией исходных файлов.
|
||||
* Извлеките из него файлы и установите приложение:
|
||||
|
||||
```bash
|
||||
./install.sh "/путь/к/корню/"
|
||||
```
|
||||
|
||||
Если Вы хотите установить в `/`, Вы должны запустить это, как root:
|
||||
|
||||
```bash
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
Если путь не указан, пакет будет установлен в `/`.
|
||||
|
||||
### <a href="#dependencies" class="anchor" id="dependencies"><span class="octicon octicon-link"></span></a>Зависимости
|
||||
|
||||
Все было протестировано на последних версиях зависимостей.
|
||||
|
||||
* Bash (включая awk, grep, sed)
|
||||
* git
|
||||
* python2 *(make)*
|
||||
* systemd *(опционально, service-файл)*
|
||||
* python2-pyqt4 *(опционально, GUI)*
|
||||
* xterm *(опционально, GUI)*
|
||||
|
||||
<!-- end of install block -->
|
||||
|
||||
<!-- howto block -->
|
||||
## <a href="#howto" class="anchor" id="howto"><span class="octicon octicon-link"></span></a>Использование
|
||||
|
||||
Если Вы хотите запустить демон в `/etc`, просто запустите
|
||||
|
||||
```bash
|
||||
systemctl start git-etc
|
||||
```
|
||||
|
||||
Если Вы хотите включить автозагрузку демона, запутите
|
||||
|
||||
```bash
|
||||
systemctl enable git-etc
|
||||
```
|
||||
|
||||
Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл
|
||||
|
||||
```bash
|
||||
cp /etc/git-etc.conf /новый/путь/к/git-etc.conf
|
||||
```
|
||||
|
||||
и отредактируйте его. Затем скопируйте исходный service-файл в `/etc`:
|
||||
|
||||
```bash
|
||||
cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service
|
||||
```
|
||||
|
||||
Замените следующую строку в этом файле:
|
||||
|
||||
```bash
|
||||
ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf
|
||||
```
|
||||
|
||||
на
|
||||
|
||||
```bash
|
||||
ExecStart=/usr/bin/git-etc -c /новый/путь/к/git-etc.conf
|
||||
```
|
||||
<!-- end of howto block -->
|
||||
|
||||
<!-- config block -->
|
||||
## <a href="#config" class="anchor" id="config"><span class="octicon octicon-link"></span></a>Настройка
|
||||
|
||||
Все настройки хранятся в `/etc/git-etc.conf`. После редактирования, Вы должны перезапустить демон
|
||||
|
||||
```bash
|
||||
systemctl restart git-etc
|
||||
```
|
||||
|
||||
### <a href="#options" class="anchor" id="options"><span class="octicon octicon-link"></span></a>Опции
|
||||
|
||||
| | |
|
||||
|-------|-------|
|
||||
| DIRECTORY | Полный путь к рабочей директории с наблюдаемыми файлами. По умолчанию `/etc`. |
|
||||
| TIMESLEEP | Промежуток времени между обновлениями, часы. Должно быть целым и >= 1\. По умолчанию `12`. |
|
||||
| IGNORELIST | Список файлов, которые не будут наблюдаться. Разделитель ";;". Может быть пустым. |
|
||||
| FORALL | `1` включит доступ для обычного пользователя. По умолчанию `1`. |
|
||||
<!-- end of config block -->
|
||||
|
||||
<!-- gui block -->
|
||||
## <a href="#gui" class="anchor" id="gui"><span class="octicon octicon-link"></span></a>Графический интерфейс
|
||||
|
||||
Control Config (`ctrlconf`) - графический интерфейс для `git-etc`, написанный на `Python2/PyQt4`. Данное приложение позволяет Вам увидеть список коммитов и изменения в файлах в данных коммитах. Также данное приложение позволит Вам откатиться на указанный коммит (все файлы, посредством `git reset --hard`, или только указанный, посредством `git diff && git apply`). Также Вы можете объединить старый и новый конфигурационные файлы (используются две
|
||||
ветки репозитория master и experimental). Приложение может потребовать привелегии root, убедитесь, что пакет `sudo` установлен.
|
||||
|
||||
### <a href="#gui_configuration" class="anchor" id="gui_configuration"><span class="octicon octicon-link"></span></a>Настройка
|
||||
|
||||
Запустите приложение и откройте окно настроек из меню.
|
||||
|
||||
### <a href="#screenshots" class="anchor" id="screenshots"><span class="octicon octicon-link"></span></a>Скриншоты
|
||||
|
||||
<div class="thumbnails">
|
||||
{% 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 %}
|
||||
</div>
|
||||
<!-- end of gui block -->
|
Reference in New Issue
Block a user