SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Bazaar
Version Control
   Florian Motlik
Über Bazaar

 Freie Software (GPLv2) In Python geschrieben
 von Canonical (Ubuntu)
 verteiltes System
 für Windows, Mac, Linux
 http://bazaar-vcs.org/
Begriffe

    Revision - a snapshot of the files you're working with.
    Working tree - the directory containing your version-
    controlled files and sub-directories.
    Branch - an ordered set of revisions that describe the
    history of a set of files.
    Repository - a store of revisions.


http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#core-concepts
Verteilt vs Zentral

  Zentraler Server
  Jeder Commit direkt zum Server
  Zugriffskontrolle für jeden nötig




  Alle haben eigenes Repository
  Alle Revisionen bei allen
  meistens kein Netz nötig
  Viele Merges, nicht Commits
  Zugriffskontrolle leichter
Workflows

 Solo
 Partner
 Zentral
 Zentral mit lokalen commits
 Dezentral mit geteilter mainline
 Dezentral mit menschlichem Gatekeeper
 Dezentral mit automatischem Gatekeeper
Solo & Partner

  Init Repo
       bzr init-repo um Meta Repo anzulegen (für Performance)
       bzr init um Verzeichnis in Repo zu verwandeln
  Solo
     cd my-stuff
     bzr init
     bzr add
     bzr commit -m quot;Initial importquot;
  Partner
     A: bzr init -> *hackhack* -> bzr commit
     B: bzr branch http://server.com/userA ->*hackhack* -> bzr commit
     A: bzr merge http://server.com/userB -> *hackhack* -> bzr commit
     B: bzr merge http://server.com/userA
Zentral

  Wie bei SVN/CVS
  Checkout statt Branches
     Checkout ist Branch der an Server gebunden ist
     bzr bind / bzr unbind
     Server kann auch gewechselt werden
  Howto
     bzr checkout http://someserver.com/repo
     hackhackhack
     bzr commit
     bzr update
  Ohne Netzwerk funktioniert commit nicht
Dezentral

 Mirror Branch
    Haupt Branch nicht zum entwickeln
    Spiegelbild von Server
    Für Entwicklung davon wegbranchen und mergen
         bzr branch http://server.com/trunk
        bzr branch trunk feature1 && hackhackhack
        bzr branch trunk fix1 && hackhackhack
        cd trunk
        merge ../fix1
        commit(lokal)
        push zum server
    bzr update (pull) um Mirror Branch zu updaten
Gatekeeper

 Nur wenige commit Recht auf Haupt Branch
 Menschlich
    Patch per Mail
    Repo veröffentlichen und Link schicken
    Beurteilung des Codes
    Commited in Haupt Branch
 Automatisiert
    Patch an Software
    automatisierte Tests
    wenn Test OK commit auf zentralen Branch
 IOC bezüglich commits (Programmierer entscheidet nicht)
 Skalierbar (Subprojekt mit Main Branch und Lieutenant)
Tips & Tricks

  Review Changes
     bzr status : Zeigt Veränderungen seit letztem commit
     bzr diff : Gibt diff der Veränderung aus
  Browse History
     bzr log -r [0-9] : zeigt Zusammenfassung aller
     Revisionen
     bzr cat -r [0-9] file: zeigt bestimmte Rev von file
  Tagging Releases
     bzr tag 1.5-release : Tag 1.5-release erstellt
     Als Revision verwenden
        bzr diff -r tag:1.5-release
     bzr tag 1.5-release --force : tag überschreiben
     bzr tag 1.5-release --delete: tag löschen
Tips & Tricks

  Resolve Conflicts
     bzr conflicts : Listet Konflikte auf
     bzr resolve [filename] : Wenn Konflikt gelöst
  Annotate
     bzr annotate file - zeigt wer was geändert hat
  Rückgängig machen
     bzr revert -> Änderungen rückwärts auf tree ausgeführt
        bzr revert 19 -> zurück auf Rev 19 (neuer Commit)
        bzr revert -2 -> um zwei Revisions zurück
     bzr uncommit -3 -> löscht 3 Revs (tree unverändert)
