Bijlage F. Implementatie details

Inhoudsopgave

Overlappende Pictogrammen

Deze bijlage bevat een gedetaileerde verhandeling over de implementatie van enkele mogelijkheden van TortoiseSVN.

Overlappende Pictogrammen

Ieder bestand en map heeft een Subversion statuswaarde zoals gerapporteerd door de Subversion bibliotheek. In de commandoregel client worden deze vertegenwoordigd door enkelvoudige karakter codes, maar in TortoiseSVN worden ze grafisch als een overlappend pictogram weergegeven. Omdat het aantal overlappende pictogrammen erg beperkt is, vertegenwoordigd elk overlappend pictogram één van meerdere statuswaarden.

Het Conflicterend overlappende pictogram vertegenwoordigt de conflict status, waar een bijwerking of wisseling leidt tot conflicten tussen locale wijzigingen en wijzigingen welke vanuit het archief zijn binnen gehaald. Het wordt ook gebruikt om de belemmering status aan te duiden, welke zich kan voordoen wanneer een activiteit niet kan worden voltooid.

Het Aangepast overlappende pictogram vertegenwoordigd de aangepast status, waar u locale wijzigingen heeft aangebracht, de samengevoegd status, waar wijzigingen vanuit het archief zijn samengevoegd met de locale wijzigingen en de vervange status, waar een bestand is verwijderd en vervangen door een ander bestand met dezelfe naam.

Het Verwijderd overlappende pictogram vertegenwoordigd de verwijderd status, waar een item is klaargezet voor verwijdering, of de ontbrekend status, waar een item niet aanwezig is. Een item dat ontbreekt kan zelf natuurlijk geen overlappend pictogram bezitten, maar de bovenliggende map kan worden gemarkeerd wanneer een van de onderliggende items ontbreekt.

Het Toegevoegd overlappende pictogram vertegenwoordigd de toegevoegd status wanneer een item is toegevoegd aan versiebeheer.

Het In Subversion overlappende pictogram wordt gebruikt om een item te vertegenwoordigen dat zich in de normaal status bevindt, of een item onder versiebeheer waarvan de status nog niet bekend is. Omdat TortoiseSVN een cacheproces op de achtergrond gebruikt om de status te vergaren, kan het enige seconden in beslag nemen voordat de overlappende pictogrammen worden bijgewerkt.

The Needs Lock overlay is used to indicate when a file has the svn:needs-lock property set.

Het Vergrendeld overlappende pictogram wordt gebruikt wanneer de locale werkkopie een vergrendeling op het betreffende bestand heeft.

Het Genegeerd overlappende pictogram wordt gebruikt om een item te vertegenwoordigen dat zich in de genegeerd status bevindt door een globaal ingesteld negeren patroon, of door de svn:ignore eigenschap van de bovenliggende map. Dit overlappende pictogram is optioneel.

Het Niet onder versiebeheer overlappende pictogram wordt gebruikt om een item te vertegenwoordigen dat zich in de niet onder versiebeheer status bevindt. Dit is een item in een map onder versiebeheer, maar zelf niet onder versiebeheer valt. Dit overlappende pictogram is optioneel.

If an item has Subversion status none (the item is not within a working copy) then no overlay is shown. If you have chosen to disable the Ignored and Unversioned overlays then no overlay will be shown for those files either.

Een item kan slechts één Subversion statuswaarde hebben. Een bestand kan bijvoorbeeld locaal zijn aangepast en op het zelfde moment zijn gemarkeerd voor verwijdering. Subversion geeft één enkele statuswaarde - in dit geval verwijderd. Deze prioriteiten worden in Subversion zelf gedefinieerd.

Als TortoiseSVN de status recursief toont (standaard instelling), toont elke map een overlappend pictogram dat zijn eigen status en dat van de onderliggende sub-mappen weergeeft. Om een enkel samenvattend overlappende pictogram te tonen gebruiken we bovenstaande volgorde in prioriteit om te bepalen welk overlappend pictogram moet worden gebruikt, waarbij het Conflicterend overlappende pictogram de hoogste prioriteit heeft.

In fact, you may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. If there are not enough overlay slots available, TortoiseSVN tries to be a Good Citizen (TM) and limits its use of overlays to give other apps a chance.

Since there are Tortoise clients available for other version control systems, we've created a shared component which is responsible for showing the overlay icons. The technical details are not important here, all you need to know is that this shared component allows all Tortoise clients to use the same overlays and therefore the limit of 11 available slots isn't used up by installing more than one Tortoise client. Of course there's one small drawback: all Tortoise clients use the same overlay icons, so you can't figure out by the overlay icons what version control system a working copy is using.

  • Normaal, Aangepast en Conflicterend worden altijd geladen en zijn zijn altijd zichtbaar.

  • Verwijderd wordt indien mogelijk geladen, maar valt terug naar Aangepast als er niet genoeg ingangen zijn.

  • Alleen-lezen wordt indien mogelijk geladen, maar valt terug op Normaal als er niet genoeg ingangen zijn.

  • Locked is loaded if possible, but falls back to Normal if there are not enough slots.

  • Added is loaded if possible, but falls back to Modified if there are not enough slots.