SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
The issue
                   Solutions
            Basic operation
      Implementation Details
                    Use case




Team Developpement With Mercurial




                   April 29, 2011




                               Team Developpement With Mercurial
The issue
                               Solutions
                        Basic operation
                  Implementation Details
                                Use case


Past vs present




            Past: immutable = liquid
         Present: mutable = frozen
         History: Past + present
                                           Team Developpement With Mercurial
The issue
                                Solutions
                         Basic operation
                   Implementation Details
                                 Use case


Why clean history:

  easy to read
      Review process
      hg annotate
  easy to process
      hg bisect
      hg annote
      Continuous Integration tools

  Changeset
     From valid state to valid state.
     Atomic
     As small as possible
                                            Team Developpement With Mercurial
The issue
                                   Solutions
                            Basic operation
                      Implementation Details
                                    Use case


clean history

  Errare humanum est won’t make it right.
      Iterative
      Collaborative
      Multiple task in Parallel
  tool: Version control System (distributed)




                                               Team Developpement With Mercurial
The issue
                                    Solutions
                             Basic operation
                       Implementation Details
                                     Use case


Partial Solutions exist

  rebase and histedit
       limited
       hard to share
       hard get older version
  mq
       overlay: (unknown by core and extension)
       limited: (queue only)
       fragile: (no transaction, reject, .hg/patches consistency)
       break rules: (truncate revlog)




                                                Team Developpement With Mercurial
The issue
                                  Solutions
                           Basic operation
                     Implementation Details
                                   Use case


The full solution

       DVCS trace changes to set of files,
       Must trace changes to changesets.
  A is updated as A’




                                                  A
                                                      Aʼ
  A and B are merged as C
                                              A


                                                      B
                                                          A+B




  Need to snapshot the whole set of files, but there is no such thing
  as a consistent state for the set of heads of a tree.
       Changeset are distinct from each other
                                       Team Developpement With Mercurial
The issue
                                   Solutions
                            Basic operation
                      Implementation Details
                                    Use case


Insert
         characters: abc -> aXbc
              lines: abc    abc
                     ghi -> def
                            ghi
           CHunks: adding a chunk to a changeset
         changeset:          o C
                      o C    |
                      |      o B
                      o B    |
                      |   -> o D
                      o A    |
                      |      o A
                      -      |
                             -
                                               Team Developpement With Mercurial
The issue
                                Solutions
                         Basic operation
                   Implementation Details
                                 Use case


Delete
         characters: abc -> ac
              lines: abc    abc
                     def -> ghi
                     ghi
           CHunks: remove chunk from a changeset
         changeset: o C
                    |              o C
                    o B            |
                    |   ->         o A
                    o A            |
                    |              -
                    -


                                            Team Developpement With Mercurial
The issue
                                Solutions
                         Basic operation
                   Implementation Details
                                 Use case


Modify
         characters: abc -> adc
              lines: abc    abc
                     def -> jkl
                     ghi    ghi
           CHunks: modify a chunk in a changeset
         changeset: o C
                    |              o C
                    o B            |
                    |   ->         o A
                    o A            |
                    |              -
                    -


                                            Team Developpement With Mercurial
The issue
                                 Solutions
                          Basic operation
                    Implementation Details
                                  Use case


Copy
       characters: abc -> abac
            lines: abc    abc
                   def -> def
                          abc
                   ghi    ghi
         CHunks: N/A
       changeset:                      o     cherry pick of C
                                       |
                    o   C            o |     C
                    |                | |
                    | o B            | o     B
                    | |           -> | |
                    o | A            o |     A
                    |/               |/
                                             Team Developpement With Mercurial
The issue
                              Solutions
                       Basic operation
                 Implementation Details
                               Use case


Move
       characters: abc -> bac
            lines: abc    def
                   def -> abc
                   ghi    ghi
         CHunks: N/A
       changeset: o C            o C
                  |              |
                  o B            o A
                  |   ->         |
                  o A            o B
                  |              |
                  -              -


                                          Team Developpement With Mercurial
The issue
                              Solutions
                       Basic operation
                 Implementation Details
                               Use case


