Jump to content

Sysadmin/DeveloperAccessForRuleWriting

From KDE Community Wiki
Revision as of 20:32, 23 May 2011 by Nalvarez (talk | contribs) (Update documentation to reflect the removal of huey)

Writing rules for the conversion from svn to git requires you to download the whole svn repository. The size of that is 65GB. This 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 developers has access to all two 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

dewey.kde.org

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

louie.kde.org

 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

Remarks

  • 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.

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.

Tip

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.

Announcements

23 May 2011: huey has been decommissioned from svn2git duties.