SvnKit - hpgDesigns/hpgdesigns-dev.io GitHub Wiki

Please note that SvnKit was the old method of managing automatic updates. Since we have moved to Git, this method is now in the process of being phased out; a new automatic update method is still in the planning.

SvnKit is a Java project designed to plug in to other Java projects in order to access Subversion commands. Recall that Subversion was where we kept our changes and our very latest version/revision was always hosted there, meaning that we can use SvnKit to:

  • Checkout the project, essentially installing any components you don't have. This is part of the Automated Install process.
  • Update to the latest.
  • Find out and report which revision you are using. This is currently reported to the command line shortly after loading in the Action Libraries, which is one of the first thing LGM does when it loads up, before it loads in any plugins (such as the ENIGMA Plugin).

The primary purpose of SvnKit in ENIGMA is to automatically update when a new revision is available. Obviously, this is sometimes undesirable, especially if you are a developer and/or trying to work with a certain revision. It's very easy to turn off automatic updates.

Turning Automatic Updates On/Off

Depending on how you install ENIGMA, you may have automatic updates turned on or off, and usually it is the desired state.

  • A fresh, raw checkout from the SVN will have them turned off. Typically only developers perform fresh, raw checkouts. Also, users capable of doing svn checkouts also usually handle their own updates by doing `svn up`.
  • Installing ENIGMA from a Linux repository/deb/package will have them turned off. This is because Linux's package manager is supposed to handle your updates for you.
  • Installing ENIGMA from the zip (e.g. Windows, Mac) will have them turned on.

Automatic updates are toggled on or off by whether SvnKit exists in its expected location: enigma-dev/plugins/shared/svnkit.jar

For your convenience, your ENIGMA checkout typically comes with a copy of svnkit.jar in enigma-dev/Autoconf/svnkit.jar. Note that this is a neutral location which will not effect the state of automatic updates - only the aforementioned expected location will effect automatic updates.

If you wish to download SvnKit yourself, the version that you use is not crucial, although you are recommended to have a fairly recent version. The version included in the ENIGMA repository should always be sufficient.

  • To turn off automatic updates: Rename/Move/Delete svnkit.jar away from its expected location. Note that running ENIGMA/LGM in this fashion will cause the command line to mention that SvnKit is missing/corrupt and that auto-updates will be disabled. This is normal behavior, because you are recommended to keep auto-updates enabled. The rest of the program will continue to function normally.
  • To turn them back on, Copy/Rename/Move/Download svnkit.jar into its expected location. Remember that you can find one in the Autoconf/ convenience location, although you should only copy that one so that you have a copy in case you lose your active one.