Join
       characters: N/A
            lines: abcn       ->         abcdefn
                   defn                  ghin
                   ghin
         CHunks: N/A
       changeset: o C
                  |              o C
                  o B            |
                  |   ->         o A+B
                  o A            |
                  |              -
                  -


                                            Team Developpement With Mercurial
The issue
                                  Solutions
                           Basic operation
                     Implementation Details
                                   Use case


Split
        characters: N/A
             lines: abcdefn             ->     abcn
                    ghin                       defn
                                                ghin
          CHunks: N/A
        changeset:                            o C
                     o C                      |
                     |                        o B
                     o A+B         ->         |
                     |                        o A
                     -                        |
                                              -


                                                Team Developpement With Mercurial
The issue
                             Solutions
                      Basic operation
                Implementation Details
                              Use case


Move Boundary
      characters: N/A
           lines: abcn       ->         abcdn
                  defn                  efn
                  ghin                  ghin
        CHunks: N/A
      changeset: o C                     o B+C
                 |                       |
                 o A+B        ->         o A
                 |                       |
                 -                       -




                                           Team Developpement With Mercurial
The issue
                             Solutions
                      Basic operation
                Implementation Details
                              Use case


sum up

     Insert
     Delete
     Modify
     Copy
     Move


     Join
     Split
     Move Boundary



                                         Team Developpement With Mercurial
The issue
                                Solutions
                         Basic operation
                   Implementation Details
                                 Use case


Proposed solution

      create new changeset as usual,
      New type of relation between changeset
          update
          delete
          split
          merge
          (copy)


  We can detect
      obsolete changeset
      conflicting changeset
      Out of sync changeset

                                            Team Developpement With Mercurial
The issue
                                     Solutions
                              Basic operation
                        Implementation Details
                                      Use case


Core change

  It’s Necessary to :
       Alter existing command to hide obsolete changeset,
       Add new command to recognise//solve out-of-sync and
       conflicting changeset,
  It’s recommended to have:
       Light weight changeset,
       Garbage collection.




                                                 Team Developpement With Mercurial
The issue
                               Solutions
                        Basic operation
                  Implementation Details
                                Use case


Extensions change

     Do not alter Frozen changeset
     Add relevant link on edit
     Define hooks to update they internal state




                                           Team Developpement With Mercurial
The issue
                                Solutions
                         Basic operation
                   Implementation Details
                                 Use case


Simple iterative work


                                                                             D


                                                             C    Cʼ       Cʼʼ   E

                                                       D
                                                            B     Bʼ       Aʼ

         C     C      Cʼ             C      Cʼ     Cʼʼ
                                                            A          Bʼʼ

         B     B      Bʼ             B      Bʼ     Aʼ


         A     A                    A                                  ΩB
                                                 Bʼʼ




                                                 Team Developpement With Mercurial
The issue
                             Solutions
                      Basic operation
                Implementation Details
                              Use case


Feature that need a bug fix

                         F


                         B    Bʼ



            F


            B




                         F     Fʼ        F    Fʼ        F   Fʼ   Fʼʼ


                         B               B    Bʼ        B   Bʼ




                                         Team Developpement With Mercurial
The issue
                             Solutions
                      Basic operation
                Implementation Details
                              Use case


Multiple people working on the same thing

                           Aʼ
                      A




                                                                     Aʼʼ
            A                            Aʼʼ         Aʼ
                                                A              Aʼʼ         Aʼ
                                                                     A



                    Aʼʼ
                          A




                                               Team Developpement With Mercurial
The issue
                               Solutions
                        Basic operation
                  Implementation Details
                                Use case


People have works base on unwanted changeset

                             B


                             A




              A




                                             B
                             A                              A    Bʼ
                                             A




                                           Team Developpement With Mercurial

Weitere ähnliche Inhalte

Andere mochten auch

GUSOM SL Team Leader Orientation
GUSOM SL Team Leader OrientationGUSOM SL Team Leader Orientation
GUSOM SL Team Leader Orientationjhl223
 
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien CristauDebconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien CristauLogilab
 
Business systemisation - brief overview
Business systemisation - brief overviewBusiness systemisation - brief overview
Business systemisation - brief overviewNick Bettes Consulting
 
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Logilab
 
