Sparkleshare to sync org files
                 ==============================

 Last edited: $Date: 2021/03/27 13:46:10 $

                       Org mode on Debian
                       ------------------

 One  of  my  laptops  runs  Debian,  on  this  machine  I have
 installed Emacs to use org mode.

 For this I have created a directory $HOME/.org, and  set  this
 in my .emacs file.

   (setq org-directory "~/.org/")
   (setq org-default-notes-file (concat org-directory "/todo.org"))

                          Sparkleshare
                          ------------

 [Sparkleshare](http://www.sparkleshare.org/)    is   a   great
 solution to automatically sync files. It uses a  standard  Git
 server as back-end.

                    Installing Sparkleshare
                    -----------------------

 On Debian, installing Sparkleshare is just a matter of

   apt-get install sparkleshare

 ### Sparkleshare and the i3 window manager

 I   am  running  the  i3  window  manager  and  when  I  start
 Sparkleshare, an applet shows up in the systemtray.

                   Migrating to Sparkleshare
                   --------------------------

 ### Preparing Gitolite

 The first time Sparkleshare is started, it creates a  new  ssh
 key.  The  Sparkleshare  applet in your system tray has a menu
 entry called "Computer ID". This is the  publlc  key  of  that
 newly generated ssh key.

 Copy this key to a file in your Gitolite keys directory.  Open
 the gitolite.conf file and add this key with RW+ rights  to  a
 repo. I used my orgfiles-repo for this.

 Commit the key and config change and push this to the Gitolite
 server in the normal way.

 ### Adding the Gitolite repo to Sparkleshare

 Open the menu from the  Sparkleshare  applet  and  open  "Sync
 remote project".

 In the address field add the following:

   ssh://gitolite-user@gitoliteurl:port

 Where:

 - gitolite-user: the username for Gitolite, perhaps git or gitolite3
 - gitoliteurl: the url of ip address of your gitolite server
 - :port: if gitolite doesn't run on port 22, than define
   the port here

 In  the  remote  path  field add the name of the existing repo
 (where you just have added RW+ rights for the Sparkleshare ssh
 key).

 Check  the  box  'fetch prior revisions' if you have indeed an
 existing repository with already some committed files.

 Hit the "Add" button and be prepared for  a  very  long  wait.
 Sparkleshare is now doing its magic, but that takes time.

         Symlink your org directory to the new location
         ----------------------------------------------

 Sparkleshare  has created a directory in your $HOME directory,
 called SparkleShare. In here you find a subdirectory with  the
 name  of  your Git server or Gitolite server, and in there you
 find the name of your Git repository, and in there  the  files
 that Sparkleshare has just checked out of your Git repository.

 If everything worked out fine, you can remove your current org
 directory  and  symlink  it  to  the  new  location  in   your
 $HOME/SparkleShare directory.

                Automatically start Sparkleshare
                --------------------------------

 I  have  added  a line to my .xsessionrc to start Sparkleshare
 automatically when starting X.

   sparkleshare &

                Automated check in of your work
                -------------------------------

 When you add content to your org files, add new org  files  to
 your  org  directory  or change existing content, Sparkleshare
 will take care of the changes and submit  those  to  your  Git
 repository in Gitolite.