First off, thanks for taking the time to contribute!
If your questions are Borg-specific it might be advisable to join the #borgbackup IRC channel on chat.freenode.net instead. Matrix is very suitable to be used as an always-on IRC-client, simply register/identify to NickServ and then join the room
Local Development Setup
macOS (or Linux if Flatpak is not an option) with pip
Clone the latest version of this repo:
$ git clone https://github.com/borgbase/vorta/
Install in development/editable mode while in the repo root:
$ pip install -e .
Install additional developer packages (pytest, tox, pyinstaller):
pip install -r requirements.d/dev.txt
Then run as Python script. Any changes from your source folder should be reflected.
Working on the GUI
Qt Creator is used to edit views. Install from their site or using Homebrew and then open the .ui files in
vorta/assets/UI with Qt Creator:
$ brew cask install qt-creator $ brew install qt
For UI icons, we use Fontawesome. You can browse available icons here and download them as SVG here. New icons are first added to both
src/vorta/assets/icons/light/collection.qrc. Then, the command
make icon-resources is run to compile them to a resource file which is used by the UI files.
To build a macOS app package:
Sparkle.frameworkfrom here and
borgfrom here in
- then uncomment or change the Apple signing profile to be used in
- finally run to
$ make Vorta.appto build the app into the
Tests are in the folder
/tests. Testing happens at the level of UI components. Calls to
borg are mocked and can be replaced with some example json-output. To run tests:
To test for style errors: