Sdílet prostřednictvím


Upgrade z Visual SourceSafe s použitím nástroje VSSUpgrade pro příkazový řádek

K upgradu dat aplikace Visual SourceSafe byste ve většině případů měli použít Průvodce upgradem VSS místo nástroje příkazového řádku VssUpgrade.V několika situacích však k upgradu na místní server Team Foundation Server (TFS) můžete použít nástroj příkazového řádku VssUpgrade.

Upgrade dat aplikace Visual SourceSafe pomocí nástroje VSSUpgrade

  1. Zjistěte, jak tento nástroj převede vaše data: Server TFS a aplikace Visual SourceSafe mají významné funkční rozdíly.Nástroje pro upgrade aplikace Visual SourceSafe v důsledku toho během upgradu změní některé typy dat.

  2. Připravte se na upgrade: Před zahájením upgradu je důležité plánovat dopředu a připravit data.

    Důležitá poznámkaDůležité

    Než budete pokračovat, musíte v úložišti aplikace Visual SourceSafe spustit nástroj ANALYZE.Viz Kopírování a příprava databáze aplikace Visual SourceSafe.

  3. Poznejte jedinečné funkce nástroje VssUpgrade:Pokud je nepotřebujete, pak byste raději měli použít Průvodce upgradem VSS.

  4. Analyzujte data: Před upgradem dat z aplikace Visual SourceSafe na Team Foundation – správa verzí je třeba pomocí příkazu Analyze zjistit, zda výsledek upgradu nebude ovlivněn nějakými problémy v datech.Tento proces také vygeneruje soubor mapování uživatelů, který je potřebný k upgradu dat.

  5. Upgradujte data: Při upgradu dat musíte určit, jak se mají upgradovat uživatelská jména, vytvořit soubor s nastavení příkazu Migrate a pak spustit příkaz Migrate.

  6. Zobrazte a ověřte výsledky a vyřešte případné problémy.

Funkce nástroje VssUpgrade

Nástroj VssUpgrade použijte, pokud chcete data upgradovat a přenést do místního týmového projektu a:

  • Provést upgrade jako součást automatizovaného postupu, například skriptu

  • Migrovat několik projektů Visual SourceSafe do jednoho týmového projektu pomocí zadané struktury složek

  • Určit, jak se mají převést data o uživatelích, například z Kim v aplikaci Visual SourceSafe na EUROPE\KimT na serveru TFS

  • Ignorovat popisky v datech aplikace Visual SourceSafe

  • Obnovit proces, pokud se přerušil při upgradu velkého množství dat, například z důvodu chyby sítě

Pokud nepotřebujete žádnou z těchto funkcí nebo pokud potřebujete data upgradovat a přenést do týmového projektu v sadě Visual Studio Online, měli byste místo nástroje VssUpgrade použít Průvodce upgradem VSS.

Analýza dat

Před upgradem dat z aplikace Visual SourceSafe na správu verzí serveru TFS musíte nejprve pomocí příkazu Analyze určit, zda výsledek upgradu nebude ovlivněn nějakými chybami v datech.Tento příkaz také vygeneruje soubor mapování uživatelů, který příkaz Migrate používá k upgradu dat.

Vytvoření souboru s nastavením příkazu Analyze

Před spuštěním příkazu Analyze musíte vytvořit soubor s nastavením tohoto příkazu.V tomto souboru zadáte cestu k databázi aplikace Visual SourceSafe, kterou budete aktualizovat, a složky, které chcete upgradovat.

Následující kód XML je příkladem souboru s nastavením příkazu Analyze.

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
     <Source name="VSS">
          <VSSDatabase name="c:\ourvss"></VSSDatabase>
          <UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
          <SQL Server="SQLInstanceName"></SQL>
     </Source>
     <ProjectMap>
          <Project Source="$/Core"></Project>
          <Project Source="$/ProjectA"></Project>
          <Project Source="$/ProjectB"></Project>
     </ProjectMap>
