Voor een project voor school ben ik van plan om gebruik te maken van Subversion.
Nu zijn wij natuurlijk geen professionele club, en dus zullen we naar alle waarschijnlijkheid geen server kunnen regelen. Iig zeker geen 24h-draaiende server waarop we zelf een programma als Subversion mogen installeren en de repository te kunnen plaatsen/onderhouden.
Waar hebben we wel minstens de beschikking over:
- FreeBSD installatie (bij mij iig)
- WinXp installatie(s)
- Genoeg HD space, in principe voldoende internetverbinding.
- Voldoende FTP ruimte, ook bereikbaar onder HTTP en Shell. Dit uiteraard wél op een stabiele externe server
...
Nou vraag ik me af of het niet mogelijk om die repository lokaal bij te houden. Wat ik voor ogen heb is het volgende:
- Ik draai de server, uiteraard kan men bij mij inloggen etc.
- Die server laat ik een repository bijhouden op de externe FTP server
We stellen een lijstje op met IP's en die moet men van boven naar beneden afgaan. Als ik dus down ben, moet de volgende het over nemen, en zelf een server opstarten (met identieke config inclusief verwijzing naar externe repository).
En zo lopen we het lijstje af...
Desnoods reserveren we een vaste upload tijd etc.
De mogelijke communicatieproblemen/ongemakken die hierdoor zouden kunnen ontstaan even buiten beschouwing gelaten, is dit technisch mogelijk ?
Uiteraard begrijp ik dat men dan niet meerderde servers parallel moet gaan draaien, en die naar dezelde remote dir laten schrijven
.
In de Subversion config kun je als repository namelijk gewoon een valide URL opgeven. Lijkt me dus ook FTP etc. Nou heb ik al wel ergens iets gelezen dat Windows de transactie zou gaan corrupten als je een remote URL opgeeft als repository dir. Mocht dat niet gaan werken, dan zou ik altijd nog via NFS oid die remote dir met repository (dus op externe server) kunnen mounten onder mijn lokale filesystem...
De reden waarom ik dit wil ?
Ik wil niet dat men afhankelijk is van de beschikbaarheid van één PC op internet. Ik kan sowieso niet garanderen dat ik online ben, en voldoende upload ter beschikking heb.
Nu zou ik natuurlijk een exact kopie kunnen laten rondgaan, en dan iedereen op basis van dat kopie van de repository (en de benodigde config files) beurtelings een eigen server te laten draaien wanneer dat nodig mocht blijken.
Waar het dus om gaat is het volgende: zijn Subversion repositories overdraagbaar ? Dat zou wel het geval zijn als Subversion alle info opslaat in de root van de repository zelf. Dit lijkt het geval, er wordt nl. een dir genaamd ".svn" oid aangemaakt. Maar zou ik die repository-dir dus overal mee naar toe kunnen slepen met behoud van versiegegevens/logs/metadata etc ?
Nu zijn wij natuurlijk geen professionele club, en dus zullen we naar alle waarschijnlijkheid geen server kunnen regelen. Iig zeker geen 24h-draaiende server waarop we zelf een programma als Subversion mogen installeren en de repository te kunnen plaatsen/onderhouden.
Waar hebben we wel minstens de beschikking over:
- FreeBSD installatie (bij mij iig)
- WinXp installatie(s)
- Genoeg HD space, in principe voldoende internetverbinding.
- Voldoende FTP ruimte, ook bereikbaar onder HTTP en Shell. Dit uiteraard wél op een stabiele externe server
Nou vraag ik me af of het niet mogelijk om die repository lokaal bij te houden. Wat ik voor ogen heb is het volgende:
- Ik draai de server, uiteraard kan men bij mij inloggen etc.
- Die server laat ik een repository bijhouden op de externe FTP server
We stellen een lijstje op met IP's en die moet men van boven naar beneden afgaan. Als ik dus down ben, moet de volgende het over nemen, en zelf een server opstarten (met identieke config inclusief verwijzing naar externe repository).
En zo lopen we het lijstje af...
Desnoods reserveren we een vaste upload tijd etc.
De mogelijke communicatieproblemen/ongemakken die hierdoor zouden kunnen ontstaan even buiten beschouwing gelaten, is dit technisch mogelijk ?
Uiteraard begrijp ik dat men dan niet meerderde servers parallel moet gaan draaien, en die naar dezelde remote dir laten schrijven
In de Subversion config kun je als repository namelijk gewoon een valide URL opgeven. Lijkt me dus ook FTP etc. Nou heb ik al wel ergens iets gelezen dat Windows de transactie zou gaan corrupten als je een remote URL opgeeft als repository dir. Mocht dat niet gaan werken, dan zou ik altijd nog via NFS oid die remote dir met repository (dus op externe server) kunnen mounten onder mijn lokale filesystem...
De reden waarom ik dit wil ?
Ik wil niet dat men afhankelijk is van de beschikbaarheid van één PC op internet. Ik kan sowieso niet garanderen dat ik online ben, en voldoende upload ter beschikking heb.
Nu zou ik natuurlijk een exact kopie kunnen laten rondgaan, en dan iedereen op basis van dat kopie van de repository (en de benodigde config files) beurtelings een eigen server te laten draaien wanneer dat nodig mocht blijken.
Waar het dus om gaat is het volgende: zijn Subversion repositories overdraagbaar ? Dat zou wel het geval zijn als Subversion alle info opslaat in de root van de repository zelf. Dit lijkt het geval, er wordt nl. een dir genaamd ".svn" oid aangemaakt. Maar zou ik die repository-dir dus overal mee naar toe kunnen slepen met behoud van versiegegevens/logs/metadata etc ?