Sysadmin/DeveloperAccessForRuleWriting

From KDE Community Wiki
Revision as of 21:29, 16 December 2010 by Nalvarez (talk | contribs)

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 3 servers which can be used for the rule writing.

The 3 servers are identical in setup. Every registered KDE developers has access to all 3 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

huey.kde.org

 Two Dual core AMD Opteron(tm) Processor 270, 4GB internal memory
 ssh [email protected]
 Host key fingerprint: 12:8e:0b:83:97:76:3f:1c:db:4b:97:a6:61:16:23:38
 

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.
  • before starting a conversion, please check top to see if there is one already running. If two conversions run at the same time, both take more than twice to finish.

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