</ConverterSpecificSetting>
<Settings>
     <Output file="c:\ourvss\migrate\logs\ContosoVSSAnalyze.xml"></Output>
</Settings>
</SourceControlConverter>

Předchozí příklad můžete zkopírovat, vložit ho do vlastního souboru s nastavením příkazu Analyze a následně ho změnit.Následující informace vám tento příklad pomohou přizpůsobit vašim potřebám.

Atribut &lt;?xml encoding&gt;

Atribut <?xml encoding> musí odpovídat kódování, které se používá v souboru s nastavením příkazu Analyze.Pokud je soubor uložen například ve formátu Unicode, vypadá značka <?xml encoding> takto:

<?xml version="1.0" encoding="unicode">

Atribut &lt;VSSDatabase name&gt;

Do atributu <VSSDatabase name> zadejte cestu ke složce, která obsahuje soubor srcsafe.ini upgradované kopie databáze aplikace Visual SourceSafe.Příklad:

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss"></VSSDatabase>
   ...
</Source>

Cesta nesmí obsahovat řetězec srcsafe.ini.Například následující atribut <VSSDatabase name> je nesprávný a způsobí selhání nástroje VssUpgrade:

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss\srcsafe.ini"></VSSDatabase>
   ...
</Source>

Atribut &lt;UserMap name&gt;

Příkaz Analyze shromáždí a zkompiluje data o uživatelích aplikace Visual SourceSafe a uloží je do souboru XML.Volitelně můžete do atributu <UserMap name> zadat cestu a název souboru, kam chcete tato data uložit.Pokud tento atribut nezadáte, vytvoří příkaz Analyze soubor s názvem UserMap.xml a umístí ho do aktuálního adresáře.

Sekce &lt;ProjectMap&gt;

V sekci <ProjectMap> zadejte do atributu Source položky <Project> cestu k jednotlivým projektům aplikace Visual SourceSafe, které chcete upgradovat.

Chcete-li upgradovat všechna data v databázi aplikace Visual SourceSafe, zajistěte, aby se sekce <ProjectMap> shodovala s následujícím příkladem:

<ProjectMap>
   <Project Source="$/"></Project>
</ProjectMap>

Namísto upgradu celé databáze aplikace Visual SourceSafe najednou můžete vybrané projekty upgradovat postupně.

Tip

Tuto možnost použijte, chcete-li při upgradu velkého množství dat zabránit zablokování svého týmu.

Cesty v atributech Source se nesmí překrývat.Například následující sekce <ProjectMap> není platná:

<ProjectMap>
   <Project Source="$/ProjectA"></Project>
   <Project Source="$/ProjectA/Controller"></Project>
</ProjectMap>

Atribut &lt;Output file&gt;

V sekci <Settings> můžete do atributu <Output file> zadat cestu a název souboru, kam chcete uložit zprávu o analýze.Pokud tuto možnost nechcete určit, můžete značku <Output> vynechat.V takovém případě konvertor uloží sestavu do souboru s názvem VSSAnalysisReport.xml a umístí ho do aktuálního adresáře.

Element &lt;SQL&gt;

Přidáním elementu <SQL> do sekce <Source> souboru s nastavením příkazu Analyze musíte pro nástroj VssUpgrade určit databázi, kterou má použít k uložení dočasných dat.Tento element má následující syntaxi: <SQL Server="SQL_Server_name"></SQL>.

Pokud příkaz VssUpgrade spouštíte například v počítači s názvem FABRIKAM-2 a chcete použít místní instanci systému SQL Server Express ve stejném počítači:

<Source name="VSS">
   ...
   <SQL Server="fabrikam-2\sqlexpress"></SQL>
   ...
</Source>

Chcete-li, aby konvertor použil SQL Server, například s názvem FabrikamSQLServer:

