This utility tracks changes in your local repository that isn't pushed to remote repository yet. Server side of utility shows a list of such files with users who change files. It uses NiceGUI for web interface on server and pystray with cx_Freeze on client.
-
For Windows you can download binaries from Release page or build it yourself. Install client folder inside repository! Otherwise app couldn't call git commands for up-to-date checking.
-
Edit
.configto set tracking path, files filter and server address.TrackFilesfield uses python RegEx for files filtering. SetUrlfield to API address of server-side. -
Launch
clent.exeto start tracking. You can add it to autostart.
- Install pip dependencies.
- Run
python setup.py build.
Just place server.py script on your server and run it. Default host is localhost, default API port is 8085, default GUI port is 8080.
You can provide needed host and API port in arguments.
Daemon service for /etc/systemd/system/:
[Unit]
Description=NoMerge Server
[Service]
ExecStart=/usr/bin/python3 /opt/nomerge/server.py
Restart=always
WorkingDirectory=/opt/nomerge
User=root
Group=root
UserStopDelaySec=infinity
KillUserProcesses=no
[Install]
WantedBy=multi-user.target
Nginx config for /etc/nginx/sites-available:
server {
listen PUBLIC_API_PORT;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:LOCAL_API_PORT;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen PUBLIC_GUI_PORT;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:LOCAL_GUI_PORT;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}