Branching in TFS Source Control

Pagina: 1
Acties:

  • Canaria
  • Registratie: Oktober 2001
  • Niet online

Canaria

4313-3581-4704

Topicstarter
Momenteel ben ik bezig met het opnieuw indelen van een aantal SSRS projects op de TFS. Het verplaatsen van de huidige rapporten naar de nieuwe locatie op de TFS is geen optie, dus het zal moeten gebeuren door middel van het kopiëren van de bestaande rapporten naar de nieuwe locatie.

Ik heb in VS2005 een nieuwe solution aangemaakt met daarin drie nieuwe Report Server Projects. Deze solution heb ik toegevoegd aan TFS Source Control, maar nog niet direct ingecheckt.

Eerst heb ik branches van de bestaande reports gemaakt met als target de nieuw aangemaakte Report Projects. Er is voor zover ik kon ontdekken geen 'copy' functionaliteit aanwezig, maar volgens MSDN moet een branch hetzelfde effect opleveren:
Branching in Team Foundation source control is analogous to a file system copy operation. Branching will preserve the history of the folders and files that you are branching and will allow changes to be merged from the old files to the new ones.
Branching ging goed, de rapporten werden gekopieerd en de bestaande history werd meegekopieerd. Nadat alle rapporten naar de nieuwe locatie waren gekopieerd heb ik in een keer alle wijzigingen (add voor de drie nieuwe projecten, branch voor de rapporten) ingecheckt.

Het vreemde is dat sinds het inchecken de history is verdwenen! Als ik bij een gekopieerd rapport kijk, staat als enige changeset de branch, terwijl het rapport al een hele change history had.
De enige manier om alsnog bij de history te komen is door te linken naar de history van het oorspronkelijke rapport, maar het is dus de bedoeling dat die originelen op de 'oude' locatie van de TFS worden verwijderd zodra de nieuwe indeling in gebruik wordt genomen.

De history van de rapporten is onmisbaar, dus hoop ik dat iemand een oorzaak dan wel oplossing voor dit verschijnsel kan noemen.

Apparticle SharePoint | Apps | Articles


Verwijderd

Volgens mij werkt het zo:
Je hebt je originele branch (laten we die versie 1.0 noemen).
Je maakt een nieuwe branch (versie 2.0).

Versie 2.0 is dus een eigen nieuw project, zonder historie.
Als je in versie 2.0 incheckt, dan komt ie daar in de historie terecht.
Als je nu in versie 1.0 een wijziging maakt (om een bug/hot fix te maken ofzo) en incheckt, dan kan je die changeset pushen naar versie 2.0 (en wordt daar een nieuwe changeset en komt dus in de historie terecht). Dezelfde change komt dan in beide branches (maar is een andere changeset).

Beide branches hebben tot doel hun eigen versie bij te houden, en kunnen geen historie sharen. De historie van je originele rapporten hoort immers bij versie 1.0 en niet bij 2.0.

[ Voor 22% gewijzigd door Verwijderd op 02-02-2007 18:29 ]