Näytetään tekstit, joissa on tunniste migrate. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste migrate. Näytä kaikki tekstit

tiistai 7. huhtikuuta 2015

Versionhallintaa 2, SVN -> Git

SVN to Git migrate

Viimeksi kirjoittelin TFS:stä Gitiin siirtymisestä ja nyt on projektina Subversionista (SVN) siirtäminen. Minulla oli asennettuna Windowsiin TortoiseGit ja siitä löytyi Git clone -työkalu, jonka avulla saa tuotua myös SVN repon. Jostain syystä en saanut paikallisesta SVN-reposta kloonattua, mutta kun pienellä googlailulla en saanut ratkaistua asiaa, niin kloonasin netissä olevan repon ja homma toimi. Ilmeisesti liittyy jotenkin hakemistojen nimiin (jotenkin file:// tyyliin pitäisi kirjoittaa nimi). TortoiseGitin clonessa voi valita branchit, tagit ja trunkin. Itse tein aika perusasetuksilla ja hyvin näytti versiohistoria säilyneen.

Loppu hommasta meni samalla tavalla kuin TFS->Git -hommassakin eli seuraavasti:

Add, Commit ja Push

Mene juurihakemistoon ja lisää uudet tiedostot kuten .gitignore:
git add . 
Minun git-versiollani piti antaa muokkauksien jälkeen komento: git add --all

Sitten tee commit:
git commit -a -m "ensimmäinen commit siirron jälkeen"

Sitten vaihdetaan alkuperäksi minun tapuksessani Visual Studio Online, mutta voit laittaa omankin serverin.
git remote add origin https://omatili.visualstudio.com/DefaultCollection/_git/projekti

Viimeisenä lähetetään sitten tavara pilveen komennolla:
git push -u origin --all

Muita työkaluja

"git-svn - Bidirectional operation between a Subversion repository and Git"
http://git-scm.com/docs/git-svn

Tämä Kernel.orgin wikissä oleva artikkeli on myös hyvä. Siellä on myös migraatiolle oma sivunsa.
https://git.wiki.kernel.org/index.php/GitSvnCrashCourse

tiistai 4. marraskuuta 2014

Versionhallintaa, TFS -> Git


TFS to Git migrate

En ole oikeastaan koskaan käyttänyt TFS:ä versionhallintaohjelmana (Team Foundation Version Control) eikä kiinnostanut ryhtyäkään, kun minulle annettiin ohjelmointitehtävä, jonka lähdekoodi oli TFS:ssä. Olin edellisessä projektissa käyttänyt Gitiä ja minusta oli luontevaa yhdenmukaistaa ja siirtyä tässä toisessakin siihen. Googlettelin hieman, etsin tietoa miten siirron voisi tehdä, ja nyt listaan kokemukseni hommasta.

Työkalut

Löysin kaksi työkalua ja kannattaa olla varovainen ja varma kummalle ohjeet on kirjoittu, kun lukee niitä netistä.
Näiden työkalujen käyttöä varten pitää ottaa vaihtoehtoiset tunnukset (Alternate Credentials) käyttöön Visual Studio Onlinessa omista asetuksista.

Itse asensin Git-tf:n seuraavasti Chocolateylla
cinst git-tf

Konvertoinnin vaiheet Git-tf:llä

1. Kloonataan vanha projekti Git-muotoon 

git-tf clone https://omatili.visualstudio.com/DefaultCollection $/projekti --deep

Kun laitat --deep, niin mukaan tulee koko historia.

2. Putsataan ylimääräiset jutut pois

Lataa normaali .gitignore-tiedosto, joka määrittelee mitä kaikkea tallennetaan versionhallintaan. Poista vanhaan versionhallintaan liittyvät tiedostot (*.vssscc) ja muokkaa .sln-tiedostojasi poistamalla niistä viittaukset Team Foundation Version Controliin. Avaa .sln tekstieditoriin ja hae "TeamFoundationVersionControl" ja ja poista kyseinen GlobalSection.

Tässä vaiheessa on myös hyvä miettiä miten kohdellaan rivinvaihtoja. Oletuksena LF korvataan CRLF:llä. Tähän liittyvä komento, jos haluaa ottaa automaattisen muunnoksen pois:
git config --global core.autocrlf false
Jos muuten siivoilet hakemistorakennetta ja siirtelet tiedostoja Windowsissa resurssienhallinnalla, niin huomasin, että siirrettyjen tiedostojen historian säilyttämiseksi täytyy antaa komento:
git diff -M .


3. Add, Commit ja Push

Mene juurihakemistoon ja lisää uudet tiedostot kuten .gitignore:
git add .
Sitten tee commit:
git commit -a -m "ensimmäinen commit siirron jälkeen"
Sitten vaihdetaan alkuperäksi minun tapuksessani Visual Studio Online, mutta voit laittaa omankin serverin.
git remote add origin https://omatili.visualstudio.com/DefaultCollection/_git/projekti
Viimeisenä lähetetään sitten tavara pilveen komennolla:
git push -u origin --all


4. Mahdollisten työtehtävien (work item) siirtäminen

Work itemejä voi siirtää ja muokata Excelin ryhmätyöominaisuuksilla (Excel Team features).

Tässä kaikki tällä kertaa ja toivottavasti tästä on jollekin hyötyä.