Photography Effects - .Plàstica
Photography Effects - .PlàsticaPhotography Effects - .Plàstica
Photography Effects - .PlàsticaAxel Millán
 
Photography Effects
Photography EffectsPhotography Effects
Photography EffectsAxel Millán
 
Open Legislative Data Conference 2014
Open Legislative Data Conference 2014Open Legislative Data Conference 2014
Open Legislative Data Conference 2014Logilab
 
Euroscipy SemNews 2011
Euroscipy SemNews 2011Euroscipy SemNews 2011
Euroscipy SemNews 2011Logilab
 
Migration of a computation cluster to Debian
Migration of a computation cluster to DebianMigration of a computation cluster to Debian
Migration of a computation cluster to DebianLogilab
 
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...Logilab
 
Présentation Logilab
Présentation LogilabPrésentation Logilab
Présentation LogilabLogilab
 

Andere mochten auch (20)

GUSOM SL Team Leader Orientation
GUSOM SL Team Leader OrientationGUSOM SL Team Leader Orientation
GUSOM SL Team Leader Orientation
 
Creating a business plan
Creating a business planCreating a business plan
Creating a business plan
 
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien CristauDebconf14 : Putting some salt in your Debian systems -- Julien Cristau
Debconf14 : Putting some salt in your Debian systems -- Julien Cristau
 
Business systemisation - brief overview
Business systemisation - brief overviewBusiness systemisation - brief overview
Business systemisation - brief overview
 
Managing working capital
Managing working capitalManaging working capital
Managing working capital
 
Employee engagement
Employee engagementEmployee engagement
Employee engagement
 
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
 
Photography Effects - .Plàstica
Photography Effects - .PlàsticaPhotography Effects - .Plàstica
Photography Effects - .Plàstica
 
Functions & Closures in Scala
Functions & Closures in ScalaFunctions & Closures in Scala
Functions & Closures in Scala
 
Photography Effects
Photography EffectsPhotography Effects
Photography Effects
 
Open Legislative Data Conference 2014
Open Legislative Data Conference 2014Open Legislative Data Conference 2014
Open Legislative Data Conference 2014
 
Euroscipy SemNews 2011
Euroscipy SemNews 2011Euroscipy SemNews 2011
Euroscipy SemNews 2011
 
Marketing - pricing
Marketing - pricingMarketing - pricing
Marketing - pricing
 
Migration of a computation cluster to Debian
Migration of a computation cluster to DebianMigration of a computation cluster to Debian
Migration of a computation cluster to Debian
 
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...BRAINOMICS A management system for exploring and merging heterogeneous brain ...
BRAINOMICS A management system for exploring and merging heterogeneous brain ...
 
Key performance indicators
Key performance indicatorsKey performance indicators
Key performance indicators
 
Planning for success
Planning for successPlanning for success
Planning for success
 
Managing your sales pipeline
Managing your sales pipelineManaging your sales pipeline
Managing your sales pipeline
 
Présentation Logilab
Présentation LogilabPrésentation Logilab
Présentation Logilab
 
Team Orientation Process
Team Orientation ProcessTeam Orientation Process
Team Orientation Process
 

Ähnlich wie Team Developpement with Mercurial - april 2011

Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...
Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...
Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...eNovance
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Marko Taipale
 
Dell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicDell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicBarton George
 
IdealECP presentation for Novo Nordisk
IdealECP presentation for Novo NordiskIdealECP presentation for Novo Nordisk
IdealECP presentation for Novo Nordiskcbiddle2
 
Universal Declarative Services - Simon Chemouil
Universal Declarative Services - Simon ChemouilUniversal Declarative Services - Simon Chemouil
Universal Declarative Services - Simon Chemouilmfrancis
 
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...Cloudera, Inc.
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksMihai Corlan
 
Universal Declarative Services
Universal Declarative ServicesUniversal Declarative Services
Universal Declarative Servicesschemouil
 
DevOps як System Administration 2.0
DevOps як System Administration 2.0DevOps як System Administration 2.0
DevOps як System Administration 2.0SoftServe
 
