Subversion is a version tracking system similar to CVS
SVN is similar to CVS, but:
- subversion is technologically better, faster and easier to use
- (possibly because of the above) developers like subversion a lot (more than CVS)
- better authentication and authorization applied
Links - since SVN is documented nicely, links are enough for now:
- GenBoard/FirmWare/CVSUsage old CVS repository
- http://subversion.tigris.org/ subversion docs and clients
- install takes 30 seconds in most linux systems, eg. apt-get install subversion kdesvn command in Debian GNU Linux installs both the command line SVN client and the GUI kdesvn (available from konqueror, with right-click on the directory). esvn is another popular frontend for the Subversion revision system written in Qt.
- http://tortoisesvn.tigris.org/ a nice windows client (just as good as kdesvn on linux), install in 3 minutes to enjoy SVN. You might need to use command-line svn for anything that tortoise-SVN does not support (eg. svn copy operation ?).
Fortunately kdesvn and tortoise-SVN are compatible with the svn commandline tool, because they both use the .svn dir to store metadata. You can use them on the same working directory interchangably.
VEMS SVN Layout
Be sure to checkout/update only the subdirectories you need. You can write a small svn_update.bat (or svn_update.sh) file to automatically update what you need (usually 3..4 subdirectories). Checkout/update of the whole vems repository will not work (I am not sure if SVN has an option to neglect any directories that one has no access to: it would be more convenient).
- https://svn.x-dsl.hu/svn/vems/ VEMS repository. Layout is similar as departments on VemsExecutives:
- hardware
- machining
- dealers
- ofbiz
- webshop
- chipdocs - available to every developer
- balance - only update your particular (usually xls) file, not the whole directory (which fails to update for some reason)
- https://svn.x-dsl.hu/svn/firmware/ Firmware repository
- https://svn.x-dsl.hu/svn/manual/ Manual repository
If you think you accidentally don't have access to one of the repositories or subdirectories, please write to Marcell so the error can be corrected.
Simple https client (web browser) is enough to view the latest revision (because of nature of SVN, not just head/trunk but of any tags and branches as well). Also useful to find out which subtree you need
However a real SVN client is needed to commit or view history.
How developers can ask for SVN access
Someone, who has detailed plans about engine management related development
- has well defined goals
- studied how given goals can be achieved with current software
- or why they cannot be achieved
- collected data about how it's usually done
- has ideas about how he would do it
- preferrably made some model or simulation, running on PC
- usually new developers are first involved in new projects, and negotiate some interface for the new developments. New code is audited and integrated by existing developers. Later well cooperating developers can get more involved in the project.
- the detailed plans are necessary so the team can cooperate with the applicant to sort the necessary files/functions for which access is needed for the given task.
- The development team attempts to cooperate. Access to the chosen functions is granted after the development team decides that cooperation is likely to work out.
The minimum needed for SVN tokens:
- username (use the ofbiz username if possible, or a username that resembles your real name or nickname)
- send message via WebShop [contact form] with your
- plans, see above
- username and
- hashed pw: See below
- list of departments you're interested in (such as "hardware")
- real-life address (which can be used to send keys; no PO box)
- real life authentication, like photo-ID
- telefone: preferrably working hours landline as well
- signing NDA (which prohibits disclosure of technology learnt from vems: working along interfaces helps a lot with this: possible to achive goals without risks of accidents)
Optional
- if you need some help with tunneling SVN (only needed for commits; not needed for browsing). You might not know this in advance since "your" proxy might or might not tunnel SVN-https requests properly. It usually does. You can choose your favorite tunneling:
- ssh (this was the only supported tunneling for commits when we used CVS)
- httptunnel (might be the best tunnel choice for SVN access. The privacy that ssh provides is not needed when tunneling the safe https through httptunnel)
Hashed Password syntax
There are several options to get your pw hashed. Currently we cannot use the hashed pw made by the md5sum program, so use either Either:
- change pw with standard unix passwd command and copy from /etc/shadow
- or change pw with samba smbpasswd command and copy from /etc/samba/smbpasswd
- or use the apache.org htpasswd command with -m option
- or, as last chance try
- [htpasswds CGI via https] (out of order now).
- Do not send cleartext pwd in email (email is logged by too many parties)
Examples (fictive):
- username:$apr1$Vw5.....$vyIPXXumhpzYsgJdgG7hv/ GOOD: made by htpasswd -m (md5sum hashed pw, encoded in some way, maybe base64)
- pacsa:mxfdriFtpP0qg works, but not recommended format: made by standard unix crypt(), eg. passwd command or htpasswd command (with -d option, or on Unix just without the -m option since this is default on platforms other than win32 and netware: most notably: Unix) other tools -m
- jimw:211b19f5bfec52c91413e05128c58ebc BAD FORMAT: made by md5sum program (or smbpasswd with bad options). Apparently encoded as hexadecimal, not base64 or alike. I am not aware how this could be made to work (if at all). Maybe some encoding would help.
If you have problem with authentication when using an SVN client, always try if you can access with a simple browser via https, to eliminate windows and SVN client usage problems
How to report issues related to SVN
Report via email to marcell.
Reports in any other way (eg. irc) might be neglected (waste of time). Even if a full report is not good in irc, mentioning the fact of firing the report is good.
- tool you use
- +version, if possible
- URL you try
- login name
- pwd NOT needed.
- do NOT ever send cleartext pw in email
- send hash-crypted pw, either when asking for change (try to provide some auth, like your phone number or Street address); or asking for verification that pw hasn't been changed on the server
- pwd NOT needed.
- what error message the client gives to you
- does it work in a (https-enabled) web browser ?
- good for testing: URLs that everyone (with SVN access) has access to:
- anything else you find worth to mention
- it worked earlier, but ... changed
- ... URL works but .... not