Kart Git And TUFLOW

From Tuflow
Jump to navigation Jump to search

Notes

  • This wiki page was written with Kart v0.12.2 which is still considered a pre-release version. Kart is in rapid development and some of the constraints and/or methods may no longer be valid or have changed in subsequent versions.
  • The examples on the page use git bash (on Windows) which is installed with Git. A lot of the methodology can also be done throught Windows command prompt with the same syntax however on this version of Kart, for private remote repositories, Kart will not prompt for any authentication while using command prompt and will simply fail to push/pull. Git bash will prompt for authentication and is also easier to save passwords and add ssh keys (required for Github) so is a lot better to use in these contexts. For consistency, it will be adopted for all examples over command prompt.
  • The examples below have used SSH authentication with either Gitlab or Github. The SSH authentication appears to be work better with Kart.

Software and Installation

The following software is required:

  • Git git-scm.com/downloads - There is a portable version Git for Windows, therefore it doesn't necessarily require admin privileges to install. There are a lot of user installation options, you should be able to simply use the default options throughout.
  • Kart kartproject.org/ - Kart will require admin privileges to install. Kart is packaged with it's own Git version, however this will not contain git bash so the above installation will be required.

Recommended software:

  • QGIS with the Kart plugin (and the TUFLOW plugin for importing empty files)

Setting Up Git Bash

Git Bash is installed with Git and is similar to Windows command prompt but uses bash (linux version of command prompt). When using Git bash and Kart together you will need to use kart.exe instead of simply kart e.g.

kart.exe commit -m "commit message"

Using kart with Windows command prompt will accept simply kart and all the Kart documenation suggests just using kart, but just be aware that ".exe" will be required if using Git Bash.

Git Bash can be opened up from the start menu. The examples on this page all use the SSH authentication method as this approach appears to currently work better with Kart. You will need to set this up on the remote repository you are using (e.g. Github or Gitlab). The steps on how to set up an SSH key is linked below, the instructions are for Github, however the process is very similar for Gitlab (the instructions are all done via Git Bash).


Once the SSH key is setup, you can add it each time you open Git Bash so you don't need to enter your password repeatedly using:

eval "$(ssh-agent -s)"

and then

ssh-add ~/.ssh/id_ed25519

replacing id_ed25519 is the name of your key. To add have it so it will save it even after a restart, you can add the key to the keychain by adding -k

ssh-add -k ~/.ssh/id_ed25519

Setting up Control File Repository

Since most of the TUFLOW input files (exclduing GIS/GRID inputs and some boundary formats) are plain text files, it is possible to simply use Git to version these files. There are a number of ways to initialise this (and countless returns if Googled), the approach shown below is done by intialising the remote repository on Github or Gitlab first.

Setting up Kart Repository

Cloning an Existing Repository