Teams progress presenation
Teams progress presenationTeams progress presenation
Teams progress presenationOleg Seriaga
 
Object-Based Programming Part One
Object-Based Programming Part OneObject-Based Programming Part One
Object-Based Programming Part OnePingLun Liao
 
2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertagMarcel Bruch
 
Dell openstack boston meetup dell crowbar and open stack
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stackDellCloudEdge
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteChileAgil
 

Ähnlich wie Team Developpement with Mercurial - april 2011 (20)

Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...
Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...
Openstack in action2! Automate and accelerate Cloud deployments with Dell Cro...
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Dell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicDell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-public
 
IdealECP presentation for Novo Nordisk
IdealECP presentation for Novo NordiskIdealECP presentation for Novo Nordisk
IdealECP presentation for Novo Nordisk
 
Universal Declarative Services - Simon Chemouil
Universal Declarative Services - Simon ChemouilUniversal Declarative Services - Simon Chemouil
Universal Declarative Services - Simon Chemouil
 
Generator
GeneratorGenerator
Generator
 
SUBJECT
SUBJECTSUBJECT
SUBJECT
 
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
 
9X5u87KWa267pP7aGX3K
9X5u87KWa267pP7aGX3K9X5u87KWa267pP7aGX3K
9X5u87KWa267pP7aGX3K
 
Universal Declarative Services
Universal Declarative ServicesUniversal Declarative Services
Universal Declarative Services
 
DevOps як System Administration 2.0
DevOps як System Administration 2.0DevOps як System Administration 2.0
DevOps як System Administration 2.0
 
Teams progress presenation
Teams progress presenationTeams progress presenation
Teams progress presenation
 
Object-Based Programming Part One
Object-Based Programming Part OneObject-Based Programming Part One
Object-Based Programming Part One
 
Introducing CQ 5.1
Introducing CQ 5.1Introducing CQ 5.1
Introducing CQ 5.1
 
2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag
 
Dell openstack boston meetup dell crowbar and open stack
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stack
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 Keynote
 

Mehr von Logilab

Testinfra pyconfr 2017
Testinfra pyconfr 2017Testinfra pyconfr 2017
Testinfra pyconfr 2017Logilab
 
Open Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communsOpen Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communsLogilab
 
Salon Open Data
Salon Open DataSalon Open Data
Salon Open DataLogilab
 
Pydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instrumentsPydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instrumentsLogilab
 
Système d'archivage électronique mutualisé
Système d'archivage électronique mutualiséSystème d'archivage électronique mutualisé
Système d'archivage électronique mutualiséLogilab
 
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou dockerUtiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou dockerLogilab
 
Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21Logilab
 
Simulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industrielSimulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industrielLogilab
 
Simulagora - Salon du Bourget
Simulagora - Salon du BourgetSimulagora - Salon du Bourget
Simulagora - Salon du BourgetLogilab
 
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Logilab
 
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on SimulagoraStudy of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on SimulagoraLogilab
 
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...Logilab
 
Battle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - CubicwebBattle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - CubicwebLogilab
 
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Logilab
 
PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)Logilab
 
Pylint : 10 ans, état des lieux
Pylint : 10 ans, état des lieuxPylint : 10 ans, état des lieux
Pylint : 10 ans, état des lieuxLogilab
 
Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013Logilab
 
Cubicweb lauréat Dataconnexions 2013
Cubicweb lauréat Dataconnexions 2013Cubicweb lauréat Dataconnexions 2013
Cubicweb lauréat Dataconnexions 2013Logilab
 
OSDC 2012 mercurial evolve talk
OSDC 2012 mercurial evolve talk OSDC 2012 mercurial evolve talk
OSDC 2012 mercurial evolve talk Logilab
 
Historique évolutif avec Mercurial - Pyconfr 2012
Historique évolutif avec Mercurial - Pyconfr 2012Historique évolutif avec Mercurial - Pyconfr 2012
Historique évolutif avec Mercurial - Pyconfr 2012Logilab
 

Mehr von Logilab (20)

Testinfra pyconfr 2017
Testinfra pyconfr 2017Testinfra pyconfr 2017
Testinfra pyconfr 2017
 
