mirror of
				https://github.com/arcan1s/arcanis.me.git
				synced 2025-10-31 22:03:43 +00:00 
			
		
		
		
	* edited css * removed description from header in layout of projects * moved title from header to body in layout of papers
		
			
				
	
	
		
			160 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| ---
 | |
| layout: project
 | |
| title: git-etc
 | |
| short: git-etc
 | |
| hasgui: true
 | |
| developers:
 | |
|     - Evgeniy Alelseev
 | |
| license: GPLv3
 | |
| links:
 | |
|     - Archlinux <a href="https://aur.archlinux.org/packages/git-etc">AUR package</a>
 | |
| ---
 | |
| <!-- info block -->
 | |
| <h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Information</h2>
 | |
| <p align="justify">Simple daemon that automatically creates git repository in the given directory and creates commit at the specified time interval.</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>Developers and contributors</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>License</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>Installation</h2>
 | |
| 
 | |
| <h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
 | |
| <ul>
 | |
|   <li><p align="justify">Download an <a href="https://github.com/arcan1s/git-etc/releases">archive</a> with latest version of source files.</p></li>
 | |
|   <li><p align="justify">Extract it and install the application:</p>
 | |
| {% highlight bash %}
 | |
| ./install.sh "/path/to/root"
 | |
| {% endhighlight %}
 | |
| <p align="justify">If you want install it to <code>/</code> you must run it as root, e.g.:</p>
 | |
| {% highlight bash %}
 | |
| sudo ./install.sh
 | |
| {% endhighlight %}
 | |
| <p align="justify">If no path is specified it will be installed to <code>/</code> by default.</p></li>
 | |
| </ul>
 | |
| 
 | |
| <h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
 | |
| <p align="justify">I want note that all were tested on latest version of dependencies.</p>
 | |
| <ul>
 | |
|   <li>Bash (including awk, grep, sed)</li>
 | |
|   <li>git</li>
 | |
|   <li>python2 <i>(make)</i></li>
 | |
|   <li>systemd <i>(optional, service file)</i></li>
 | |
|   <li>python2-pyqt4 <i>(optional, GUI)</i></li>
 | |
|   <li>xterm <i>(optional, 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>How to use</h2>
 | |
| <p align="justify">If you want to start the daemon into <code>/etc</code> just run</p>
 | |
| {% highlight bash %}
 | |
| systemctl start git-etc
 | |
| {% endhighlight %}
 | |
| <p align="justify">If you want to enable daemon autoload run</p>
 | |
| {% highlight bash %}
 | |
| systemctl enable git-etc
 | |
| {% endhighlight %}
 | |
| <p align="justify">But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path</p>
 | |
| {% highlight bash %}
 | |
| cp /etc/git-etc.conf /new/path/to/file/git-etc.conf
 | |
| {% endhighlight %}
 | |
| <p align="justify">and edit it. Then copy the source service file to <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">Replace following string in the file:</p>
 | |
| {% highlight bash %}
 | |
| ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf
 | |
| {% endhighlight %}
 | |
| <p align="justify">to</p>
 | |
| {% highlight bash %}
 | |
| ExecStart=/usr/bin/git-etc -c /new/path/to/file/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>Configuration</h2>
 | |
| <p align="justify">All settings are stored in <code>/etc/git-etc.conf</code>. After edit them you must restart daemon</p>
 | |
| {% highlight bash %}
 | |
| systemctl restart git-etc
 | |
| {% endhighlight %}
 | |
| 
 | |
| <h3><a name="options" class="anchor" href="#options"><span class="octicon octicon-link"></span></a>Options</h3>
 | |
| <table>
 | |
|   <tr>
 | |
|     <th>DIRECTORY</th>
 | |
|     <td><p align="justify">Full path to working directory with observed files. Default is <code>/etc</code>.</p></td>
 | |
|   </tr>
 | |
|   <tr>
 | |
|     <th>TIMESLEEP</th>
 | |
|     <td><p align="justify">Time interval between updates, hours. It must be integer and >= 1. Default is <code>12</code>.</p></td>
 | |
|   </tr>
 | |
|   <tr>
 | |
|     <th>IGNORELIST</th>
 | |
|     <td><p align="justify">List of files that will not be observed. Separator is ";;". May be empty.</td>
 | |
|   </tr>
 | |
|   <tr>
 | |
|     <th>FORALL</th>
 | |
|     <td><p align="justify"><code>1</code> will enable access for normal user. Default is <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>Graphical user interface</h2>
 | |
| <p align="justify">Control Config (<code>ctrlconf</code>) is GUI for <code>git-etc</code> daemon written on <code>Python2/PyQt4</code>. 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 (<code>git reset --hard</code>) or individual files (<code>git diff && git apply</code>). 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 <code>sudo</code> package is installed.</p>
 | |
| 
 | |
| <h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Configuration</h3>
 | |
| <p align="justify">Just run the application and open the settings window from menu!</p>
 | |
| 
 | |
| <h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h3>
 | |
| <p align="justify">(Screenshots in Russian, but GUI has English translation.)</p>
 | |
| <p align="justify">Main window:<br>
 | |
| <a href="/resources/screenshots/git-etc_mainwindow.png"><img src="/resources/preview/git-etc_mainwindow_prev.jpg"></a><br>
 | |
| About window:<br>
 | |
| <a href="/resources/screenshots/git-etc_aboutwindow.png"><img src="/resources/preview/git-etc_aboutwindow_prev.jpg"></a><br>
 | |
| Commit changes window:<br>
 | |
| <a href="/resources/screenshots/git-etc_commitwindow.png"><img src="/resources/preview/git-etc_commitwindow_prev.jpg"></a><br>
 | |
| Merging window:<br>
 | |
| <a href="/resources/screenshots/git-etc_mergingwindow.png"><img src="/resources/preview/git-etc_mergingwindow_prev.jpg"></a><br>
 | |
| Roll back window:<br>
 | |
| <a href="/resources/screenshots/git-etc_rollbackwindow.png"><img src="/resources/preview/git-etc_rollbackwindow_prev.jpg"></a></p>
 | |
| <!-- end of gui block -->
 |