< Sysadmin
Revision as of 17:41, 9 August 2012 by Wrohdewald (talk | contribs) (Tip: Simplify access to dewey)

Writing rules for the conversion from SVN to Git requires you to download the whole SVN repository. Its full size is currently 65GB, which is a problem for a lot of our developers. Hence we have setup a server which can be used for the rule writing (used to be three).

Every registered KDE developer has access to the server with the keys you have setup on identity.kde.org.

This document assumes you are familiar with the rule writing. A good document to learn more about that can be found at http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git

Info about the server


 Hexa core, 2GB internal memory
 ssh [email protected]
 Host key fingerprint: 33:6d:9f:cd:b0:4c:36:b9:0f:34:93:30:49:00:ae:88


  • The ssh account name is git. Login with ssh [email protected]
  • You share the account with all developers, for example don't install your favorite .vimrc as that affects all developers.
  • Don't run any applications because you want to. IRC Bouncers for example.
  • Use it for the rule writing. Everything else is wrong.
  • Create a folder named after your identity.kde.org username and only work in there.
  • We have made agreements about all this with the donor. If you violate the intended usage, we risk losing the machine.

The setup

  • svn-all-fast-export is installed into the distro and is from Oct 18th. If a bug is fixed and you need it, drop sysadmin a note and we will start the sequence to update it. Example usage:
 svn-all-fast-export --add-metadata --identity-map /home/gitmaster/kde-ruleset/account-map \
 --rules /home/gitmaster/kde-ruleset/soprano-rules /home/gitmaster/svn/
  • If anything doesn't work and you are unable to figure out how try rerunning the conversion with the "--debug-rules" option.
 svn-all-fast-export --add-metadata --identity-map /home/gitmaster/kde-ruleset/account-map \
 --rules /home/gitmaster/kde-ruleset/soprano-rules --debug-rules /home/gitmaster/svn/

This will print information about what rule matched for each matched file/directory.

  • the svn repo can be queried in the gitmaster home directory. For example:
svn log -v --stop-on-copy file:///home/gitmaster/svn/trunk/extragear/utils/rsibreak 

(please note that there is no physical file on the disk located at /home/gitmaster/svn/trunk/extragear/utils/rsibreak, svn automatically recognizes it is a repository).

  • the svn repo is updated every couple minutes.
  • if you need rules, you can find them in: /home/gitmaster/kde-ruleset, this is read-only, so copy them over to your personal folder and work on them. When done, scp your personal folder to your own computer and commit to git from there.
  • the rules are updated every 4 hours.


  • In your ~/.ssh/config file, add a section
Host dewey
       HostName dewey.kde.org
       User git
 and you can use dewey as an alias for [email protected]: ssh dewey
  • Add the command "cd username" to the end of .bashrc on dewey since you will almost always go there anyway.
  • mkdir dewey-mirror ; sshfs dewey:username dewey-mirror lets you access the remote dewey directory just like a local directory. Just do not execute git, svn2git or such things in there!
  • You can scp your personal folder to your computer with the following command executed from your own computer:
 scp -r [email protected]:username folder-from-dewey
 replace 'username' with your svn username (the folder you created on the server)
 replace 'folder-from-dewey' with folder name you like on your computer.
  • You can also scp your personal folder from your computer to the server with the following command executed from your own computer:
 scp -r folder-to-dewey [email protected]:username
 replace 'username' with your svn username (the folder you created on the server)
 replace 'folder-to-dewey' with folder name you have on your computer.


  • 23 May 2011: huey has been decommissioned from svn2git duties. It's now used for other tasks within KDE.
  • 23 June 2012: louie has been returned to the hoster.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.