Open Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communsOpen Source & Open Data : les bienfaits des communs
Open Source & Open Data : les bienfaits des communs
 
Salon Open Data
Salon Open DataSalon Open Data
Salon Open Data
 
Pydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instrumentsPydata Paris Python for manufacturing musical instruments
Pydata Paris Python for manufacturing musical instruments
 
Système d'archivage électronique mutualisé
Système d'archivage électronique mutualiséSystème d'archivage électronique mutualisé
Système d'archivage électronique mutualisé
 
Utiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou dockerUtiliser salt pour tester son infrastructure sur open stack ou docker
Utiliser salt pour tester son infrastructure sur open stack ou docker
 
Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21Importer des données en Python avec CubicWeb 3.21
Importer des données en Python avec CubicWeb 3.21
 
Simulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industrielSimulagora au service d'un grand défi industriel
Simulagora au service d'un grand défi industriel
 
Simulagora - Salon du Bourget
Simulagora - Salon du BourgetSimulagora - Salon du Bourget
Simulagora - Salon du Bourget
 
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
 
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on SimulagoraStudy of the dynamic behavior of a pump with Code_ASTER on Simulagora
Study of the dynamic behavior of a pump with Code_ASTER on Simulagora
 
Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...Initialiser des conteneurs Docker à partir de configurations Salt construites...
Initialiser des conteneurs Docker à partir de configurations Salt construites...
 
Battle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - CubicwebBattle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - Cubicweb
 
Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)Simulagora (Euroscipy2014 - Logilab)
Simulagora (Euroscipy2014 - Logilab)
 
PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)PAFI (Euroscipy2014 - Logilab)
PAFI (Euroscipy2014 - Logilab)
 
Pylint : 10 ans, état des lieux
Pylint : 10 ans, état des lieuxPylint : 10 ans, état des lieux
Pylint : 10 ans, état des lieux
 
Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013Présentation sur le stand à l'OpenWorldForum 2013
Présentation sur le stand à l'OpenWorldForum 2013
 
Cubicweb lauréat Dataconnexions 2013
Cubicweb lauréat Dataconnexions 2013Cubicweb lauréat Dataconnexions 2013
Cubicweb lauréat Dataconnexions 2013
 
OSDC 2012 mercurial evolve talk
OSDC 2012 mercurial evolve talk OSDC 2012 mercurial evolve talk
OSDC 2012 mercurial evolve talk
 
Historique évolutif avec Mercurial - Pyconfr 2012
Historique évolutif avec Mercurial - Pyconfr 2012Historique évolutif avec Mercurial - Pyconfr 2012
Historique évolutif avec Mercurial - Pyconfr 2012
 

