Process for SW Development

Slides:



Advertisements
Similar presentations
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Advertisements

Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
A primer on version control at OTN
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
Version control Using Git Version control, using Git1.
Drexel University Software Engineering Research Group Git for SE101 1.
Version Control. How do you share code? Discussion.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Ernst Peter Tamminga Get started with GitHub XCESS expertise center b.v. Netherlands.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Version Control Reducing risk with version control Jon Austin
Intro to Git presented by Brian K. Vagnini Hosted by.
Page 1 TBD 12/08/2014 Formation GIT Laurent Kappel Groupe SII 65, rue de Bercy Paris Tél : Fax :
GitHub and the MPI Forum: The Short Version December 9, 2015 San Jose, CA.
1 Web Design Workshop DIG 4104c – Lecture 5c Git: Branch and Merge J. Michael Moshell University of Central Florida giantteddy.com.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
ATS code development workflow Group Name: TST WG Source: Mahdi Ben Alaya, TST WG vice chair, SENSINOV, Miguel.
WG5 – MAS#21 Status Report Group Name: WG5 MAS (Management, Abstraction & Semantics) Source: Yongjing Zhang (Huawei, WG5 Chair) Meeting Date:
ATS code development workflow Group Name: TST WG Source: Mahdi Ben Alaya, TST WG vice chair, SENSINOV, Meeting Date: TST #21 Document.
WG5 – MAS#22 Status Report Group Name: WG5 MAS (Management, Abstraction & Semantics) Source: Tim Carey(Alcatel-Lucent, WG5 Vice Chair) Meeting Date:
ATS code development workflow Group Name: TST WG Source: Mahdi Ben Alaya, TST WG vice chair, SENSINOV, Miguel.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Discussion on Certification Group Name: TST WG Source: JaeSeung Song, WG6 Chair, Meeting Date: TST #21.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Software Configuration Management -Subversion- RTLAB YuJin Park.
CS5220 Advanced Topics in Web Programming Version Control with Git
Information Systems and Network Engineering Laboratory II
Source Control Systems
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
11 Version control (part 2)
LECTURE 2: Software Configuration Management
Version Control.
Git Practice walkthrough.
Code Management Releases
Discussion 11 Final Project / Git.
Version Control overview
Version control, using Git
WG5 – MAS#27 Status Report Group Name: WG5 MAS (Management, Abstraction & Semantics) Source: Yongjing Zhang (Huawei, WG5 Chair) Meeting Date:
CS5220 Advanced Topics in Web Programming Version Control with Git
CISC/CMPE320 - Prof. McLeod
Software Engineering for Data Scientists
Macaualy2 Workshop Berkeley 2017
Storing, Sending, and Tracking Files Recitation 2
Akshay Narayan git up to speed with RCS Akshay Narayan
LECTURE 3: Software Configuration Management
Getting Started with Git and Bitbucket
Advantages Project Career Divide & Conquer Collaboration
Git Best Practices Jay Patel Git Best Practices.
Source Code Repository
Using Github.
Git CS Fall 2018.
Version Control System - Git
Git started with git: 2018 edition
GitHub and Git.
GitHub 101 Using Github and Git for Source Control
Git Introduction.
Git GitHub.
1. GitHub.
Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.
Presentation transcript:

Process for SW Development Group Name: MAS Source: Laurent Velez, ETSI, Laurent.velez@etsi.org Andreas Kraft, DT, A.Kraft@telekom.de Meeting Date: 2017-08-28

Objectives In order to further enhance the existing SDT (latest version 3.0 under APL2), the SDT development under BSD-clause3 Open Source License was approved by SC It was proposed to use the oneM2M gitlab as software repository platform for hosting SDT development. This platform is already used by WGs: TST : TTCN-3 code development PRO : XSD MAS : Base Ontology, HAIM, OMD-DM and LWM2M xml, TR-0069 model Objective: Describe a lightweight process that defines how contributions to gitlab should be reviewed by MAS WG. The platform is accessible at : https://git.onem2m.org

