Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.

Slides:



Advertisements
Similar presentations
Version Control System (Sub)Version Control (SVN).
Advertisements

LECTURE 14 OCT 22, 2010 Git, in graphic form. Change tracking basics.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
The basics of the Online Portal
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
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.
Panorama High School E.G.P./ Training to Put Students’ Grades on the Website Wednesday, September 29,
Nipissing’s ROMEO e-System Internal Research Funding (IRF) Internal Research Grant Application Form (IRG)
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
Version control Using Git Version control, using Git1.
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
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
1. Profile settings 2. Messaging system 3. Downloading files 4. Uploading files 5. Creating groups 6. Calendar events.
Go to your school’s web locker site school name.schoolweblockers.com) Your user name is the first letter of your first name, the first 4.
Git Fundamentals Rochelle Terman 13 January 2014.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
Go to your school’s web locker site Your user name is the first letter of your first name, the first four letters of.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
Intro to Git presented by Brian K. Vagnini Hosted by.
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.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Basic Web Design UVICELL Week 4 Templates and site management Week 4 Templates and site management.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Subversion Subversion is a brand of version control software that is frequently used to store the code and documentation of a project so as to permit.
Information Systems and Network Engineering Laboratory II
11 Version control (part 2)
NetApp Online Ordering User Tutorial
SVN intro (review).
LECTURE 2: Software Configuration Management
Version Control overview
ALICE-Juniors Meeting
Software Engineering for Data Scientists
Version Control with Git and GitHub
Services Course 9/9/2018 3:37 PM Services Course Windows Live SkyDrive Participant Guide © 2008 Microsoft Corporation. All rights reserved.
Macaualy2 Workshop Berkeley 2017
Mercurial & TorToise-HG
Bomgar Remote support software
Program Management Portal (PgMP): What’s New in Release 16.1
Version Control with Git accelerated tutorial for busy academics
Source Code Management
LECTURE 3: Software Configuration Management
The Big Picture
Rogers Sourcing Supplier Login Process For Returning Users
Getting Started with Git and Bitbucket
User Guide Subversion client TortoiseSVN
Using Github.
Git CS Fall 2018.
Version Control System - Git
The National Reference Metadata Editor (NRME)
Welcome to WebCRD.
Overview of Contract Association Batch Upload
GitHub and Git.
GitHub 101 Using Github and Git for Source Control
Version/revision control via git
Introduction to Git and Github
Git GitHub.
1. GitHub.
The National Reference Metadata Editor (NRME)
Presentation transcript:

Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018

The Benefits of Using GitHub The model is stored in a remote repository (GitHub) rather than on a single modeler’s workstation, and thus is accessible by all people needing to view or update the model. GitHub manages the changes to the model, and will indicate there are “conflicts” if multiple people are attempting to update the same model fragment in error (and thus will not allow the update until conflicts are resolved). GitHub keeps track of the various versions of the model that are “merged” into the remote repository, thus providing a means to restore previous versions when required. GitHub tracks who has made changes, and which model files were changed. GitHub is used by multiple SDO’s for model versioning, allowing for easier access and exchange of models between the organizations.

Work Flow - Overview Overview of the procedural steps, or “work flow” in the use of GitHub for model versioning: Forking the Model Cloning the Model Opening the Model in Papyrus Updating the Model and Staging the Files Committing the Changes and Uploading to the Remote Repository Pull Requests

Overview of the GitHub Workflow The following diagram is extracted from the MEF process, which is identical to the ONF process and all other SDO’s implementing a “common” approach to modeling

Step #1: Forking the Model This step assumes that an ONAP model has been created in GitHub that will serve as the “master” model to which all proposed changes are merged and versioned. The goal is to create a “user’s” specific copy of the model in his own GitHub space. This is accomplished by going to the GitHub link of the “master” model and selecting on that page the option “fork”. During this process you will be asked where you want the forked copy to reside. You would supply the name of your user-id in GitHub, which might be something like: “JJEWITT58”. After the fork process, a copy of the model now resides in your user workspace. This is your “Remote Repository”. You should be able to browse it and see that it is an exact replica of the “master” model.

Step #2: Cloning the Remote Repository There may be different branches in the “master” repository, and the goal in this phase is to “clone”, or “copy”, a specific branch into the modeler’s local PC in a local repository. This is done using the git client that is contained in the Eclipse/Papyrus tool of the local PC. Start by opening the “Git” perspective in your tool. In the Git perspective, one would choose the option “Clone a Git Repository”. You then copy the address that is provided on the web page of the user’s Remote Repository into the URI field and enter your GitHub username and password. You are prompted to select the branch of the model you wish to clone. You then select the destination in your local PC where you wish the model to be stored, and check the option: “import all existing projects”, which results in Papyrus projects being created in your tool. You can now see the model in your Git Repository tool.

Step #3: Opening the Model in Papyrus Since you selected the option to create Papyrus projects in the previous step, the goal of this step is to visualize your model in Papyrus. You begin this step by opening up your “Papyrus Perspective” as an option in “Open Perspective”. In the Project Explorer, select the model you wish to visualize. Note, there may be a number of “sub-models” that have been created in a single model. You can either view the entire “model”, or view a specific sub-model by selecting that model in the overall model. You will then see the model you selected in the “Model Explorer”, and begin to display the various diagrams and artifacts associated with the model.

Step #4: Updating the Model and Staging the Files When you begin to make changes to the model, and select the “save” option in Papyrus, all your changes are saved to your local working directory on your PC. You can see where this “working directory” resides by selecting your cloned repository in the “Git Perspective”, and selecting the folder “Working Directory”. Once again in your “Git Perspective”, and having selected your local repository, you will see the files that you have changed in the “un-staged” files window on the bottom right of the page. You then select the files you want to stage by right-clicking on them and then selecting the option “Add to Git index”. Note, if you have made errors in the files you saved, instead of selecting the “Add” option, you can select “Replace with Head Revision”, and Git will go to your remote repository and download associated “un-changed” version of the file you selected.

Step #5: Committing the Changes and Uploading to Remote Repository In this step you will “commit” your changes in your local repository and “push” them to your remote repository. This can be done in one-step or two-step process. For the one-step process you select “Commit and Push” in the bottom right-hand corner. For the two-step process, first select “Commit”. In both cases, you must enter a “Commit” message indicating the changes you have made. If you chose the two-step process, you must now select your local repository that contains the changes, and right-click, selecting “Push Branch”. In both cases, your local repository is now “pushed”, or “copied” to your remote repository.

Step #6: Pull Requests Once you have done the “commit” and “push” to your remote repository, you go to your repository in GitHub. You are now ready to do a “Pull Request”. This is the process whereby the model administrator will “pull” your changes from your remote repository into the “master” version (or more specifically your development branch). This is accomplished by selecting the “Compare and Pull Request” in the remote repository. The modeler now sees a detailed comparison of the files that have changed, and may choose to add a comment. You then select the option “Create Pull Request”. The administrator of the ONAP repository receives the pull request and can merge the updates into its repository.