Kürzlich hochgeladen

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Team Developpement with Mercurial - april 2011

  • 1. The issue Solutions Basic operation Implementation Details Use case Team Developpement With Mercurial April 29, 2011 Team Developpement With Mercurial
  • 2. The issue Solutions Basic operation Implementation Details Use case Past vs present Past: immutable = liquid Present: mutable = frozen History: Past + present Team Developpement With Mercurial
  • 3. The issue Solutions Basic operation Implementation Details Use case Why clean history: easy to read Review process hg annotate easy to process hg bisect hg annote Continuous Integration tools Changeset From valid state to valid state. Atomic As small as possible Team Developpement With Mercurial
  • 4. The issue Solutions Basic operation Implementation Details Use case clean history Errare humanum est won’t make it right. Iterative Collaborative Multiple task in Parallel tool: Version control System (distributed) Team Developpement With Mercurial
  • 5. The issue Solutions Basic operation Implementation Details Use case Partial Solutions exist rebase and histedit limited hard to share hard get older version mq overlay: (unknown by core and extension) limited: (queue only) fragile: (no transaction, reject, .hg/patches consistency) break rules: (truncate revlog) Team Developpement With Mercurial
  • 6. The issue Solutions Basic operation Implementation Details Use case The full solution DVCS trace changes to set of files, Must trace changes to changesets. A is updated as A’ A Aʼ A and B are merged as C A B A+B Need to snapshot the whole set of files, but there is no such thing as a consistent state for the set of heads of a tree. Changeset are distinct from each other Team Developpement With Mercurial
  • 7. The issue Solutions Basic operation Implementation Details Use case Insert characters: abc -> aXbc lines: abc abc ghi -> def ghi CHunks: adding a chunk to a changeset changeset: o C o C | | o B o B | | -> o D o A | | o A - | - Team Developpement With Mercurial
  • 8. The issue Solutions Basic operation Implementation Details Use case Delete characters: abc -> ac lines: abc abc def -> ghi ghi CHunks: remove chunk from a changeset changeset: o C | o C o B | | -> o A o A | | - - Team Developpement With Mercurial
  • 9. The issue Solutions Basic operation Implementation Details Use case Modify characters: abc -> adc lines: abc abc def -> jkl ghi ghi CHunks: modify a chunk in a changeset changeset: o C | o C o B | | -> o A o A | | - - Team Developpement With Mercurial
  • 10. The issue Solutions Basic operation Implementation Details Use case Copy characters: abc -> abac lines: abc abc def -> def abc ghi ghi CHunks: N/A changeset: o cherry pick of C | o C o | C | | | | o B | o B | | -> | | o | A o | A |/ |/ Team Developpement With Mercurial
  • 11. The issue Solutions Basic operation Implementation Details Use case Move characters: abc -> bac lines: abc def def -> abc ghi ghi CHunks: N/A changeset: o C o C | | o B o A | -> | o A o B | | - - Team Developpement With Mercurial
  • 12. The issue Solutions Basic operation Implementation Details Use case Join characters: N/A lines: abcn -> abcdefn defn ghin ghin CHunks: N/A changeset: o C | o C o B | | -> o A+B o A | | - - Team Developpement With Mercurial
  • 13. The issue Solutions Basic operation Implementation Details Use case Split characters: N/A lines: abcdefn -> abcn ghin defn ghin CHunks: N/A changeset: o C o C | | o B o A+B -> | | o A - | - Team Developpement With Mercurial
  • 14. The issue Solutions Basic operation Implementation Details Use case Move Boundary characters: N/A lines: abcn -> abcdn defn efn ghin ghin CHunks: N/A changeset: o C o B+C | | o A+B -> o A | | - - Team Developpement With Mercurial
  • 15. The issue Solutions Basic operation Implementation Details Use case sum up Insert Delete Modify Copy Move Join Split Move Boundary Team Developpement With Mercurial
  • 16. The issue Solutions Basic operation Implementation Details Use case Proposed solution create new changeset as usual, New type of relation between changeset update delete split merge (copy) We can detect obsolete changeset conflicting changeset Out of sync changeset Team Developpement With Mercurial
  • 17. The issue Solutions Basic operation Implementation Details Use case Core change It’s Necessary to : Alter existing command to hide obsolete changeset, Add new command to recognise//solve out-of-sync and conflicting changeset, It’s recommended to have: Light weight changeset, Garbage collection. Team Developpement With Mercurial
  • 18. The issue Solutions Basic operation Implementation Details Use case Extensions change Do not alter Frozen changeset Add relevant link on edit Define hooks to update they internal state Team Developpement With Mercurial
  • 19. The issue Solutions Basic operation Implementation Details Use case Simple iterative work D C Cʼ Cʼʼ E D B Bʼ Aʼ C C Cʼ C Cʼ Cʼʼ A Bʼʼ B B Bʼ B Bʼ Aʼ A A A ΩB Bʼʼ Team Developpement With Mercurial
  • 20. The issue Solutions Basic operation Implementation Details Use case Feature that need a bug fix F B Bʼ F B F Fʼ F Fʼ F Fʼ Fʼʼ B B Bʼ B Bʼ Team Developpement With Mercurial
  • 21. The issue Solutions Basic operation Implementation Details Use case Multiple people working on the same thing Aʼ A Aʼʼ A Aʼʼ Aʼ A Aʼʼ Aʼ A Aʼʼ A Team Developpement With Mercurial
  • 22. The issue Solutions Basic operation Implementation Details Use case People have works base on unwanted changeset B A A B A A Bʼ A Team Developpement With Mercurial