<Source name="VSS">
   ...
   <SQL Server="fabrikamsqlserver"></SQL>
   ...
</Source>

Spuštění příkazu Analyze

  1. V nabídce Start systému Windows spusťte příkazový řádek jako správce.

  2. V okně Administrator: Příkazový řádek zadejte tento příkaz:

    VssUpgrade Analyze settings.xml

    Nahraďte settings.xml cestou a názvem souboru s nastavením příkazu Analyze, který jste vytvořili.

  3. Po zobrazení výzvy zadejte heslo správce databáze aplikace Visual SourceSafe.Pokud databáze nemá žádné heslo, stiskněte klávesu ENTER.

Nástroj VssUpgrade zobrazuje probíhající stav příkazu Analyze.Po dokončení procesu se zobrazí souhrnné výsledky.Příklad:

Analyze complete.
Analyzed 859 files and 941 folders.
Warnings 0 and Errors 0
Pre-migration report file: C:\VSS\migrate\VSSAnalysisReport.xml

Pokud se vyskytly nějaké chyby nebo upozornění, najdete o nich podrobnosti v souborech ConverterErrors.txtVSSUpgrade.log.

Příkaz Analyze vygeneruje:

  • Zprávu, ve které najdete podrobné informace o možných problémech a změnách, které může příkaz Migrate způsobit

  • Soubor mapování uživatelů (Usermap.xml), s jehož pomocí můžete určit, jak budou během upgradu převedena data o uživatelích

Tyto soubory jsou podrobněji vysvětleny níže.

Kontrola a vyřešení problémů nalezených příkazem Analyze

Zpráva o analýze obsahuje informace o problémech v databázi aplikace Visual SourceSafe, které mohou během upgradu způsobit problémy.Podle popisu v následující části se pokuste co nejvíce těchto problémů vyřešit, abyste minimalizovali problémy s upgradem.

Některé soubory jsou rezervovány

Zpráva obsahuje seznam souborů, které jsou aktuálně rezervovány.Při upgradu se informace o rezervaci nezachovají.Pokuste se zajistit, aby před upgradem bylo vráceno co nejvíce souborů.

Některé položky mají problémy s integritou dat

Zpráva obsahuje seznam položek s porušenou integritou dat.Nástroj ANALYZE aplikace Visual SourceSafe pravděpodobně dokáže tyto druhy problémů vyřešit.Položky, které nelze opravit, nebudou aktualizovány. Další informace najdete na následujících stránkách na webu společnosti Microsoft: Nástroj ANALYZEJak rozpoznat a opravit chyby poškozující databázi v aplikaci Visual SourceSafe.

Některé složky v mapovaných projektech obsahují historii, která není součástí sekce &lt;ProjectMap&gt;

Pokud se v databázi aplikace Visual SourceSafe přesune nějaká složka z jednoho projektu do jiného, je historie této složky obsažena v původním i aktuálním projektu.Chcete-li upgradovat takovou složku s celou její historií, musíte upgradovat jak původní, tak aktuální projekt.

Provádíte například upgrade projektu „Project2“ aplikace Visual SourceSafe.Tento projekt obsahuje složku $/Project2/FeatureA, která byla v určitém okamžiku své historie přesunuta z Project1.

Pokud sekce <ProjectMap> obsahuje...

Například...

Pak...

Oba projekty

<ProjectMap>
   <Project Source="$/Project1"></Project>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Složka je upgradována s celou svou historií.

Projekt, který složku původně obsahoval, ale ne projekt, který ji obsahuje teď

<ProjectMap>
   <Project Source="$/Project1"></Project>
</ProjectMap>

Složka není upgradována.

Projekt, který složku obsahuje teď, ale ne projekt, který ji původně obsahoval

<ProjectMap>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Složka je upgradována se svou historií, počínaje jejím přesunem do aktuálního projektu.Historie, ke které došlo před přesunutím složky do aktuálního projektu, není upgradována.

