Ik programmeer websites in PHP, en de situatie is als volgt:
Thuis heb ik een computer met mijn projecten erop, op mijn werkplek heb ik ook een computer met daarop veel dezelfde projecten. Het up-to-date houden van de projecten op beide computers doe ik door de bestanden die ik update telkens op een RW-tje te branden en dan op de andere te zetten.
Aangezien ik het steeds drukker krijg, meer verschillende projecten en meer werk, kan ik niet echt meer onthouden welke bestanden ik nou heb geupdate en welke niet.
Beide computers draaien Win2000, Apache2 en PHP 4.3.9, en ik test mijn PHP spul allemaal op deze 'lokale' webserver.
Voor projecten maak ik op beide computers op dezelfde manier een map aan met de volgende structuur:
(project naam is bijvoorbeeld "Test", de map met projecten staat in "D:\Sites\")
Nu ik al een tijdje bezig ben met website maken en programmeren heb ik library opgebouwd waarvan ik een hoop bestanden (classes en functions) hergebruik bij nieuwe websites. Deze bestanden moeten dus hetzelfde zijn per project. Nu zet ik handmatig een versienummer bovenaan het bestand, maar dan moet ik dus weer gaan onthouden welk project nu de nieuwste versie van dat bestand bevat. Soms update ik een class in een project van 1.02 naar 1.03, ga ik naar een ander project en update ik dezelfde class (in een andere map) ook van 1.02 naar 1.03, terwijl ik andere regels code aanpas. Dat werkt dus niet. Eigenlijk wil ik dat als ik een class ga updaten dat elk project dan de nieuwste versie heeft.
Ik heb ook osCommerce aangepast voor een project, en ik zag dat bovenin elk bestand een versienummer en een author staat, zoiets zou ik ook willen. (ik neem aan dat ze dat niet handmatig doen, genereert CVS dat?)
Om zo efficiënt mogelijk te kunnen werken, wil ik de volgende dingen op een rijtje hebben:
Thuis heb ik een computer met mijn projecten erop, op mijn werkplek heb ik ook een computer met daarop veel dezelfde projecten. Het up-to-date houden van de projecten op beide computers doe ik door de bestanden die ik update telkens op een RW-tje te branden en dan op de andere te zetten.
Aangezien ik het steeds drukker krijg, meer verschillende projecten en meer werk, kan ik niet echt meer onthouden welke bestanden ik nou heb geupdate en welke niet.
Beide computers draaien Win2000, Apache2 en PHP 4.3.9, en ik test mijn PHP spul allemaal op deze 'lokale' webserver.
Voor projecten maak ik op beide computers op dezelfde manier een map aan met de volgende structuur:
(project naam is bijvoorbeeld "Test", de map met projecten staat in "D:\Sites\")
code:
1
2
3
4
5
6
7
8
| - Test
|-- Backup (map met site backups)
|-- Docs (map met documenten voor website planning etc)
|-- Flash (map met Flash bronbestanden)
|-- Photoshop (map met Photoshop bronbestanden)
|-- Received (map met ontvangen bestanden van klant website)
|-- Site (map met de website bestanden /
eigenlijk de enige map die bekeken moet worden op de webserver) |
Nu ik al een tijdje bezig ben met website maken en programmeren heb ik library opgebouwd waarvan ik een hoop bestanden (classes en functions) hergebruik bij nieuwe websites. Deze bestanden moeten dus hetzelfde zijn per project. Nu zet ik handmatig een versienummer bovenaan het bestand, maar dan moet ik dus weer gaan onthouden welk project nu de nieuwste versie van dat bestand bevat. Soms update ik een class in een project van 1.02 naar 1.03, ga ik naar een ander project en update ik dezelfde class (in een andere map) ook van 1.02 naar 1.03, terwijl ik andere regels code aanpas. Dat werkt dus niet. Eigenlijk wil ik dat als ik een class ga updaten dat elk project dan de nieuwste versie heeft.
Ik heb ook osCommerce aangepast voor een project, en ik zag dat bovenin elk bestand een versienummer en een author staat, zoiets zou ik ook willen. (ik neem aan dat ze dat niet handmatig doen, genereert CVS dat?)
Om zo efficiënt mogelijk te kunnen werken, wil ik de volgende dingen op een rijtje hebben:
- Version control op twee computers
- Mijn lokale webserver kunnen browsen op project, maar dan alleen op de relevante map "Site"
- Ik dacht eerst aan CVS voor version control, toen kwam ik op SubVersion. Aangezien ik Windows gebruik en niet erg bekend ben met al die Linux(-achtige) commando's kwam ik daarna op TortoiseSVN.
Ik snap nu een klein beetje hoe het werkt, maar ik vind het toch nog ERG onduidelijk allemaal, hoe kan ik handig gebruik maken van TortoiseSVN als ik op twee computers werk?
Is er misschien ergens een goeie, duidelijke en makkelijke tutorial te vinden voor het gebruik van TortoiseSVN op Windows? Ik vond er een paar op Google en ik heb die help files doorgenomen, maar daar staat het allemaal zo theoretisch op. Ik hou meer van praktijkgericht denken, geloof ik. - Ik heb gekeken naar de <VirtualHost> opties in Apache, maar volgens mij is dit niet helemaal wat ik zoek... Ik wil dus eigenlijk directories mappen van http://localhost/Test/Site/ naar http://localhost/test/ , zodat ik makkelijker per project een document root kan gebruiken. Nu dus ik namelijk alles relatief. (wat beter is omdat er bij veranderingen in het pad niks ergs gebeurd, maar meer werk en geklooi)