February 2 nd Jean Parpaillon

Similar documents
Version Control with Git

Software configuration management

Revision Control. An Introduction Using Git 1/15

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Index. Alias syntax, 31 Author and commit attributes, 334

Tools for software development:

Version Control. Version Control

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CSC 2700: Scientific Computing

Source Code Management wih git

GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová,

Version Control Systems

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git

Introduction to GIT. The distributed SCM

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

VSO. Configuration Management

Revision Control and GIT

Git. A Distributed Version Control System. Carlos García Campos

Agenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)

Version Control Systems (VCS)

Introduction to GIT. Jordi Blasco 14 Oct 2011

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A:

GIT for companies Mark Struberg, INSO TU Vienna

Common Configuration Management Tasks: How to Do Them with Subversion

Managing Source Code With Subversion

Source Code Management

Git. (Why not CVS?... because Git.) Karel Zak Florian Festi Bart Trojanowski December 20, 2007

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18

Version Control System - Git. zswu

CS 390 Software Engineering Lecture 5 More Git

E, F. deleteall command, 352 directory structure, 350 export_data method, 353 inline_data method, 353 print_export method, 351 target directory, 351

Review Version Control Concepts

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Git for Subversion users

Revision control. INF5750/ Lecture 2 (Part I)

Tizen/Artik IoT Practice Part 4 Open Source Development

Algorithm Engineering

Version Control with GIT: an introduction

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

A BASIC UNDERSTANDING OF VERSION CONTROL

Version Control System GIT

Project Management. Overview

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

Version Control: Gitting Started

Git - A brief overview

Push up your code next generation version control with (E)Git

Introduction to distributed version control with git

Version Control. Version Control

Decentralized Version Control Systems

Contribute To Linux Mainline

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

Lab Objective. Lab Assignment. Downloads and Installation

Revision Control II. - svn

A Practical Introduction to Version Control Systems

GETTING TO KNOW GIT: PART II JUSTIN ELLIOTT PENN STATE UNIVERSITY

Version Control. So#ware Quality Quality Audit and Cer2fica2on. Master in Computer Engineering. Roberto García

Technology Background Development environment, Skeleton and Libraries

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing

Outline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

Revision Control. Software Engineering SS 2007

Git Basi, workflow e concetti avanzati (pt2)

Technology Background Development environment, Skeleton and Libraries

MOOSE-Based Application Development on GitLab

Git. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)

Subversion Repository Layout

TDDC88 Lab 4 Software Configuration Management

Lecture 01 - Working with Linux Servers and Git

Version Control. 1 Version Control Systems. Ken Bloom. Linux User Group of Davis March 1, 2005

Introduction to Version Control

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

How to be a git. Dominic Mitchell

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

Creating a Patch. Created by Carl Heymann on 2010 Sep 14 1

Part I Part 1 Version Control Systems (VCSs)

Fundamentals of Git 1

Version control CSE 403

GIT. CS 490MT/5555, Spring 2017, Yongjie Zheng

Subversion. An open source version control system. W. Miah escience Rutherford Appleton Laboratory

Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.

Distributed Version Control (with Git)

Git, the magical version control

Git Like You Mean it. Alan Ott SCaLE 16x March 8-11, 2018

Configuration Management

Version Control with Git

CS 261 Recitation 1 Compiling C on UNIX

Department of Computer Science College of Engineering Boise State University

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Version Management

KTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -

git the SCM system Jan-Simon Möller training.linuxfoundation.org

EGit in Eclipse. Distributed Verzion Control Systems

Version control with Git.

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker

An Introduction to Subversion

Transcription:

Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon <jean.parpaillon@irisa.fr>

Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2

Kerrighed SCM - Facts One official repository http://scm.gforge.inria.fr/svn/kerrighed Kerrighed module, tools, libs 5 development branches Kerrighed kernel patch 5 development branches distro kernels w/o KDB Linux vanilla 3

Kerrighed SCM - Issues Development branches hard to merge (scripts) Flavours Hard to maintain Increasing number (distro support) No Linux upstream merging Is SVN the best solution for the Kerrighed project? 4

Subversion Concepts Began in 2000 Another implementation of CVS model Centralised repository Release based Differences Versioned meta-datas and directories Atomic commits (by date with CVS) rename and mv 5

Subversion Branches Easy branching, hard merging Branches branch trunk cp commit commit commit merge Revision diff Need to know branching revision Don't keep track of changelog No branch semantic Committing in a branch increase revision number 6

Subversion Access and tags One repository Basic access configuration (read/write) No developper classes Very hard to follow upstream devels with read access No tag semantic Tag can be different from a version to another 7

GIT - Concepts Decentralized Each repository is a branch Semantic a tree represents a directory a commit represents a tree, the preceding commit(s) and a message a tag is an alias for a commit A commit is designed by its checksum A commit can have several parents Represents a merge of 2 development lines 8

GIT - History Originally a very basic tool cogito written as a set of shell scripts above git Now git can be used alone Used for Linux project Very decentralized 9

GIT for Subversion users Subversion GIT svn commit git commit svn add rm mv mkdir svn add rm mv mkdir svn status log diff git status log diff svn import git clone svn update git pull svn merge git merge rebase svn switch git checkout svn cp <trunk> <tag> git tag svn cp <trunk> <branch> git branch 10

GIT Branches (1/3) trunk = master A local repository is a branch git clone Clone a remote repository Exception: remote master = local origin ~ svn checkout git pull Fetch updates from remote repository ~ svn update git push Upload objects to remote repository ~ svn commit 11

GIT Branches (2/3) Creating a local branch: git branch <name> SVN-like merge: git merge F G H branch F G H C'+D'+E' branch A B C D E master A B C D E master Merge++: git rebase Keep patches historic F G H branch F' G' H' branch A B C D E master A B C D E master 12

GIT Branches (3/3) Rebase conflict management F G H branch 1- git rebase F' G' branch A B C D E master A B C D E master 2- Resolve 3- git rebase F' G'' H' F' --continue branch master A B C D E A B C D E G'' branch master 13

GIT Repositories access (1/2) Decentralized SCM allows centralized development Centralized SCM hardly allows decentralized development GIT offers centralized accesses 14

GIT Repositories access (2/2) git-daemon git:// rsync:// gitweb http:// Examples: git-http-pull http://rsync.kernel.org/pub/scm/git/git.git/ git-clone git://www.kernel.org/linux/kernel/git/torvalds/linux- 2.6.git 15

GIT SVN import SVN import Import trunk branches and tags Keep synchronization with SVN 16

GIT Bisect Find a breaking commit by binary search (a)git bisect start (b)git bisect bad (c)git bisect good <good_commit_id> # Checkout the commit between these 2 (d)git bisect good (e)git bisect good (f)git bisect bad # etc. 17

GIT Other features Allows hook scripts gitk: git GUI Create mails with patches/apply patches from mail git archive: create archive from tree 18

GIT with Kerrighed Possible main repository...but local developments stay locals Many tools to: apply patches look for breaking patches merging branches syncing branches (rebase) Interfaces: web, tk SVN synchronisation Linux development done with git 19

References GIT online documentation http://www.kernel.org/pub/software/scm/git/docs/tutorial.html /usr/share/doc/git-doc/index.html (Debian) git help <command> Everyday GIT With 20 Commands Or So http://www.kernel.org/pub/software/scm/git/docs/everyday.html /usr/share/doc/git-doc/index.html (Debian) Les nouveaux systèmes de gestion de version, Stéphane Bortzmeyer, http://2005.jres.org/paper/2.pdf 20