]> gitweb.fluxo.info Git - keyringer.git/commitdiff
Configuration version tracking to help keyring upgrades
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Nov 2010 20:31:47 +0000 (18:31 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Nov 2010 20:31:47 +0000 (18:31 -0200)
README
lib/keyringer/functions

diff --git a/README b/README
index 7f1bbb666928e98c2f711f23e5c97cf208767c86..b4ade4b78e610061f45ea00ec5b3b0f653b7c374 100644 (file)
--- a/README
+++ b/README
@@ -230,8 +230,6 @@ There are lots of things that can be enhanced, like:
 
   - Encrypted and signed configuration files such as "recipients" and "options".
 
-  - Configuration version tracking to help keyring upgrades.
-
 Development
 -----------
 
index 0e617791917e24b21c6a1d776ba1877cf8d6329a..6395f2d514813775291ce597a99eeacfb74a52b4 100644 (file)
@@ -176,6 +176,7 @@ function keyringer_set_env {
   KEYDIR="$BASEDIR/keys"
   RECIPIENTS="$BASEDIR/config/recipients"
   OPTIONS="$BASEDIR/config/options"
+  VERSION_INFO="$BASEDIR/config/version"
 
   if [ -z "$BASEDIR" ]; then
     keyringer_action_usage
@@ -208,6 +209,20 @@ function keyringer_set_env {
 
   # Ensure that keydir exists
   mkdir -p "$KEYDIR" && chmod 700 "$KEYDIR"
+
+  # Check keyring config version
+  keyringer_check_version
+}
+
+# Configuration version tracking to help keyring upgrades
+function keyringer_check_version {
+  if [ ! -f "$VERSION_INFO" ]; then
+    echo "Creating configuration version file..."
+    echo 0 > $VERSION_INFO
+    keyringer_exec git "$BASEDIR" add config/version
+  fi
+
+  VERSION="`cat $VERSION_INFO`"
 }
 
 # Get a file argument