Een Subversion commando die gebruikt wordt om bestanden en mappen toe te voegen aan je werkkopie. De nieuwe objecten worden pas aan het archief toegevoegd als je je wijzigingen vastlegt.
De huidige basis revisie van een bestand of map in je werkkopie. Dit is de revisie van een bestand of map van de laatste ophaal actie, verversing of vastlegging. De BASE revisie is normaal gesproken niet gelijk aan de HEAD revisie (er kunnen in de tussentijd alweer wijzigingen in het archief vastgelegd zijn, waardoor de lokale bestanden achter lopen op de HEAD revisie in het archief).
Dit commando is alleen voor tekstbestanden bedoeld en analyseert elke regel, zodat het aangegeven kan worden in welke revisie van het archief welke auteur welke regel gewijzigd heeft. Onze GUI implementatie heeft TortoiseBlame en deze toont ook de vastleg datum/tijd en het logboek bericht als je je muis boven het revisienummer houdt.
Een term die regelmatig gebruikt wordt bij versiebeheer systemen om aan te geven wat er gebeurt als een ontwikkeling zich op een bepaald moment opsplitst en 2 aparte paden volgt. Je kunt een vertakking maken van de basislijn voor het ontwikkelen van een nieuwe functie, zonder dat de basislijn onstabiel wordt. Of je kunt een stabiele vrijgave vertakken om alleen bug op te lossen, terwijl nieuwe ontwikkelingen plaatsvinden op de onstabiele basislijn (trunk). In Subversion worden takken gemaakt als “goedkope kopieën”.
Een Subversion commando waarmee een lokale werkkopie wordt gemaakt in een lege (lokale) map door de bestanden met versiebeheer uit het archief op te halen.
Om het Subversion boek aan te halen: “Recursief opschonen van de werkkopie, blokkades verwijderen en het afronden van niet afgeronde acties. Als je ooit een werkkopie geblokkeerd foutmelding hebt gehad, gebruik dan dit commando om achtergebleven blokkades te verwijderen en je werkkopie weer in een bruikbare situatie te brengen. ” Merk op dat in deze context geblokkeerd refereert naar een blokkade van het lokale bestandssysteem, niet het plaatsen van blokkades op een archief.
Met dit Subversion commando worden de wijzigingen in je lokale werkkopie naar het archief gestuurd, waardoor een nieuwe revisie in het archief wordt aangemaakt.
Als wijzigingen in het archief worden samengevoegd met je lokale wijzigingen, dan kan het zijn dat er wijzigingen op dezelfde regels zijn doorgevoerd. In zo'n situatie kan Subversion niet automatisch beslissen welke versie gebruikt moet worden en markeert het bestand als in conflict zijnde. Je moet het conflict dan handmatig oplossen (eventueel met behulp van TortoiseMerge), voordat je wijzigingen weer kunt vastleggen.
In een Subversion archief kun je een kopie aanmaken van een enkel bestand of een hele mapstructuur. Deze kopieën worden gemaakt als “goedkope kopieën” wat eigenlijk niet meer is dan het aanmaken van een link naar het origineel, waardoor ze bijna geen extra ruimte in beslag nemen. Bij het maken van een kopie wordt de geschiedenis ook meegenomen, waardoor je de geschiedenis kunt achterhalen van voordat de kopie werd gemaakt.
Als je een object met versiebeheer verwijderd (en deze wijziging vastlegt) zal het object niet langer aanwezig zijn in het archief vanaf deze vastgelegde revisie. Het object is natuurlijk nog wel beschikbaar in het archief voor de oudere revisies, je kunt het dan dus nog steeds terugvinden. Indien nodig, kun je een verwijdert object kopiëren en weer “terughalen” met de complete geschiedenis.
Toont de “Verschillen”, ook bekend als Diff. Erg handig als je wilt zien welke wijzigingen er precies zijn doorgevoerd.
Dit commando levert een kopie op van een map onder versiebeheer, net zoals een werkkopie, maar dan zonder de lokale .svn
mappen.
Een Subversion eigen bestandssysteem voor de backend van archieven. Kan gebruikt worden op netwerkschijven. Standaard voor versie 1.2 en nieuwere archieven.
Groepspolicyobject.
De meest recente revisie van een bestand of map in het archief. Ook bekend als HEAD revisie.
Het Subversion commando voor het in het archief importeren van een complete mapstructuur in één enkele revisie.
Als je een blokkade plaatst op een object met versiebeheer, dan markeer je dit object in het archief als niet-vast-te-leggen, behalve vanuit de werkkopie waar vandaan de blokkade geplaatst is.
Toont de revisiegeschiedenis van een bestand of map. Ook bekend als “Geschiedenis”
Toont de revisiegeschiedenis van een bestand of map. Ook bekend als “Log”
Dit is het proces waarmee je wijzigingen vanuit het archief in jouw lokale werkkopie opneemt, zonder dat de wijzigingen die jij hebt toegepast verstoord worden. Soms kunnen de wijzigingen niet helemaal automatisch samengevoegd worden, waardoor je werkkopie in een zogenoemde conflict status terecht komt.
Samenvoegen vindt automatisch plaats als je je werkkopie ververst. Je kunt ook specifieke wijzigingen samenvoegen vanuit een andere tak met het TortoisSVN Samenvoeg commando.
Als er in een werkkopie alleen wijzigingen in tekstbestanden zijn doorgevoerd, dan is het mogelijk om met het Diff commando van Subversion een enkel bestand te genereren met de wijzigingen in Unified Diff formaat. Een bestand met deze indeling wordt meestel een “Patch” genoemd, kan naar iemand anders (of een maillijst) gestuurd worden en worden toegepast op een werkkopie. Iemand die geen rechten voor het vastleggen heeft, kan zo toch wijzigingen maken en deze in een patch bestand naar iemand sturen die wel rechten heeft. Je kunt de patch ook gebruiken als je je wijzigingen wilt laten nakijken door iemand anders.
Naast het toepassen van versiebeheer voor je mappen en bestanden, geeft Subversion je ook de mogelijkheid om metadata met versiebeheer te gebruiken - aangeduid als “eigenschappen” voor elke map en bestand onder versiebeheer. Elke eigenschap heeft een naam en waarde, net zoals een register sleutel. Subversion maakt intern gebruik van enkele speciale eigenschappen, zoals svn:eol-style
. TortoiseSVN heeft er ook enkele, zoals bijvoorbeeld tsvn:logminsize
. Je kunt ook zelf eigenschappen toevoegen, waarvoor je zelf de naam en waarde kunt kiezen.
Als je archief verhuist, bijvoorbeeld doordat je het verplaatst hebt naar een andere map op je server of het domein van de server is veranderd, moet je je werkkopie de “locatie wijzigen” van je werkkopie. De URL's voor het archief van je werkkopie moeten gaan wijzen naar de nieuwe locatie.
Noot: je moet dit commando alleen gebruiken als het hele archief verhuisd is, terwijl jouw werkkopie nog steeds wijst naar dezelfde locatie in dat archief. In elke andere situatie moet je in plaats hiervan waarschijnlijk het “Wisselen” commando gebruiken.
Een archief is een centrale plaats waar data opgeslagen en beheerd wordt. Een archief kan een plaats zijn waar meerdere databases of bestanden zijn opgeslagen om gedistribueerd te worden over een netwerk. Een archief kan ook een locatie zijn die direct toegankelijk is voor een gebruiker, zonder dat er gegevens over een netwerk verstuurd hoeven te worden (oftewel een locatie op een lokale harde schijf).
Als bestanden in een werkkopie in een conflict situatie zijn achtergebleven na een samenvoegactie, dan moeten die conflicten door een mens opgelost worden door gebruik te maken van een tekstverwerker (of misschien TortoiseMerge). Dit proces wordt “Conflicten Oplossen” genoemd. Als je de conflicten hebt opgelost, dan moet je het conflicterende bestand markeren als Opgelost, waarna de wijzigingen vastgelegd kunnen worden.
Subversion bewaart een lokale “ongewijzigde” kopie van elk bestand, zoals het was op het moment dat je je werkkopie voor het laatst ververste. Als je wijzigingen hebt aangebracht en besluit deze terug te draaien, dan kun je met het commando “Ongedaan maken” gebruiken om de ongewijzigde kopie weer terug te krijgen.
Elke keer dat je een set van wijzigingen vastlegt, maak je een nieuwe “revisie” aan in het archief. Elke revisie geeft de status van de structuur van het archief weer op een zeker moment in de tijd. Als je terug wilt gaan in de tijd, kun je het archief bekijken zoals het was ten tijde van revisie N.
Op een andere manier gezegd, een revisie kan wijzen naar een set van wijzigingen die zijn doorgevoerd toen de revisie aangemaakt is.
Net zoals bestanden eigenschappen kunnen hebben, kan elke revisie in het archief ook eigenschappen hebben. Enkele speciale revprops worden automatisch toegevoegd als de revisie gemaakt wordt, namelijk: svn:date svn:author svn:log
respectievelijk de datum en tijd van de vastlegging, degene die de vastlegging uitvoerde en het logboek bericht. Deze eigenschappen kunnen bewerkt worden, maar deze wijzigingen worden niet met versiebeheer gevolgd. Elke wijziging aan zo'n eigenschap is dus permanent en kan niet ongedaan gemaakt worden.
Een veelgebruikte afkorting voor Subversion
De naam van het Subversion eigen protocol wat gebruikt wordt door “svnserve”, de archief server.
Met “Verversen-naar-revisie” kun je je werkkopie de status/inhoud geven zoals de informatie beschikbaar was op een ander moment in de tijd, zo kun je met“Wisselen” je werkkopie naar een ander deel van het archief laten kijken wat inhoud betreft. Dit is vooral handig als je aan de basislijn en takken werkt, waarbij er maar enkele bestanden verschillend zijn. Je kunt dan je werkkopie wisselen tussen de twee, terwijl alleen de gewijzigde bestanden verstuurd worden.
Dit Subversion commando haalt de laatste wijzigingen op uit het archief naar je werkkopie, terwijl het wijzigingen van anderen samenvoegt met jouw lokale wijzigingen in je werkkopie.
Dit is je lokale “zandbak”, de omgeving waar je aan je bestanden met versiebeheer werkt en welke normaal gesproken op je lokale harde schijf is opgeslagen. Je maakt een werkkopie aan door het “Ophalen” van de bestanden uit een archief. Je wijzigingen sla je ook weer in het archief op door het “Vastleggen” van je gewijzigde bestanden.