Další informace o sekci <ProjectMap> souboru s nastavením naleznete v části Sekce <ProjectMap> dříve v tomto tématu.

Názvy některých popisků nejsou podporovány nástrojem Team Foundation – správa verzí

Zpráva obsahuje názvy popisků, které se při upgradu změní, protože obsahují znaky, které správa verzí TFS nepodporuje.Další informace naleznete v tématu Omezení pojmenování v prostředí Team Foundation.

Upgrade dat

Po spuštění příkazu Analyze jste téměř připraveni k upgradu svých dat.Před spuštěním příkazu Migrate musíte vytvořit soubor s nastavením.Volitelně můžete určit, jak se mají upgradovat uživatelská jména.

Určení způsobu upgradu uživatelských jmen

Způsob, jakým se informace o uživatelích upgradují z aplikace Visual SourceSafe do správy verzí TFS, můžete ovlivnit.Konkrétně můžete určit, jaké uživatelské jméno má příkaz Migrate přidružit k jednotlivým sadám změn v historii položek ve správě verzí TFS.Provedete to úpravou souboru mapování uživatelů, který se vytvořil při spuštění příkazu Analyze, jak bylo popsáno dříve v tomto tématu.

Soubor mapování uživatelů je volitelný.Vynecháte-li v souboru s nastavením příkazu Analyze atribut <UserMap name>, budou jednotlivé sady změn sestaveny takto:

  • Pole Uživatel se nastaví na název účtu, pod kterým je spuštěn nástroj VssUpgrade

  • Jméno uživatele, který tuto akci provedl v databázi aplikace Visual SourceSafe, se uloží do pole Komentář

Příklad souboru mapování uživatelů

Příkaz Analyze po spuštění zkompiluje data o uživatelích aplikace Visual SourceSafe a uloží je do souboru XML.Tento soubor obsahuje seznam všech uživatelů aplikace Visual SourceSafe, kteří někdy provedli operaci správy verzí v upgradovaných projektech Visual SourceSafe.

Následující příklad znázorňuje soubor mapování uživatelů, který byl vytvořen pomocí příkazu Analyze.

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To=""></UserMap>
   <UserMap From="Guest" To=""></UserMap> 
   <UserMap From="Kim" To=""></UserMap>
   <UserMap From="Satomi" To=""></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

Atribut To můžete určit u všech, některých nebo žádných položek UserMap v souboru mapování uživatelů.Předchozí příklad například můžete upravit následujícím způsobem:

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To="NORTHAMERICA\KenM"></UserMap>
   <UserMap From="Guest" To="Test1"></UserMap> 
   <UserMap From="Kim" To="EUROPE\KimT"></UserMap>
   <UserMap From="Satomi" To="ASIA\SatomiH"></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

Všimněte si, že v předchozím příkladu je uživatel Guest namapován na Test1 a není zadána žádná doména.V těchto případech nástroj VssUpgrade předpokládá, že účet náleží do výchozí domény.

Pokud atribut <UserMap To> nezadáte, sestaví se každá sada změn následujícím způsobem:

  • Pole Uživatel se nastaví na název účtu, pod kterým je spuštěn nástroj VssUpgrade

  • Jméno uživatele, který tuto akci provedl v databázi aplikace Visual SourceSafe, se uloží do pole Komentář

  • Zadáte-li atribut <UserMap To> a jeho hodnota je platným uživatelem serveru Team Foundation Server, nastaví se pole Uživatel na název tohoto účtu.Pokud tato hodnota není platným uživatelem serveru Team Foundation Server, zobrazí nástroj VssUpgrade chybu a ukončí upgrade.

Vytvoření souboru s nastavením příkazu Migrate

