Why To Go With Licensed Version Control Tool When Open Source Tool Is There

Similar documents
Revision Control. An Introduction Using Git 1/15

Visualizing Git Workflows. A visual guide to 539 workflows

Git for Version Control

Software Development I

Github/Git Primer. Tyler Hague

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

CS 390 Software Engineering Lecture 5 More Git

Gitlab Setup/Usage by Yifeng Zhu modified by Vince Weaver 30 January 2019

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

Beyond git add/commit/push

Use git rm to remove files from workspace

The Old World. Have you ever had to collaborate on a project by

Revision control. INF5750/ Lecture 2 (Part I)

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

Git tutorial. Katie Osterried C2SM. October 22, 2015

AIS Grid School 2015

Version Control. Version Control

LAB MANUAL GIT BY PRATIK JAIN. To start with git bash, we need to authenticate ourselves so that for every commit, git can use this information.

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Introduction to Version Control

Object Oriented Programming. Week 1 Part 2 Git and egit

Introduction to distributed version control with git

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

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

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

Windows. Everywhere else

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

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

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

A quick (and maybe practical) guide to Git and version control. By Jay Johnson

A BASIC UNDERSTANDING OF VERSION CONTROL

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion

Version Control: Gitting Started

Review Version Control Concepts

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control?

Version control with Git.

Git(Lab) Tutorial and Hands-On

CS314 Software Engineering Configuration Management

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

Version Control. Version Control

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

Computer Science Design I Version Control with Git

Praktische Aspekte der Informatik

Software Revision Control for MASS. Git Installation / Configuration / Use

2 Initialize a git repository on your machine, add a README file, commit and push

Submitting your Work using GIT

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

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

LPF Training Handbook!

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

Code and data management with Git

Using Git to Manage Source RTL

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

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018

G E T T I N G S TA R T E D W I T H G I T

Git for Subversion users

USER GUIDE. MADCAP FLARE 2017 r3. Source Control: Git

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

Version Control System - Git. zswu

Tips on how to set up a GitHub account:

Software Revision Control for MASS. Git Basics, Best Practices

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014

Improving Your Life With Git

RSARTE Git Integration

How To Use Git. Advanced: Tags & Branches. Mary Kate Trost July 8, 2011

Tizen/Artik IoT Practice Part 4 Open Source Development

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Git, the magical version control

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

Fundamentals of Git 1

CSE 391 Lecture 9. Version control with Git

Lecture 6 Remotes. Sign in on the attendance sheet!

Version Control with GIT

Git for Newbies. ComMouse Dongyue Studio

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.


git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

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

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

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

Make sure to mark it private. Make sure to make it a Mercurial one and not a Git one.

CSE 331 Software Design & Implementation

DEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM GIT WITH MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY

Version control with git and Rstudio. Remko Duursma

Introduction to Version Control with Git

Version Control System GIT

#25. Use Source Control in a Single- Developer Environment

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Lab Objective. Lab Assignment. Downloads and Installation

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

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

Git. Presenter: Haotao (Eric) Lai Contact:

CS 320 Introduction to Software Engineering Spring February 06, 2017

Effective Software Development and Version Control

Lab 08. Command Line and Git

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

CS 261 Recitation 1 Compiling C on UNIX

Transcription:

Why To Go With Licensed Version Control Tool When Open Source Tool Is There Mansi Goel 12* Priyanka Jain 12* 1. Master From Banasthali University, Rajasthan, India 2. Project Intern at ST Microelectronics Pvt. Ltd. Greater Noida - 201308, India Abstract * E-mail of the corresponding author: goelmansi28@gmail.com, priyanka.jain2k5@gmail.com This Paper introduces why organizations should use licensed version control tool when open source tool (GIT) is available in the market. To purchase and maintain such tools, it s hard for the small organizations, and now becoming a challenge for the large organizations too. For such kind of reasons and to make organizations cost effective, idea came for migration from vendor IBM Rational ClearCase to an open Source tool GIT/subversion. When all similar features are available in the open source tool GIT. Keywords: Software configuration management, ClearCase, GIT, repository, cloning. 1. Introduction Microsoft releases various versions of Windows. For each and every release, either old features are modified or new features are added. One release contains several programs.each program compromises of several features and multiple developers contribute for the same program working on different features. Conflicts could occur, when two or more than two people work on same feature. So, to maintain conflicts and track the changes Software Configuration Management Tool is required. In ST Microelectronics IBM Rational ClearCase is used. ClearCase is software configuration version control tool. It is licensed version tool as well as its maintenance cost is too high. Why vendors should use IBM Rational ClearCase when same services and functionality is provided by Open Source Tool, GIT. GIT is a free, distributed version control open source tool. [2] There are three components in GIT which can maintain small as well as large projects a.working Directory A works. Local copy of the repository is maintained in the local machine where actually user 30

