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 two servers which can be used for the rule writing (used to be three, but one was decommissioned).
The two servers are identical in setup. Every registered KDE developer has access to both servers 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 servers
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
Quad core, 512MB internal memory (can be expanded as we need it) ssh [email protected] -p22308 Host key fingerprint: 04:0b:f3:90:ee:06:d3:60:8b:b8:c5:93:61:24:8a:2d
- 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 donors. If you violate the intended usage, we risk losing the machine.
- 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.
Be aware that "-P 22308" only applied to louie but not the other two servers which use the default ssh port.
- You can scp your personal folder to your computer with the following command executed from your own computer:
scp -P 22308 -r [email protected]:username folder-from-louie -P 22308 is only needed for louie, otherwise leave it out replace 'username' with your svn username (the folder you created on the server) replace 'folder-from-louie' 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 -P 22308 -r folder-to-louie [email protected]:username -P 22308 is only needed for louie, otherwise leave it out replace 'username' with your svn username (the folder you created on the server) replace 'folder-to-louie' with folder name you have on your computer.
23 May 2011: huey has been decommissioned from svn2git duties.