Rst2HTML nabewerking

Om een beetje in de gaten te houden wat er allemaal veranderd is sinds de laatste keer dat ik iets naar mijn website(s) heb ge-upload heb ik een functie gemaakt die bestanden kopieert naar een aparte directory op de mirror locatie en ze tegelijkertijd aan een Mercurial repository toevoegt. Zo weet ik dat ik alleen wat op die locatie staat nog ge-FTP'd moet worden.

Ik heb dat proces heel origineel "stagen" genoemd en de te gebruiken directory ".staging" en er een commando voor gemaakt binfab www.stage dat begint met uit te zoeken welke bestanden er nog niet (in hun laatste versie) naar de repository zijn overgezet.

stage-help.png

Je kunt kiezen om alles over te zetten dat gewijzigd of nieuw is, alleen nieuwe bestanden of alleen gewijzigde en zelfs een enkel bestand. De functie kan ook gestart worden met een "list" optie om te zien wat er gaat gebeuren:

stage-list-output.png

Bij het aanroepen zonder de list optie worden de gewenste bestanden gekopieerd naar de staging area en krijg je de vraag om een titel op te geven voor de uit te voeren commit:

commit-dialog.png

Het is in dit stadium nog mogelijk om het proces te beƫindigen door de dialoog af te breken (het gebeurt ook als je de tekst leeg laat). de verwerking stopt dan met de melding "Afgebroken".

Na invullen van een tekst en de dialoog bevestigen worden de bestanden gecommit en krijg je een resultaatmelding:

stage-output.png

Je kunt nu de bestanden die in de staging area zitten met FTP kopiƫren naar de live site.

Wil je eerst nog bekijken wat er inmiddels allemaal in de stage area zit zonder een file manager te gebruiken dan kun je het volgende commando gebruiken:

binfab www.list-staged <sitename> [--full]

Standaard toont dit de bestanden in de hoofddirectory en de aantallen bestanden in de subdirectories, wil je die meegelijst zien dan moet je de "full" optie gebruiken

list-staged.png list-staged-full.png

Het is de bedoeling om als de bestanden gekopieerd zijn naar de live site de staging area leeg te maken (helemaal verwijderen mag ook, als het nodig is wordt-ie opnieuw aangemaakt), dit zorgt er tevens voor dat de volgende aanvullingen niet in dezelfde commit terecht komen (tenzij je dat wilt: zie verderop). Je kunt daarvoor dit commando gebruiken:

binfab www.clear-staged

Het is niet per se nodig om na elke keer stagen alles naar de live site te zetten; je kunt het stagen ook gebruiken om een tussenresultaat weg te zetten en door te gaan met aanpassingen doen. In dat geval worden de bestanden die je de volgende keer staget toegevoegd aan de commit, wat je kunt zien aan de dialoog voor de commit message, die de bestaande tekst toont zodat je die eventueel kunt wijzigen:

commit-dialog-existing.png