Launchpad & Links

 Launchpad
    https://launchpad.net/
    Projektmanagement wie Sourceforge (nur besser)
    von Canonical (Ubuntu)
    für FLOSS(Free libre Open Source Software) Projekte
    Bazaar Integration (Bug tracking, Feature tracking,
    Übersetzung)

  Links
     http://bazaar-vcs.org/
     http://bazaar-vcs.org/Documentation -
     http://doc.bazaar-vcs.org/bzr.dev/ - User Doc

Weitere ähnliche Inhalte

Andere mochten auch

Agof Internetfacts
Agof InternetfactsAgof Internetfacts
Agof Internetfactselwood76
 
Ansprechend! Braucht face2face Fundraising Standards?
Ansprechend! Braucht face2face Fundraising Standards?Ansprechend! Braucht face2face Fundraising Standards?
Ansprechend! Braucht face2face Fundraising Standards?Socialbar
 
Freiwillige und lobbyarbeit
Freiwillige und lobbyarbeitFreiwillige und lobbyarbeit
Freiwillige und lobbyarbeitSocialbar
 
Der Kölner UniversitätsGesamtkatalog (KUG)
Der Kölner UniversitätsGesamtkatalog (KUG)Der Kölner UniversitätsGesamtkatalog (KUG)
Der Kölner UniversitätsGesamtkatalog (KUG)flimm
 
Martin Delius: "Transparente Politik kapern mit Social Media?"
Martin Delius: "Transparente Politik kapern mit Social Media?"Martin Delius: "Transparente Politik kapern mit Social Media?"
Martin Delius: "Transparente Politik kapern mit Social Media?"Socialbar
 
Berlin Teilt
Berlin TeiltBerlin Teilt
Berlin TeiltSocialbar
 
Stress, Stress Management And Wellness Linked In
Stress, Stress Management And Wellness Linked InStress, Stress Management And Wellness Linked In
Stress, Stress Management And Wellness Linked Incindyhardy
 
Spanisch fur anfanger Spanischsprachkurse fuer Einsteiger
Spanisch fur anfanger Spanischsprachkurse fuer EinsteigerSpanisch fur anfanger Spanischsprachkurse fuer Einsteiger
Spanisch fur anfanger Spanischsprachkurse fuer EinsteigerAlhambra Instituto
 
Arte
ArteArte
ArteTochy
 
091204 Vhs Literaturgeschichte I Antike
091204 Vhs  Literaturgeschichte  I  Antike091204 Vhs  Literaturgeschichte  I  Antike
091204 Vhs Literaturgeschichte I AntikeJoerg Hartmann
 
Microsoft Access Grundkurs
Microsoft Access GrundkursMicrosoft Access Grundkurs
Microsoft Access Grundkursborya
 
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfU
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfUWorkshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfU
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfUGebhard Borck
 
Erzähler Tristan Letztes Kapitel Rossbach
Erzähler  Tristan Letztes  Kapitel  RossbachErzähler  Tristan Letztes  Kapitel  Rossbach
Erzähler Tristan Letztes Kapitel RossbachJoerg Hartmann
 
Talentia Kit Sponsorizacion
Talentia Kit SponsorizacionTalentia Kit Sponsorizacion
Talentia Kit Sponsorizacionmbeunza
 

Andere mochten auch (20)

Agof Internetfacts
Agof InternetfactsAgof Internetfacts
Agof Internetfacts
 
Ansprechend! Braucht face2face Fundraising Standards?
Ansprechend! Braucht face2face Fundraising Standards?Ansprechend! Braucht face2face Fundraising Standards?
Ansprechend! Braucht face2face Fundraising Standards?
 
Freiwillige und lobbyarbeit
Freiwillige und lobbyarbeitFreiwillige und lobbyarbeit
Freiwillige und lobbyarbeit
 
Der Kölner UniversitätsGesamtkatalog (KUG)
Der Kölner UniversitätsGesamtkatalog (KUG)Der Kölner UniversitätsGesamtkatalog (KUG)
Der Kölner UniversitätsGesamtkatalog (KUG)
 
El Metge
El MetgeEl Metge
El Metge
 
Martin Delius: "Transparente Politik kapern mit Social Media?"
Martin Delius: "Transparente Politik kapern mit Social Media?"Martin Delius: "Transparente Politik kapern mit Social Media?"
Martin Delius: "Transparente Politik kapern mit Social Media?"
 
Berlin Teilt
Berlin TeiltBerlin Teilt
Berlin Teilt
 