Pomocí souboru s nastavením příkazu Migrate zadáte, jaká data aplikace Visual SourceSafe chcete upgradovat, a určíte několik aspektů toho, jak se tato data mají upgradovat.Tento soubor vytvoříte nejsnáze tak, že zkopírujete soubor vytvořený v části Vytvoření souboru pro nastavení příkazu Analyze dříve v tomto tématu.Potom do tohoto souboru přidáte další data, aby ho příkaz Migrate mohl použít.

Následující příklad znázorňuje soubor s nastavením příkazu Migrate.

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
     <Source name="VSS">
          <VSSDatabase name="c:\ourvss"></VSSDatabase>
          <UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
          <SQL Server="SQLInstanceName"></SQL>
     </Source>
     <ProjectMap>
          <Project Source="$/Core" Destination="$/CoreTeamProject"></Project>
          <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
          <Project Source="$/ProjectB" Destination="$/ClientTeamProject/ProjectB"></Project>
     </ProjectMap>
</ConverterSpecificSetting>
<Settings>
     <TeamFoundationServer name="My_Server" port="8080" protocol="http" collection="tfs/DefaultCollection"></TeamFoundationServer>
     <Output file="c:\ourvss\migrate\logs\ContosoVSSMigrate.xml"></Output>
</Settings>
</SourceControlConverter>

S využitím následujících informací můžete úpravou souboru s nastavením příkazu Migrate určit, jak má tento příkaz upgradovat vaše data.

&lt;ProjectMap&gt;

Pro každý element <Project> v sekci <ProjectMap> souboru s nastavením příkazu Migrate zadejte atribut Destination, kterým určíte cestu k umístění na serveru Team Foundation Server, kde chcete upgradovat obsah projektu v databázi aplikace Visual SourceSafe (zadané v atributu Source).

Chcete například upgradovat obsah projektu ProjectA v databázi aplikace Visual SourceSafe do projektu ProjectA v kořeni týmového projektu s názvem Client.

<ProjectMap>
   <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
</ProjectMap>

Aby byla hodnota atributu Destination platná, musí být splněny následující podmínky:

  • Týmový projekt v atributu Destination (týmový projekt v předchozím příkladu je ClientTeamProject) již musí být umístěn v kolekci týmových projektů před zahájením upgradu.

  • Cesta v atributu Destination elementu <Project> se nesmí překrývat s cestou v atributu Destination jakýchkoli jiných elementů <Project>.Například následující sekce <ProjectMap> není platná:

    <ProjectMap>
       <Project Source="$/ProjectA" Destination="$/ClientTeamProjectA/"></Project>
       <Project Source="$/ProjectB" Destination="$/ClientTeamProjectA/ProjectB"></Project>
    </ProjectMap>
    

[!POZNÁMKA]

Pokud složka v atributu Destination obsahuje jakékoli položky a pokud se cesta ke kterékoli z položek aplikace Visual SourceSafe překrývá s cestou správy verzí ke kterékoli z těchto položek, upgrade se nezdaří.

Značka &lt;TeamFoundationServer&gt;

Do sekce <Settings> přidejte značku <TeamFoundationServer> a zadejte název, port, protokol a cestu ke kolekci týmových projektů na serveru Team Foundation Server pomocí následujícího formátu:

<TeamFoundationServer name="ServerName" port="PortNumber" protocol="http" collection="path/collection name></TeamFoundationServer>

Značka &lt;Label migrate="false" /&gt;

Pokud databáze aplikace Visual SourceSafe obsahuje mnoho popisků, které se používají v mnoha souborech, může se upgrade prodloužit.Pokud váš tým tato data nepotřebuje, můžete nástroj VssUpgrade přidáním značky <Label migrate="false" /> do sekce <Settings> nakonfigurovat tak, aby tyto popisky ignoroval.

Atribut &lt;Output file&gt;

V sekci <Settings> můžete do atributu <Output file> zadat cestu a název souboru, kam chcete zapsat zprávu o upgradu.Pokud tento atribut nezadáte, zapíše konvertor zprávu do souboru s názvem VSSMigrationReport.xml a umístí ho do aktuálního adresáře.