b. Index- Changes are temporary saved and yet to be commited. c. Repository- Central Folder is maintained for the project, accessible to all the developers those belongs to their respective projects. [5] Now our task is to migrate from IBM Rational ClearCase to Open source GIT. We prepared complete proof of concept for the migration. MIGRATION PROPOSAL PROPOSAL1: Transfer everything from ClearCase to GIT including all versions and History PROPOSAL 2: Transfer only Last version to GIT and ClearCase would be existing for older version reference with limited licenses for 1 year. Time : Can take 6 month to 1 year Effort : Avg 1 day (8 hrs) per Project/App Risk : Minor Resources : One trainee for 6 months - 1 year We are going with the second proposal, because for first proposal lots of effort and time would be used. It would also create duplicity of data. 2. IMPLEMENTATION OF GIT Getting Started Git can be installed on the local machine from the Web directly without any license and administration rights. With installation GIT GUI and GIT Bash is installed. [1] GIT GUI: Graphical Interface of GIT GIT Bash: Command prompt for GIT like Puttygen Step1: Creating a Repository GIT Bash. To create a repository firstly maintain a folder for the project. Then Right Click on the folder and Click 31

Note: Create SSH Key through command ssh keygen for authentication. Copy the ssh path URL into the Source Location and Target Directory would be any local path where we want to clone the Repository. Step2: Cloning Cloning is the beauty of GIT. Organization would be maintaining a centralized directory consisting of all projects/repositories. For working on the respective project, developer has to copy the repository on his own local machine. For this either we can use command <git clone> or we can use graphical interface to clone. Step3: Workflow We have cloned a repository from the centralized location. Right click on the Folder to open GIT Bash Here. 32

a.) Create a File Can Create a file using vi editor e.g. vi demo_test. b.) Add and Commit We added the file (demo_test) to the staging area using <git add.> and Then save the content of this file using <git commit file name>. c.)branching Branch means a line of development. It is reference to the most recent commit on a branch. We created a branch e.g. demo_br using <git branch demo_br> By default it always points to Master. To switch on any working branch <git checkout branch name>. Note: Above figure is depicting the example of branch. We can also create a Tag (Label) on the branch to point out a specific commit because it references to an important step in your project development, use the Tag object using <git tag branch_name>. 33

Step4: Working With Remote PULL = Fetch + Merge To work on any File/Branch of the project on which others are working or have worked, fetch the data from the centralized location to the local machine. Or if local machine contains same file/ Branch and we want to update our data to work on the same File/ Branch we can merge the files. Fetch operation to get changes made by another user using <git fetch - all> We can also see the graphical representation of all the performed operations, using <gitk> on GIT Bash. Merging To merge data, when wanted to work on the branch/file on which someone has worked. Merging is also possible with merge tool manager, kdiff3, we can open a tool using a command on GIT bash < git merge tool -t kdiff3> [4] 34

To update the centralized repository after working on the local machine so, that other members can be able to work on the same branch/file, PUSH is performed. git push < remote> <branch> Central repository is updated. 35

3. Comparison between ClearCase and GIT Much Less Bit Less Better 36

4. Conclusion GIT is fully distributed, offline work is possible, and every clone is backup of the repository. Everything is very fast. IT is cost effective would help to increase business profit as well as user friendly. GIT is best open source tool to manage software configuration. We have modeled such structure in our organization to save the cost working effectively and efficiently. [2] 5. References [1]. http://msysgit.github.com/ [2]. http://git-scm.com/ [3]. http://git-scm.com/book/ [4]. http://gitref.org/ [5]. http://progit.org/ 37