ARBRES PRECIOSOS
ARBRES PRECIOSOSARBRES PRECIOSOS
ARBRES PRECIOSOS
 
Sanvalentin2
Sanvalentin2Sanvalentin2
Sanvalentin2
 
Stress, Stress Management And Wellness Linked In
Stress, Stress Management And Wellness Linked InStress, Stress Management And Wellness Linked In
Stress, Stress Management And Wellness Linked In
 
Spanisch fur anfanger Spanischsprachkurse fuer Einsteiger
Spanisch fur anfanger Spanischsprachkurse fuer EinsteigerSpanisch fur anfanger Spanischsprachkurse fuer Einsteiger
Spanisch fur anfanger Spanischsprachkurse fuer Einsteiger
 
Arte
ArteArte
Arte
 
091204 Vhs Literaturgeschichte I Antike
091204 Vhs  Literaturgeschichte  I  Antike091204 Vhs  Literaturgeschichte  I  Antike
091204 Vhs Literaturgeschichte I Antike
 
Top de las 12 mejores albercas
Top de las 12 mejores albercasTop de las 12 mejores albercas
Top de las 12 mejores albercas
 
Zunar
ZunarZunar
Zunar
 
Microsoft Access Grundkurs
Microsoft Access GrundkursMicrosoft Access Grundkurs
Microsoft Access Grundkurs
 
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfU
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfUWorkshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfU
Workshop (DE): Strategie Kommunikation, Zurich/Switzerland, organized by ZfU
 
Erzähler Tristan Letztes Kapitel Rossbach
Erzähler  Tristan Letztes  Kapitel  RossbachErzähler  Tristan Letztes  Kapitel  Rossbach
Erzähler Tristan Letztes Kapitel Rossbach
 
vhs Nobelpreise II
vhs Nobelpreise IIvhs Nobelpreise II
vhs Nobelpreise II
 
Talentia Kit Sponsorizacion
Talentia Kit SponsorizacionTalentia Kit Sponsorizacion
Talentia Kit Sponsorizacion
 

Ähnlich wie JSUG - Bazaar by Florian Motlik

C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & DominoUlrich Krause
 
Git barcamp stuttgart_2010
Git barcamp stuttgart_2010Git barcamp stuttgart_2010
Git barcamp stuttgart_2010webholics
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for BeginnersUlrich Krause
 
HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?Oliver Busse
 
DWX 2016 -Build and Release Management
DWX 2016 -Build and Release ManagementDWX 2016 -Build and Release Management
DWX 2016 -Build and Release ManagementMarc Müller
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauenjohofer
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)Wiest Simon
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Ulrich Krause
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Wiest Simon
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit MavenStefan Scheidt
 
Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2Andreas Schulte
 

Ähnlich wie JSUG - Bazaar by Florian Motlik (20)

C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Git barcamp stuttgart_2010
Git barcamp stuttgart_2010Git barcamp stuttgart_2010
Git barcamp stuttgart_2010
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?
 
DWX 2016 -Build and Release Management
DWX 2016 -Build and Release ManagementDWX 2016 -Build and Release Management
DWX 2016 -Build and Release Management
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
Continuous Integration mit Hudson (JUG Mannheim, 27.01.2010)
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
 
Lotus Foundations
Lotus FoundationsLotus Foundations
Lotus Foundations
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
Automatischer Build mit Maven
Automatischer Build mit MavenAutomatischer Build mit Maven
Automatischer Build mit Maven
 
Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2
 

Mehr von Christoph Pickl

JSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklChristoph Pickl
 
JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classChristoph Pickl
 
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgJSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgChristoph Pickl
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklChristoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningChristoph Pickl
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklChristoph Pickl
 
JSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklJSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklChristoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerChristoph Pickl
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerChristoph Pickl
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovChristoph Pickl
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaChristoph Pickl
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberChristoph Pickl
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangChristoph Pickl
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklChristoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederChristoph Pickl
 
JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklChristoph Pickl
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikChristoph Pickl
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovChristoph Pickl
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklChristoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklChristoph Pickl
 

Mehr von Christoph Pickl (20)

JSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph Pickl
 
JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir class
 
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgJSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert Preining
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph Pickl
 
JSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklJSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin Schuerrer
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas Hubmer
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar Petrov
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans Sowa
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas Pieber
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas Lang
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph Pickl
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian Motlik
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph Pickl
 

