Ik'heb deze woorden veel gezien in Subversion (en ik denk algemene repository) discussies. Ik heb SVN de laatste jaren gebruikt voor mijn projecten, maar ik'heb nooit het volledige concept van deze mappen begrepen.
Wat betekenen ze?
In SVN zijn een tag en een branch eigenlijk hetzelfde.
Tag = een gedefinieerde periode in de tijd, meestal gebruikt voor releases
Branch = ook een gedefinieerd stuk in de tijd waarop de ontwikkeling door kan gaan, meestal gebruikt voor grote versies zoals 1.0, 1.5, 2.0, etc, en als je vrijgeeft tag je de tak. Dit staat je toe om een productie-release te blijven ondersteunen terwijl je verder gaat met het maken van wijzigingen in de basislijn
Trunk = werkruimte voor ontwikkeling, dit is waar alle ontwikkeling zou moeten gebeuren, en dan worden wijzigingen samengevoegd vanuit de tak-releases.
Ze hebben niet echt een formele betekenis. Een map is een map voor SVN. Ze zijn een algemeen geaccepteerde manier om je project te organiseren.
De basislijn is waar je je hoofdlijn van ontwikkeling bewaart. De tak map is waar je takken maakt, nou ja, takken, die moeilijk uit te leggen zijn in een korte post.
Een tak is een kopie van een subset van je project waar je apart van de basislijn aan werkt. Misschien is het voor experimenten die misschien nergens toe leiden, of misschien is het voor de volgende uitgave, die je later weer samenvoegt in de basislijn wanneer het stabiel wordt.
En de tags map is voor het maken van gelabelde kopieën van je archief, meestal op release checkpoints.
Maar zoals ik al zei, voor SVN, is een map een map. Branch', `trunk' en tag zijn gewoon een conventie.
Ik'gebruik het woord 'copy' vrijelijk. SVN maakt niet echt volledige kopieën van dingen in de repository.
De trunk map is de map waar je waarschijnlijk het meest bekend mee bent, omdat het gebruikt wordt om de meest recente wijzigingen in te bewaren. Je belangrijkste codebase zou in trunk moeten zitten.
De branches map is voor het bewaren van je branches, wat ze ook mogen zijn.
De tags map is in principe voor het labelen van een bepaalde set van bestanden. Je doet dit voor dingen als releases, waar je wilt dat "1.0" deze bestanden zijn bij deze revisies en "1.1" deze bestanden zijn bij deze revisies. Gewoonlijk wijzigt u geen tags als ze eenmaal zijn gemaakt. Voor meer informatie over tags, zie Hoofdstuk 4. Takken en samenvoegen (in Versiebeheer met Subversion).