Spuštění příkazu Migrate

  1. V nabídce Start systému Windows spusťte příkazový řádek jako správce.

  2. V okně Administrator: Příkazový řádek zadejte tento příkaz:

    VssUpgrade Migrate settings.xml

    Nahraďte settings.xml cestou a názvem souboru s nastavením příkazu Migrate, který jste vytvořili.

    Příkaz Migrate zobrazí všechny projekty, které upgradujete z databáze aplikace Visual SourceSafe, a všechny složky, do které budou data upgradována na serveru pro Team Foundation – správa verzí.

  3. Po zobrazení výzvy zadejte heslo správce databáze aplikace Visual SourceSafe.Pokud databáze nemá žádné heslo, stiskněte klávesu ENTER.

  4. Systém zobrazí souhrn toho, jak upgrade proběhne, a vyzve vás k potvrzení, zda chcete pokračovat.Příklad:

    This will start migration with following inputs:
    
    SourceSafe Folders -> Team Foundation Server Folders
    
    $/ -> $/Sequence2
    
    Full history migration of VSS Database: c:\vss
    
    Team Foundation Server: http://fabrikam-4:8080/tfs/DefaultCollection
    Migration Settings File: migrate_settings.xml
    Migration Report: C:\VSS\migrate\VSSMigrationReport.xml
    
    Depending on the VSS database size, migration may take few hours to complete.
    Please verify all inputs are correct and confirm.
    Start migration (Y/N)?
    

    Pokračujte stisknutím klávesy Y.

Nástroj VssUpgrade zobrazuje probíhající stav příkazu Migrate.Po dokončení procesu se zobrazí souhrnné výsledky.Příklad:

Verification of pinned versions: 0 file(s) added, 0 file(s) edited and 86 file(s) label updated
Verification of latest tip versions: No change was required (No fixes required. All latest tip versions were migrated successfully)

Started: Creating label "Pinned_Latest".
Finished: Creating label "Pinned_Latest".

Migration complete.
Migrated 6397 Actions
Warnings 7 and Errors 0
Post migration report file: C:\VSS\migrate\VSSMigrationReport.xml

Pokud se vyskytly nějaké chyby nebo upozornění, najdete o nich podrobnosti v souborech ConverterErrors.txtVSSUpgrade.log.

Příkaz Migrate vygeneruje zprávu, ve které zjistíte podrobné informace o možných problémech a změnách, které mohl tento příkaz způsobit.Další informace naleznete v tématu Další kroky po upgradu z Visual SourceSafe.

Obnovení procesu pomocí přírůstkového upgradu

Pokud se upgrade z nějakého důvodu přeruší, můžete ho obnovit ve formě přírůstkového upgradu od místa, kde byl ukončen.Přírůstkový upgrade může být užitečný při selhání upgradu z důvodu chyby nebo v problémů v síti.Během přírůstkového upgradu konvertor upgraduje pouze data, která nebyla upgradována v předchozích relacích.

Chcete-li spustit přírůstkový upgrade, postupujte podle kroků v části Spuštění příkazu Migrate.Když se příkaz Migrate zeptá, zda chcete provést přírůstkovou migraci, stiskněte klávesu Y.

Omezení přírůstkového upgradu

Přírůstkový upgrade se nezdaří, pokud nedodržíte následující omezení:

  • V databázi aplikace Visual SourceSafe nesmí být použity úlohy zničení, vymazání, archivace nebo obnovení.

  • Nesmíte změnit sekci <ProjectMap> souboru s nastavením příkazu Migrate.

  • Na serveru Team Foundation Server nesmíte změnit žádné složky (ani jejich obsah), které jsou uvedeny v sekci <ProjectMap> souboru s nastavením příkazu Migrate.

Další krok

Zobrazte a ověřte výsledky a vyřešte případné problémy.