JSUG - Bazaar by Florian Motlik

  • 1. Bazaar Version Control Florian Motlik
  • 2. Über Bazaar Freie Software (GPLv2) In Python geschrieben von Canonical (Ubuntu) verteiltes System für Windows, Mac, Linux http://bazaar-vcs.org/
  • 3. Begriffe Revision - a snapshot of the files you're working with. Working tree - the directory containing your version- controlled files and sub-directories. Branch - an ordered set of revisions that describe the history of a set of files. Repository - a store of revisions. http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#core-concepts
  • 4. Verteilt vs Zentral Zentraler Server Jeder Commit direkt zum Server Zugriffskontrolle für jeden nötig Alle haben eigenes Repository Alle Revisionen bei allen meistens kein Netz nötig Viele Merges, nicht Commits Zugriffskontrolle leichter
  • 5. Workflows Solo Partner Zentral Zentral mit lokalen commits Dezentral mit geteilter mainline Dezentral mit menschlichem Gatekeeper Dezentral mit automatischem Gatekeeper
  • 6. Solo & Partner Init Repo bzr init-repo um Meta Repo anzulegen (für Performance) bzr init um Verzeichnis in Repo zu verwandeln Solo cd my-stuff bzr init bzr add bzr commit -m quot;Initial importquot; Partner A: bzr init -> *hackhack* -> bzr commit B: bzr branch http://server.com/userA ->*hackhack* -> bzr commit A: bzr merge http://server.com/userB -> *hackhack* -> bzr commit B: bzr merge http://server.com/userA
  • 7. Zentral Wie bei SVN/CVS Checkout statt Branches Checkout ist Branch der an Server gebunden ist bzr bind / bzr unbind Server kann auch gewechselt werden Howto bzr checkout http://someserver.com/repo hackhackhack bzr commit bzr update Ohne Netzwerk funktioniert commit nicht
  • 8. Dezentral Mirror Branch Haupt Branch nicht zum entwickeln Spiegelbild von Server Für Entwicklung davon wegbranchen und mergen bzr branch http://server.com/trunk bzr branch trunk feature1 && hackhackhack bzr branch trunk fix1 && hackhackhack cd trunk merge ../fix1 commit(lokal) push zum server bzr update (pull) um Mirror Branch zu updaten
  • 9. Gatekeeper Nur wenige commit Recht auf Haupt Branch Menschlich Patch per Mail Repo veröffentlichen und Link schicken Beurteilung des Codes Commited in Haupt Branch Automatisiert Patch an Software automatisierte Tests wenn Test OK commit auf zentralen Branch IOC bezüglich commits (Programmierer entscheidet nicht) Skalierbar (Subprojekt mit Main Branch und Lieutenant)
  • 10. Tips & Tricks Review Changes bzr status : Zeigt Veränderungen seit letztem commit bzr diff : Gibt diff der Veränderung aus Browse History bzr log -r [0-9] : zeigt Zusammenfassung aller Revisionen bzr cat -r [0-9] file: zeigt bestimmte Rev von file Tagging Releases bzr tag 1.5-release : Tag 1.5-release erstellt Als Revision verwenden bzr diff -r tag:1.5-release bzr tag 1.5-release --force : tag überschreiben bzr tag 1.5-release --delete: tag löschen
  • 11. Tips & Tricks Resolve Conflicts bzr conflicts : Listet Konflikte auf bzr resolve [filename] : Wenn Konflikt gelöst Annotate bzr annotate file - zeigt wer was geändert hat Rückgängig machen bzr revert -> Änderungen rückwärts auf tree ausgeführt bzr revert 19 -> zurück auf Rev 19 (neuer Commit) bzr revert -2 -> um zwei Revisions zurück bzr uncommit -3 -> löscht 3 Revs (tree unverändert)
  • 12. Launchpad & Links Launchpad https://launchpad.net/ Projektmanagement wie Sourceforge (nur besser) von Canonical (Ubuntu) für FLOSS(Free libre Open Source Software) Projekte Bazaar Integration (Bug tracking, Feature tracking, Übersetzung) Links http://bazaar-vcs.org/ http://bazaar-vcs.org/Documentation - http://doc.bazaar-vcs.org/bzr.dev/ - User Doc