Revisie: $Id$ Originele text: http://svn.wirelessleiden.nl/svn/projects/onf/richtlijnen_subversion.txt Richtlijnen van subversion == Folders en bestanden == = gebruik geen spaties en vreemde tekens = * Unix zal door de spatie niet goed herkennen wat de volledige bestandsnaam is en wat niet. * In een URL worden deze tekens vervangen door %20 en andere getallen wat de leesbaarheid niet ten goede komt = Gebruik geen hoofdletters = * Unix maakt in tegenstelling tot bijvoorbeeld windows onderscheid tussen hoofd en kleine letters. De bestanden ``Foobar.txt'' en ``fooBar.txt'' is de benamaming voor hetzelfde bestand onder windows. Worden deze 2 bestanden weggeschreven onder een Unix systeem dan levert dit (grote) problemen op bij het binnenhalen van de bestanden in Windows. = gebruik goede mime-types = * omdat we je de subversion ook kunt benaderen via de internet browser is het belangrijk dat je de meta-informatie goed zet. Hiermee is het mogelijk dat je een plaatje in de internet browser kunt bekijken ivm dat het vraagt om het te downloaden = gebruik open standaard bestandformaten = * Omdat je wilt dat iedereen je bestand moet kunnen zien/lezen is het belangrijk om open standaard bestandformaten te gebruiken een paar voorbeelden (met goede extentie) zijn. * Platte tekst : .txt * Plaatjes : .png of .jpg * Vector plaatjes : .svg == Algemeen == = gebruik subversion niet als tijdelijke opslag = * Elk bestand word gearchiveerd wat er toe leid dat de schijfruimte die op de server nodig is steeds meer moet zijn en uiteindelijk onhoudbaar wordt. = zet bij elke wijziging een goede verklaarde tekst = * Een goede log tekst is heel belangrijk, hiermee kan iemand namelijk kijken waarom je bepaalde dingen erin zet. Je moet dus _niet_ beschrijven wat je gedaan hebt, wat dat kunnen mensen gewoon na lezen in de technische gegevens van de wijziging. = maak elke wijziging een losstaand geheel = * Een commit moet staan op een bepaald actie die je hebt verricht, als je bijvoorbeeld de foo code en de bar code bij hebt gewerkt, stuur de wijzigingen dan niet tegelijkertijd op, maar maak er 2 commits van. Zo kunnen mensen makkelijker de wijzigingen begrijpen. = plaats ongewijzigde geen open source code van andere projecten = * Plaats liever een link naar de code en een paar diff's van de wijzigingen, hiermee voorkom je dat ze jouw bron gaan gebruiken om de code te downloaden. * Mensen kunnen denken dat jij nu de code onderhoudt, met alle misverstanden van dien = platte tekst = * Probeer een regelgrootte aan te houden van 72 tekens de differenties worden gemailted en zullen raar geformateerd worden als groter wordt gebruikt. Verder is de max van een A4 papiertje met een monospace lettertype ongeveer 80 regels, bij uitprinten levert dit dus problemen op == Juritisch == = Plaats geen bestanden van een 3de persoon zonder toestemming = * Het is niet legaal, met mogelijke strafrechtelijke vervolging. * De eigenaar van de machine waarop het draait kan aansprakelijk worden gesteld, met torenhoge boetes tot gevolg. * Je brengt de organisatie in discridiet * Gegevens zijn heel moeilijk uit subversion te halen = Commit geen bestanden van een ander = * Als iemand will committen dan moet hij een eigen account (gebruikersnaam/wachtwoord) gebruiken, hiermee voorkom je dat data op plekken komt dat het niet hoort. Verder hou je hiermee bij wie wat in subversion heeft gezet, wat bij eventuele recht questies later uitsluitsel kan bieden. == Hints en tips == * Maak gebruik van svn:keywords, met bijvoorbeeld het kernwoord Id kan kan je heel makkelijk in het bestand zelf zien welke versie van het bestand is. Als je dan 2 statische versies naast elkaar hebt (op papier bijvoorbeeld) weet je altijd wat de laatste is -- $Id$