distribuert versjonskontroll med mercurial
DESCRIPTION
Om distribuert versjonskontroll med Mercurial, med erfaringer og eksempler fra utviklingen av Network Administration VisualizedTRANSCRIPT
![Page 1: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/1.jpg)
Distribuert versjonskontroll med MercurialSystemutviklingskollokvium 2009-06-03
Morten Brekkevold
![Page 2: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/2.jpg)
2
Sentralisert versjonskontroll
sentraltrepository
brukerA
brukerB
brukerC
![Page 3: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/3.jpg)
3
Sentralisert versjonskontroll
Krever online aksess til repo Krever skrivetilgang til sentralt repo for
å lage nye grener Et subsett av distribuert
versjonskontroll
![Page 4: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/4.jpg)
4
Distribuert versjonskontroll
brukerA
brukerB
brukerC
evt.offentlig
repo
![Page 5: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/5.jpg)
5
Distribuert versjonskontroll
Stor grad av fleksibilitet i (sam)arbeidsform
Trenger ikke et sentralt repo Ingen trenger skrivetilgang for å lage
egne grener Kan brukes offline
![Page 6: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/6.jpg)
6
Hvem bruker Mercurial?
Mozilla OpenJDK Xen hypervisor Dovecot NAV ... en haug med andre ... Og snart: Python
![Page 7: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/7.jpg)
7
Et repository
Arbeidskopi og historikk i ett
![Page 8: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/8.jpg)
8
Committe endringer
![Page 9: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/9.jpg)
9
Historikk
Revisions, Changesets, Heads, og Tip
![Page 10: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/10.jpg)
10
Revisjoner
Løpenummer internt i hvert repo Globalt unik 40-tegns ID, et SHA-1
hash av: Foreldrerevisjonenes ID-er Innholdsteksten
Gir en viss sikkerhet mot uønsket tukling med repositories
![Page 11: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/11.jpg)
11
Kloning
![Page 12: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/12.jpg)
12
Endringer
![Page 13: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/13.jpg)
13
Synkronisering
Pull fra Eva
![Page 14: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/14.jpg)
14
Synkronisering
Bob: Merge
Bob: Commit
![Page 15: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/15.jpg)
15
Synkronisering
Alice: Pull
Alice: Update
![Page 16: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/16.jpg)
16
Deling av endringer
Direkte: Pull/push Lokalt filsystem SSH HTTP hg serve
Indirekte Bundles
![Page 17: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/17.jpg)
17
NAV og Mercurial
Et sett med “offisielle” grener publisert på web
UNINETT-interne har push-aksess til flere grener
Eksterne sluses gjennom release manager (f.eks. UiTø)
![Page 18: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/18.jpg)
18
Feilretting
Offisielle repos(HTTP)
default(trunk)
series/3.5.x
features/ipdevpoll
utviklerA
utviklerB
utviklerC
releasemanager
![Page 19: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/19.jpg)
19
Ny funksjonalitet
Offisielle repos(HTTP)
default(trunk)
series/3.5.x
features/ipdevpoll
utviklerA
utviklerB
utviklerC
releasemanager
![Page 20: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/20.jpg)
20
Ny point-release
Offisielle repos(HTTP)
default(trunk)
series/3.5.x
features/ipdevpoll
utviklerA
utviklerB
utviklerC
releasemanager
series/3.6.x
![Page 21: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/21.jpg)
21
Changesettmvold@voldsminde:default$ hg log r d84191af79bechangeset: 5515:d84191af79bebranch: 3.5.xuser: Morten Brekkevold <[email protected]>date: Fri Apr 24 14:30:25 2009 +0200summary: Fix for LP#366032 (Service availability shown as N/A, should be 100%)
mvold@voldsminde:default$ hg log v r d84191af79bechangeset: 5515:d84191af79bebranch: 3.5.xuser: Morten Brekkevold <[email protected]>date: Fri Apr 24 14:30:25 2009 +0200files: subsystem/libpython/nav/models/service.pydescription:Fix for LP#366032 (Service availability shown as N/A, should be 100%)
Mostly a copy of changeset afc648a0efb5.
* subsystem/libpython/nav/models/service.py (Service.get_availability.average): Make sure rrd.average returns None values on failure or NaN results. (Service.get_availability): Don't modify result of average calculations, as 0 is a valid return value.
![Page 22: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/22.jpg)
22
Changesett - detaljermvold@voldsminde:default$ hg log debug r d84191af79bechangeset: 5515:d84191af79be89b6903263fd561ac3bca31ce796branch: 3.5.xparent: 5514:b1c28a8480ac72909c6ca4ffc7bedc5ea6a87377parent: 1:0000000000000000000000000000000000000000manifest: 5515:65a6d1689dbe8a074ab81583b79ea31732f5e08euser: Morten Brekkevold <[email protected]>date: Fri Apr 24 14:30:25 2009 +0200files: subsystem/libpython/nav/models/service.pyextra: branch=3.5.xdescription:Fix for LP#366032 (Service availability shown as N/A, should be 100%)
Mostly a copy of changeset afc648a0efb5.
* subsystem/libpython/nav/models/service.py (Service.get_availability.average): Make sure rrd.average returns None values on failure or NaN results. (Service.get_availability): Don't modify result of average calculations, as 0 is a valid return value.
![Page 23: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/23.jpg)
23
Mercurial Queues (MQ)
Basert på quilt Smelter sammen versjonskontroll og
håndtering av patcher Påførte patcher ser ut som vanlige
changesett Muliggjør lokal manipulering av
historikk
![Page 24: Distribuert versjonskontroll med Mercurial](https://reader034.vdocuments.site/reader034/viewer/2022051514/54bd897c4a79592c508b45a4/html5/thumbnails/24.jpg)
24
Referanser
http://www.selenic.com/mercurial http://hgbook.red-bean.com/ http://metanav.uninett.no/hg