Je Wijzigingen Vastleggen In Het Archief

Het versturen van de wijzigingen die jij hebt gedaan, staat bekend als vastleggen van de wijzigingen. Voordat je je wijzigingen vastlegt, moet je zekerstellen dat je werkkopie bijgewerkt is naar de laatste stand van zaken. Dit kun je doen door TortoiseSVNVerversen te kiezen. Je kunt ook eerst TortoiseSVNKijk of er updates zijn gebruiken, om te bekijken welke bestanden er lokaal en op de server gewijzigd zijn.

De Commit Dialoog

Als je werkkopie helemaal bij is en er zijn geen conflicten, dan ben je klaar om je wijzigingen vast te leggen. Selecteer de bestanden en mappen die je wilt vastleggen en kies TortoiseSVNVastleggen....

Afbeelding 4.7. De Commit dialoog

De Commit dialoog


De vastleggen dialoog geeft elk gewijzigd bestand weer, inclusief toegevoegde, verwijderde en bestanden zonder versiebeheer. Deselecteer een gewijzigd bestand, als je deze niet wilt vastleggen. Als je een bestand zonder versiebeheer in het archief wilt opnemen, dan kun je deze direct aanvinken zodat deze ook vastgelegd wordt.

To quickly check or uncheck types of files like all versioned files or all modified files, click the link items just above the list of shown items.

For information on the coloring and overlays of the items according to their status, please see de paragraaf met de naam “Lokale en Server Status”.

Objecten die verplaatst zijn naar een andere archieflocatie worden aangeduid met een (s) teken. Het kan zijn dat je omgeschakeld bent terwijl je werkte aan een tak en vergeten was om terug te schakelen naar de basislijn. Dit is je waarschuwing!

Bestanden of mappen vastleggen?

Als je bestanden vastlegt, dan zal de vastleggen dialoog alleen de bestanden laten zien die je geselecteerd hebt. Als je een map vastlegt, dan zal de vastleggen dialoog de gewijzigde bestanden automatisch selecteren. Als je een nieuw aangemaakt bestand vergeten bent, dan wordt deze automatisch gevonden als je een map vastlegt. Het vastleggen van een map betekend niet dat elk bestand als gewijzigd wordt aangeduid; het wordt alleen maar eenvoudiger voor doordat het je werk uit handen neemt.

Veel bestanden zonder versiebeheer in de vastleggen dialoog.

Als je vindt dat het vastleggen venster te veel bestanden zonder versiebeheer weergeeft (bijv. reservekopie bestanden van de compiler of tekstverwerker), dan zijn daar verschillende oplossingen voor. Je kunt:

  • het bestand (of een wildcard extensie) toevoegen aan de lijst met de te negeren bestanden op de instellingen pagina. Dit zal op elke werkkopie die je hebt worden toegepast.

  • het bestand toevoegen aan de literal>svn:ignore met TortoiseSVNVerwijder en voeg toe aan negeerlijst . Dit zal alleen de mappen raken waarvoor de svn:ignore eigenschap is ingesteld. Met het SVN Eigenschappen venster kun je de svn:ignore eigenschap van een map aanpassen.add the file to the svn:global-ignores list using TortoiseSVNAdd to ignore list (recursively) This will affect the directory on which you set the svn:global-ignores property and all subfolders as well.

Dubbelklikken op een gewijzigd bestand in het vastleggen venster zal het externe vergelijkingsprogramma opstarten om jouw wijzigingen te laten zien. Het context menu zal je meer opties geven, zoals weergegeven in de screenshot. Je kunt ook bestanden hier vandaan verslepen naar andere programma’s zoals een tekstverwerker of IDE.

Je kunt objecten selecteren en de-selecteren door op het selectievak links ervan te klikken. Bij mappen kun je Shift-selecteren gebruiken om de actie recursief te maken.

De kolommen in het onderste venster kunnen aangepast worden. Als je met rechts klikt op de koptekst van een kolom, dan wordt er een context menu weergegeven waarmee je kunt selecteren welke kolommen er getoond moeten worden. Je kunt ook de breedte van de kolommen aanpassen door de overgang tussen twee kolommen in het koptekst van de kolommen te verslepen. De aanpassingen worden opgeslagen, waardoor je de volgende keer dezelfde weergave weer terugkrijgt.

Als je een vastlegging opstart, wordt standaard alle blokkades die jij gezet hebt op bestanden verwijderd nadat de vastlegging succesvol is afgerond. Als je deze blokkades wilt behouden, zorg er dan voor dat het Blokkades behouden selectievak is aangekruist. De standaard status van deze optie wordt gelezen uit de no_unlock optie in het Subversion configuratiebestand. Lees de paragraaf met de naam “Algemene instellingen” voor informatie over hoe je het configuratiebestand kunt aanpassen.

Warning when committing to a tag