Scenario The “merge request” is done at the end when the contribution has been reviewed, discussed and possibly updated in a meeting. It is convenient and flexible: When wanting to contribute to the software project, the contributor makes a contribution to the “normal” oneM2M document portal, using the input contribution/CR template. The document can have some explanation but mainly copy the url of the branch ( with the all commit unique identifiers) The contributor then creates a new branch in the gitlab that includes his contribution. The contribution could be one or more new features or an update of existing features. The name of the new branch must be the same as the contribution number assigned in step 1). The contributor The contribution of the branch can be reviewed in a meeting, using for instance the “Compare” function of the gitlab to indicate the changes vs the Master branch. If a revision of the contribution is needed , the revised code or artefacts are committed in to the same contribution branch as a new version, getting new commit identifiers. The document portal contribution is revised as well, reflecting the change and the new commit-ids. When the contribution is agreed by the WG, the corresponding code and artefacts of the contribution branch need to be merged into the master (Baseline). The rapporteur makes a “merge request” and then “merge” the branch to the master. Only the rapporteur is able to commit to the master. In case of more than one contribution affects the same code piece or artefact, which would lead to a conflict in merging, the WG decides which of the conflicting contributions is to be accepted first. The other contribution(s) must pull the new master version into their branch, resolve any conflicts and make a new contribution as described above. Tags should be used in order to distinguish intermediate and final uploads in a branch (for example, for review, for revisions, when accepted, etc.)

Gitlab Project MAS/SDT

Master Branch = Baseline

Procedure 1) Clone the project to get the lastest baseline git clone https://git.onem2m.org/MAS/SDT4.git 2) Update the source code you want to contribute cd SDT4 Update the files 3) Make a contribution on the oneM2M portal to reflect the proposed changes But don’t upload yet the file, just book the document number Ex: MAS-2017-2000-Update-feature1 4) Create a branch on the git, naming it as the contribution name git checkout –b MAS-2017-2000-update_feature

Procedure 5) Add the files, commit and push the code to the branch. The commit indication must the contribution name, here « MAS-2017-2000 » git add . git commit –m “MAS-2017-2000” git push origin MAS-2017-2000-update_feature 6) Upload the contribution MAS-2017-2000-update_feature to the oneM2M portal. The contribution should contain the description of the proposed changes The full list of commits, including the commit unique identifier and the changes Ex : https://git.onem2m.org/MAS/SDT4/commit/5ad956c785ef9bf5934ae5d7d2539d5f4dc446a1 7) The contribution is reviewed in meeting/conf call like any other contributions

Procedure 8) If the contribution is not AGREED and a revision is needed The contributor: update the source files in his own folder Switch the the contribution branch git checkout –b MAS-2017-2000-update_feature Add file git add . Commit indication the revised contribution number git commit –m “MAS-2017-2000R01” Push the code to the branch git push origin MAS-2017-2000-update_feature Upload the revised contribution MAS-2017-2000R01-update_feature to the oneM2M portal. The contribution should contain the description of the proposed changes The full list of all the commits since previous revision, including the commit unique identifier and the changes Ex : https://git.onem2m.org/MAS/SDT4/commit/5ad956c785ef9bf5934ae5d7d2539d5f4dc446a1

Procedure 8) When the contribution is AGREED by WG The rapporteur makes a “merge request” and then “merge” the branch to the Master. Only the rapporteur is able to commit to the Master. 8) When the contribution is AGREED by WG

External Contributions In the procedure, the source code is linked to the oneM2M portal, so only the oneM2M members can contribute However, everybody can create an account on the gitlab and create an « issue » on the bugtracker of gitlab ( describing the proposed changes and attaching files) It is up to the oneM2M members the discuss and acceppt the inputs described in the issue and create a corresponding contribution.

Thoughts In the previous procedure, there is one master branch and all the contributions are branches, which are merged into the master by the rappoteur after final acceptance. Git Tags could be used in order to mark certain stages in the tree to easier distinguish intermediate/draft and final commits.