Usually, commits are done to the trunk or a branch, but not to tags. After all, a tag is considered fixed and should not change.

If a commit is attempted to a tag URL, TortoiseSVN shows a confirmation dialog first to ensure whether this is really what is intended. Because most of the time such a commit is done by accident.

However, this check only works if the repository layout is one of the recommended ones, meaning it uses the names trunk, branches and tags to mark the three main areas. In case the setup is different, the detection of what is a tag/branch/trunk (also known as classification patterns), can be configured in the settings dialog: de paragraaf met de naam “Revisie Grafiek Instellingen”

Slepen en Plaatsen

Je kunt bestanden van een andere locatie naar het vastleggen venster slepen, als de werkkopieën maar in het zelfde archief zitten. Bijvoorbeeld, je hebt een enorm grote werkkopie met meerdere windows verkenners open om verschillende mappen in de hiërarchie te bekijken. Als je niet vanaf je hoofdmap wilt vastleggen (met een langdurende zoektoch naar alle wijzigingen), dan kun je het vastleggen venster openen op één map en bestanden vanaf een andere locatie in het venster slepen, zodat het in één actie meegenomen wordt bij het vastleggen.

Je kunt bestanden zonder versiebeheer in de werkkopie ook naar het vastleggen venster slepen, dan worden deze automatisch in SVN opgeslagen.

Dragging files from the list at the bottom of the commit dialog to the log message edit box will insert the paths as plain text into that edit box. This is useful if you want to write commit log messages that include the paths that are affected by the commit.

Externe Hernoemingen Repareren

Soms worden bestanden hernoemt buiten Subversion, waardoor deze bestanden in de lijst weergegeven worden als missend of zonder versiebeheer. Om te voorkomen dat je de geschiedenis verliest, moet je Subversion vertellen dat er een verbinding is. Selecteer de oude (missende) naam en de nieuwe nieuwe en gebruik Context MenuRepareer Verplaatsing om de bestanden aan elkaar te koppelen als hernoemden.

Herstellen van Bestandhernoemingen bij externe kopieën

Als je een kopie van een bestand hebt gemaakt en vergeten bent om het Subversion commando te gebruiken, dan kun je dat repareren om te ervoor te zorgen dat de geschiedenis niet verloren gaat. Selecteer de oude (normaal of gewijzigde) en de nieuwe naam (zonder versiebeheer) en gebruik Context MenuRepareer Kopieer-actie om de twee bestanden aan elkaar te koppelen als kopie.

Werksets

Het vastleggen venster ondersteunt de werkset functie van Subversion om te helpen bij het groeperen van gerelateerde bestanden. Lees meer over deze functie in de paragraaf met de naam “Werksets”.

Alleen delen van bestanden inchecken

Sometimes you want to only commit parts of the changes you made to a file. Such a situation usually happens when you're working on something but then an urgent fix needs to be committed, and that fix happens to be in the same file you're working on.

right click on the file and use Context MenuRestore after commit. This will create a copy of the file as it is. Then you can edit the file, e.g. in a text editor and undo all the changes you don't want to commit. After saving those changes you can commit the file.

Het gebruiken van TortoiseMerge

If you use TortoiseMerge to edit the file, you can either edit the changes as you're used to, or mark all the changes that you want to include. right click on a modified block and use Context MenuMark this change to include that change. Finally right click and use Context MenuLeave only marked changes which will change the right view to only include the changes you've marked before and undo the changes you have not marked.

After the commit is done, the copy of the file is restored automatically, and you have the file with all your modifications that were not committed back.

Objecten van de vastleggingslijst uitsluiten

Soms heb je bestanden met versiebeheer die regelmatig wijzigen, maar die je eigenlijk niet wilt vastleggen. Dit kan er op duiden dat je een zwak punt heb in je bouwproces – waarom zitten die bestanden in versiebeheer? Zou je sjablonen moeten gebruiken? Soms is het gewoon onoverkomelijk. Een klassieke reden is dat je IDE de tijdstempel wijzigt elke keer als je het bouwproces hebt doorlopen. Het projectbestand moet wel in subverion komen, omdat het je instellingen bevat, maar het is niet nodig om deze elke keer vast te leggen als de alleen de tijdstempel is gewijzigd.

Om je uit dit soort vervelende situaties te helpen, hebben we een werkset gemaakt met de naam ignore-on-commit (negeren-bij-vastleggen). Elk bestand dat op deze lijst staat, zal automatisc gedeselecteerd worden in het vastleggen venster. Je kunt wijzigingen nog steeds wel vastleggen, maar je moet de bestanden dan handmatig selecteren in het vastleggen venster.

Vastleg Log Meldingen

Zorg er voor dat je een log bericht invult, welke de wijzigingen beschrijft die je doorgevoerd hebt. Dit helpt om te bepalen wat er wanneer gewijzigd is als je op een later moment door de log berichten bladert. Het bericht kan zo kort of lang zijn als je wilt; bij veel project is gedefinieerd wat je er in moet zetten, welke taal je moet gebruiken en soms zelfs een strakke formattering.

Je kunt je tekst eenvoudig opmaken door gebruik te maken van stijlregels die lijken op de regels van emails. Om stijlen toe te passen op tekst, gebruikt *tekst* voor vet, _tekst_ voor onderstrepen en ^tekst^ voor cursief.

Afbeelding 4.8. De Vastleggen Dialoog Spellingscontrole

De Vastleggen Dialoog Spellingscontrole


TortoiseSVN bevat spellingscontrole om je te helpen berichten te maken zonder typefouten. Verkeerd gespelde woorden worden gemarkeerd. Gebruik het context menu om de suggesties te bekijken. Natuurlijk is niet technische technische term die je kent bekend, waardoor correct gespelde worden soms worden aangeduid als verkeerd gespeld. Maak je geen zorgen. Je kunt deze toevoegen aan je persoonlijke woordenboek via het context menu.

The log message window also includes a filename and function auto-completion facility. This uses regular expressions to extract class and function names from the (text) files you are committing, as well as the filenames themselves. If a word you are typing matches anything in the list (after you have typed at least 3 characters, or pressed Ctrl+Space), a drop-down appears allowing you to select the full name. The regular expressions supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own regexes and store them in %APPDATA%\TortoiseSVN\autolist.txt. Of course your private autolist will not be overwritten when you update your installation of TortoiseSVN. If you are unfamiliar with regular expressions, take a look at the introduction at https://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/.

Het kan best lastig zijn om de regex precies goed te krijgen. Om je te helpen bij het vinden van een passende expressie, is er een venster waarin je een expressie kunt typen en vervolgens de bestanden waarop deze getest moeten worden. Start deze vanaf een opdrachtprompt met het commando <literal>TortoiseProc.exe /command:autotexttest</literal>

The log message window also includes a commit message snippet facility. These snippets are shown in the autocomplete dropdown once you type a snippet shortcut, and selecting the snippet in the autocomplete dropdown then inserts the full text of the snippet. The snippets supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own snippets and store them in %APPDATA%\TortoiseSVN\snippet.txt. # is the comment character. Newlines can be inserted by escaping them like this: \n and \r. To insert a backslash, escape it like this: \\.

Je kunt eerder gebruikte log berichten hergebruiken. Klik hiervoor op Recente boodschappen. Je kunt dan de laatste paar berichten die je gebruikt hebt bij deze werkkopie zien. Het aantal opgeslagen berichten kan aangepast worden in het TortoiseSVN instellingen venster.

Je kunt alle opgeslagen vastleggingsberichten wissen bij de Opgeslagen gegevens pagina van TortoiseSVN’s instellingen. Je kunt ook individuele berichten wissen vanuit het Recente boodschappen venster door op de Delete knop te drukken.

Met het commando Context MenuPlak lijst bestandsnamen kun je de gemarkeerde paden in het bericht invoegen.

Een andere methode voor het invoegen van de paden is door de bestanden te slepen van de bestandslijst naar het bewerk venster.

Speciale Map Instellingen

Er zijn verschillende speciale mapeigenschappen, waarmee er meer controle gekregen wordt over de formattering van vastleggingsberichten en de taal van de spellingscontrole. Lees voor meer informatie de paragraaf met de naam “Project Instellingen”.

Integratie met Bug Tracking Programma's

Als het bug tracking systeem hebt geactiveerd, dan kun je één of meerdere Problemen in het Bug-ID / Issue-Nr: tekstveld invullen. Meerdere problemen moeten gescheiden worden door komma’s. Als je gebruik maakt van gebruikelijke expressies bij Bug tracking, voeg dan je referenties toe als onderdeel van het log bericht. Voor meer informatie: de paragraaf met de naam “Integratie met Bug Tracking Systemen / Issue Trackers”.

Vastlegging voortgang

Na het drukken op de OK knop zal een venster verschijnen met de voortgang van de vastlegging.

Afbeelding 4.9. Het voortgangsvenster geeft de voortgang van een vastlegging weer

Het voortgangsvenster geeft de voortgang van een vastlegging weer


Het voortgangsvenster gebruikt kleurcodering om de verschillende vastleggingsacties weer te geven.

Blauw

Vastleggen van een wijziging.

Paars

Een nieuwe toevoeging committen.

Donker rood

Vastleggen van een verwijdering of vervanging.

Zwart

Alle andere items.

Dit is het standaard kleurenschema, maar je kunt deze naar je eigen wensen aanpassen in het instellingen venster. Lees voor meer informatie de paragraaf met de naam “TortoiseSVN kleurinstellingen”.