Using Git for Project Management with µvision
|
|
- Timothy Carpenter
- 8 years ago
- Views:
Transcription
1 MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time zones. Synchronizing the development work is the main task for project managers. As this work cannot be done by sending files via from one location to another, Software Version Control Systems (SVCS) are used. In the past, Concurrent Versions System (CVS) and Subversion (SVN) have been popular for workflows with a centralized server infrastructure. Nowadays, more and more decentralized workflows have been established, making use of a new SVCS called Git. This application note describes how to integrate Git into µvision and how to establish a robust workflow for version control of projects using Software Packs. Contents Abstract...1 Introduction...1 Workflows...2 Centralized Workflow...2 Using Git with µvision...3 Project Files under Version Control...3 Files that do not need to be monitored...3 Configure µvision s SVCS...3 Version Control of Software Packs...4 Centralized Workflow Example Initialize the Central Repository Clone a Repository from a Server Feature Work Manage Conflicts Conclusion Appendix A: Software Appendix B: Links Introduction Revision control is being used for a couple of years now in software development. In the past, centralized server infrastructures have been used to track the changes in the source code of a microcontroller development project. With the release of Git, decentralized VCS have become more and more popular. Git, which is free software distributed under the terms of the GNU General Public License, was developed for maintaining the Linux kernel. It became more and more popular and is now the de-facto standard in source control management (SCM), another term for VCS. This application note assumes that you have installed Git on your PC (refer to Appendix A: Software) and do know how to use the Windows command shell (cmd.exe). 1
2 Workflows Using Git, you can make use of various workflows when maintaining a software project: Centralized workflow as known to users of CVS and SVN Feature Branch workflow that adds a branch for every feature that is to be developed to the master branch Gitflow workflow using specific roles to different branches such as develop, feature, and release branch Forking workflow that is a truly distributed workflow in the sense that every developer has his own fork of the master branch and only one project maintainer is accepting commits to the master branch This application note explains how to use µvision in a centralized workflow environment. Other workflows can be realized as well using a mix of Git commands from within µvision and using the command line/gui. For more information on workflows, see Appendix B: Links. Centralized Workflow In a centralized work environment, there is usually a single collaboration model: the centralized workflow. A central repository accepts code changes, and every developer synchronizes his work to it. This is just like using SVN for example. However, using Git has a few advantages over the traditional SVN workflow. First, it gives every developer an own local copy of the entire project. In this local environment, each developer can work independently of all other colleagues. The local repository is used for commits and they can completely forget about the original one until it's convenient for them. Second, all developers can use Git s robust branching and merging model. Git branches are designed to be failsafe when adding code and sharing changes between repositories. The centralized workflow uses a central repository serving as the entry point for all project changes. The default development branch is called master and all changes are committed into this branch. No other branches are required by this workflow: 1. Initialize the central repository 2. Clone a Repository from a Server 3. Feature work (stage/commit/push) 4. Manage Conflicts 2
3 Using Git with µvision Project Files under Version Control Before setting up the workflow, the project manager should be absolutely clear about the files that need to be version controlled. Of course all source code files need to be versioned, but there are a couple of files that are special to µvision that need to be monitored as well. All user generated source files (*.c, *.cpp, *.h, *.inc, *.s) Project file: Project.uvprojx (is used to build the project from scratch) Project options file: Project.uvoptx (contains information about the debugger and trace configuration) Project file for multi-project workspaces: Project.uvmpw Configuration files for the run-time environment that are copied to the project (all files below.\rte) List of #includes created by software components: RTE\RTE_Components.h file Device configuration file: for example RTE\Device\LPC1857\RTE_Device.h Linker control file (Project.sct) if created manually All relevant Pack files (for example ARM::CMSIS, Keil::Middleware, Device Family Packs, etc.) Files that do not need to be monitored Project screen layout file: Project.uvguix.username All files that are part of a Pack (the complete Pack will be revision controlled and is available to every user as soon as he is installing it using Pack Installer) Generated output files in the sub-directories.\listings and.\objects INI files for debug adapters Configure µvision s SVCS Before using Git for SCM, you need to configure µvision s software version control menu. µvision 5.15 is providing a SVCS template file for Git. It resides in the installation directory (for example C:\Keil_v5\UV4) and is called GIT.SVCS. For versions previous to 5.15, please use the file as it is provided in this application note s ZIP file and copy it to the µvision installation directory. 1. Open µvision and go to SVCS Configure Software Version Control 2. Enter the path to the template file: When done, press OK. Now, µvision is ready to use Git as the version control system. 3
4 Accessing µvision Project Files When working with the SVCS menu, you can usually access files that are highlighted in the Project window of µvision. For example, if you are clicking on the File Blinky.c in the Project window and you then go to the SVCS menu, you will see the SVCS options for the Blinky.c file: To catch µvision s project related files (uvmpw, uvprojx, uvoptx), click on the following (or equivalent): WorkSpace uvmpw Project uvprojx Target 1 uvoptx Version Control of Software Packs To ensure that only a certain version of a Software Pack is used in a project, use the Select Software Packs icon: This will open a new window that enables you to set the versions of all Software Packs: Hint: Uncheck Use latest versions of all installed Software Packs. The information about the selected Software Pack versions is stored in the Project.uvprojx file that is also under version control using this workflow. 4
5 Centralized Workflow Example The following sections show an example for the centralized workflow. Other workflows can be derived from the example. If the SVCS menu does not provide an entry for a required Git command, use either the GUI or the command line instead. 1. Initialize the Central Repository Not all steps in the workflow can be accomplished using µvision. Some steps (especially the one for initializing the repository) need to be made using additional software. Throughout this application note, Git for Windows is used. You can either use the tool s GUI or type in the required commands in a Windows command shell as described here. A project has been added to this application note s ZIP file. It is contained in the sub-directory RTX_Blinky. Copy this folder to your hard disk, for example to C:\workdir. Open a Windows command shell by typing cmd in the address bar of Windows explorer and hit enter. A command shell opens up with the project directory: At the command prompt, enter C:\workdir\RTX_Blinky>git init Initialized empty Git repository in C:/workdir/RTX_Blinky/.git/ Now, you have to add your remote repository to your working copy (note that this remote repository must already exist please consult your Git server space provider for details): C:\workdir\RTX_Blinky>git remote add origin Then add (stage) all files from the project: C:\workdir\RTX_Blinky>git add * warning: LF will be replaced by CRLF in Blinky.uvoptx. The file will have its original line endings in your working directory. warning: LF will be replaced by CRLF in Blinky.uvprojx. The file will have its original line endings in your working directory. Note: The project files uvprojx and uvoptx have UNIX-style line endings (LF). In Windows systems, usually CRLF is used. Git automatically detects this and changes the line endings to CRLF on the server. But then the status of these two project files is always changed. You can get around this problem using the command git config --global core.autocrlf false Commit all files and add a description for the commit: C:\workdir\RTX_Blinky>git commit -m "Initial version" [master (root-commit) b71a02e] Initial version warning: LF will be replaced by CRLF in Blinky.uvoptx. The file will have its original line endings in your working directory. warning: LF will be replaced by CRLF in Blinky.uvprojx. The file will have its original line endings in your working directory. 12 files changed, 5408 insertions(+) create mode Blinky.c create mode Blinky.uvoptx create mode Blinky.uvprojx create mode Debug_RAM.ini create mode Packs/ARM.CMSIS pack create mode Packs/Keil.LPC1800_DFP pack create mode RTE/CMSIS/RTX_Conf_CM.c 5
6 create mode RTE/Device/LPC1857/RTE_Device.h create mode RTE/Device/LPC1857/startup_LPC18xx.s create mode RTE/Device/LPC1857/system_LPC18xx.c create mode RTE/RTE_Components.h Finally, push the files to the server: C:\workdir\RTX_Blinky>git push -u origin master Username/Password Counting objects: 19, done. Delta compression using up to 4 threads. Compressing objects: 100% (17/17), done. Writing objects: 100% (19/19), MiB KiB/s, done. Total 19 (delta 0), reused 0 (delta 0) To * [new branch] master -> master Branch master set up to track remote branch master from origin. Congratulations! You have created your first Git repository. For a more detailed description of the commands that you have just used, go to section Clone a Repository from a Server To get a copy of an existing Git repository (for example, a project that is created within your engineering group), you need to use the command git clone. In contrast to other version control systems such as SVN, the command is called clone and not checkout. Instead of getting just a working copy, a full copy of nearly all data on the server is saved to your hard drive. For example: C:\workdir> git clone You will be asked for your username and password. The command creates a sub-directory named rtx_blinky in C:\workdir, initializes a.git directory inside it, downloads all the data for that repository, and checks out a working copy of the latest version. If you change into the new rtx_blinky directory, you will see the µvision project files. If you want to clone the repository into a different directory, specify the name as the next command-line option: C:\workdir> git clone MyBlinky A number of different transfer protocols is available in Git. This example uses the protocol, but you may also see git:// or ssh://user@server:path/to/repo.git. 6
7 3. Feature Work Now, you have a Git repository and a checkout or working copy of the files for that project. Working on the project will create some changes and you will need to commit snapshots of those changes into your repository from time to time. Each file in the working directory is in one of the following two states: tracked or untracked. Tracked files were already present in the last snapshot; they can be unmodified, modified, or staged. Untracked files are everything else (for example build output logs etc.) any files in the working directory that were not present in the last snapshot and are not in the staging area. Cloning a repository for the first time, all files will be tracked and unmodified. While editing files, Git will recognize them as modified, because they have changed since the last commit. Staging modified files and then committing all staged changes will make them be tracked/unmodified again: Checking the File Status To determine the status of your files use the git status command. It is available in the SVCS menu (Status). If you run this command directly after a clone, your Build Output window will show something similar: When opening the project, µvision automatically generates a uvguix.username file. This is marked as not tracked (because it is not required). Staging (Adding) an Untracked File For this example, we will create a text file to will explain the usage of the project. The file will be added to the working copy of the project and later committed to the origin. In µvision, right-click on Target 1 and choose Add Group. New Group will be added in the Project window. Click on New Group and a cursor should appear. Change the group name to Documentation. Right-click on Documentation and choose Add New Item to Group Documentation. In the next window, click on Text File (.txt) and enter Abstract as the name. The 7
8 file will be added and opened in the editor. Enter any text that might seem fit. A git status will show the file as untracked. In order to begin tracking (or adding) Abstract.txt, use git add. Make sure that the file is highlighted in the Project window and then go to SVCS Stage Abstract.txt : The Build Output echoes the command: git add C:\workdir\RTX_Blinky\Abstract.txt Rerun the git status command to see the file now being tracked and staged for the next commit: Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: Abstract.txt Before committing the file, let s change another file so that it changes from unmodified to modified. Staging Modified Files Double-click Blinky.c to open it. After line 26 there are two empty lines. Delete line 27 and save the file. Another git status will output the following: Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: Blinky.c To stage the changed file, use the Stage item on the SVCS menu as shown in the previous step. Check the successful staging using the git status command. Removing a Tracked File The GIT.SVCS file does not provide the ability to use the git rm command. This command removes a file from the staging area and from the working directory. But the file still might be visible in µvision (especially when you have the file open in the Editor window). This might lead to unexpected behavior. To remove a file safely from a µvision project and the working repository, do the following: Close the file in the Editor window. In the Project window, right-click on the file and select Remove File MyFile.c Switch to your Windows command shell, go to the file s directory and issue the command git rm MyFile.c At the next commit, the file will be gone and no longer tracked. If you modified the file in between and added it to the index already, the removal must be forces using the -f option. This safety feature prevents from accidentally removing data that has not yet been part of a snapshot and that cannot be recovered from Git. 8
9 Committing Changes Before issuing the git commit command, check the project for unstaged files. A commit will only accept staged files. Any created or modified files which have not yet been staged won t go into this commit. They will remain modified on the hard disk. To commit, go to SVCS Commit staged changes. A window for entering the commit message will open: Enter the comment text and press OK. The Build Output window will show the success of the git commit: git commit -m C:\Users\User\AppData\Local\Temp\Sccs13 [master 1d1b0e6] C:\Users\User\AppData\Local\Temp\Sccs13 2 files changed, 1 insertion(+), 1 deletion(-) create mode Abstract.txt Pushing to the Repository When the project has reached a point can be shared with others, it has to be pushed upstream (to the repository server): git push [remote-name] [branch-name]. The built-in command in the SVCS menu goes one step further. It uses git push origin master to push the master branch to the origin server. There are two prerequisites for this command to work properly: 1. You need to have write access to the server you are pushing to and 2. Nobody has pushed in the meantime. If this happens, your push will be rejected:! [rejected] master -> master (fetch first) error: failed to push some refs to ' hint: Updates were rejected because the remote contains work that you do not have locally. This is usually caused by another repository pushing to the same ref. You may want to first integrate the remote changes (e.g., 'git pull...') before pushing again. See the 'Note about fast-forwards' in 'git push --help' for details. You ll have to pull down first and incorporate any changes or rebase before you will be allowed to push. 9
10 4. Manage Conflicts Rebasing The Git server s central repository is the one that every developer will finally commit to. If a developer s local commits diverge from this repository, Git will refuse to push the changes. Before the developer can publish on the server, all updated commits on the central repository need to be fetched and the changes need to be rebased on top of them. This results in a linear history on the central repository, just like in a SVN workflow. If some of the changes are conflicting directly with upstream commits, Git will pause the rebasing process. The developer can then manually resolve the conflicts. For generating commits and merging conflicting files, Git uses the same git status and git add commands. This makes it easy to manage merges. To rebase, use SVCS Rebase. This will issue a git pull --rebase origin master that tells Git to move all of your commits to the tip of the master branch after synchronizing it with the changes from the central repository. Rebasing transfers each local commit to the central repository s master branch one at a time. Thus, merge conflicts are caught on a commit-by-commit basis rather than by resolving all at once in a single merge commit. If two developers have worked on the same features (for example Blinky.c), the rebasing process will generate conflicts. Git will pause the rebase (at the current commit) and the Build Output window will show the following conflict message: git pull --rebase origin master From * branch master -> FETCH_HEAD 44af614..cdfdc12 master -> origin/master First, rewinding head to replay your work on top of it... Applying: C:\Users\User\AppData\Local\Temp\Sccs5 Using index info to reconstruct a base tree... M Blinky.c Falling back to patching base and 3-way merge... Auto-merging Blinky.c CONFLICT (content): Merge conflict in Blinky.c Failed to merge in the changes. Patch failed at 0001 C:\Users\User\AppData\Local\Temp\Sccs5 The copy of the patch that failed is found in: c:/workdir/usb_test/.git/rebase-apply/patch When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". 10
11 Also, the problem will be shown in the Editor window, for example: Blaming To get more information on the changes, you can use Git s blame feature. While the main.c file is highlighted in the Project window, go to SVCS Blame Blinky.c. This will initiate the GUI of Git for Windows and show the details of the differences (hovering over the window will give more details in the yellow boxes): Finishing the Rebase Process When finished merging the file(s), do not forget to stage (git add) them. A commit is not necessary at this time as you are rebasing. Then, you need to continue the rebase process. This is not available from within µvision. You need to switch to the Windows command shell and enter: C:\workdir\rtx_blinky>git rebase --continue Git will acknowledges the changes with Applying: C:\Users\User\AppData\Local\Temp\Sccs5 Finally, do not forget to push the changes to the server (see next section). Stashing a Project Sometimes, things can get messed up and you do want to switch branches for a while to work on another part of the project. But you do not want to commit half-done work to get back to this point later. To come around this problem, you need to issue the git stash command. Stashing takes the current (messy) state of your working directory (all modified tracked files and staged changes) and saves it on a stack of unfinished changes that can be reapplied to the working directory at any time. 11
12 Pulling the Latest Version from the Server Repository To pull the latest version from the remote server, go to SVCS Pull latest version from server. This will initiate the git pull command: git pull From d8418bf..6fbcd97 master Merge made by the 'recursive' strategy. Whatever has been changed A subsequent git push should show no errors: git push origin master To 6fbcd97..e0c5dd3 master -> master Conclusion -> origin/master This application note has shown one way of using Git with µvision. As Git offers may ways of collaboration, please consult the available literature that is stated below on how to use Git for a distributed workflow. Using a combination of the commands from the GIT.SVCS file and the command line/git GUI, you can use any workflow supported by Git. Appendix A: Software To be able to use Git on a Windows PC and from within µvision, you need to install the following software: Git for Windows: For MDK versions below 5.15, you need to add the µvision SVCS template file for Git which is part of this application note s ZIP file: www. Please copy the file to the µvision installation directory, for example C:\Keil_v5\UV4 Appendix B: Links Git: Git Book: Git server space providers: Possible Workflows: Migrate from SVN to Git: More information on Git replacing LF with CRLF: 12
Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
More informationFEEG6002 - Applied Programming 3 - Version Control and Git II
FEEG6002 - Applied Programming 3 - Version Control and Git II Sam Sinayoko 2015-10-16 1 / 26 Outline Learning outcomes Working with a single repository (review) Working with multiple versions of a repository
More informationVersion Control. Version Control
Version Control CS440 Introduction to Software Engineering 2013, 2015 John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important
More informationIntroducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
More informationVersion Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
More informationMATLAB & Git Versioning: The Very Basics
1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:
More informationVersion control with GIT
AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips
More informationIntroduction to Git. Markus Kötter koetter@rrzn.uni-hannover.de. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter koetter@rrzn.uni-hannover.de Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
More informationVersion Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
More informationCPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
More informationVersion Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
More informationTwo Best Practices for Scientific Computing
Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,
More informationCS 2112 Lab: Version Control
29 September 1 October, 2014 Version Control What is Version Control? You re emailing your project back and forth with your partner. An hour before the deadline, you and your partner both find different
More informationVersion Control Systems (Part 2)
i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version
More informationGit Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.
Git Basics Christian Hanser Institute for Applied Information Processing and Communications Graz University of Technology 6. March 2013 Christian Hanser 6. March 2013 Seite 1/39 Outline Learning Targets
More informationVersion control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison
Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin
More informationUNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your
More informationVersion Control with Git. Dylan Nugent
Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just
More informationVersion Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
More informationGit. A Distributed Version Control System. Carlos García Campos carlosgc@gsyc.es
Git A Distributed Version Control System Carlos García Campos carlosgc@gsyc.es Carlos García Campos carlosgc@gsyc.es - Git 1 A couple of Quotes For the first 10 years of kernel maintenance, we literally
More informationData management on HPC platforms
Data management on HPC platforms Transferring data and handling code with Git scitas.epfl.ch September 10, 2015 http://bit.ly/1jkghz4 What kind of data Categorizing data to define a strategy Based on size?
More informationIntroduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
More informationMOOSE-Based Application Development on GitLab
MOOSE-Based Application Development on GitLab MOOSE Team Idaho National Laboratory September 9, 2014 Introduction The intended audience for this talk is developers of INL-hosted, MOOSE-based applications.
More informationDAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014
DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required
More informationVersion control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
More informationVersion Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
More informationGit - Working with Remote Repositories
Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync
More informationIntroduction to Source Control ---
Introduction to Source Control --- Overview Whether your software project is large or small, it is highly recommended that you use source control as early as possible in the lifecycle of your project.
More informationIntroduction to the Git Version Control System
Introduction to the Sebastian Rockel rockel@informatik.uni-hamburg.de University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationVersion Control with Subversion and Xcode
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
More informationVersion Control with Git. Linux Users Group UT Arlington. Rohit Rawat rohitrawat@gmail.com
Version Control with Git Linux Users Group UT Arlington Rohit Rawat rohitrawat@gmail.com Need for Version Control Better than manually storing backups of older versions Easier to keep everyone updated
More informationUnity Version Control
Unity Version Control with BitBucket.org and SourceTree BLACKISH - last updated: April 2013 http://blog.blackish.at http://blackish-games.com! Table of Contents Setup! 3 Join an existing repository! 4
More informationLab Exercise Part II: Git: A distributed version control system
Lunds tekniska högskola Datavetenskap, Nov 25, 2013 EDA260 Programvaruutveckling i grupp projekt Labb 2 (part II: Git): Labbhandledning Checked on Git versions: 1.8.1.2 Lab Exercise Part II: Git: A distributed
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationVersion Control Tutorial using TortoiseSVN and. TortoiseGit
Version Control Tutorial using TortoiseSVN and TortoiseGit Christopher J. Roy, Associate Professor Virginia Tech, cjroy@vt.edu This tutorial can be found at: www.aoe.vt.edu/people/webpages/cjroy/software-resources/tortoise-svn-git-tutorial.pdf
More informationVersion Uncontrolled! : How to Manage Your Version Control
Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code
More informationUsing Subversion in Computer Science
School of Computer Science 1 Using Subversion in Computer Science Last modified July 28, 2006 Starting from semester two, the School is adopting the increasingly popular SVN system for management of student
More informationCISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
More informationBeginning with SubclipseSVN
Version 2 July 2007 Beginning with SubclipseSVN A user guide to begin using the Subclipse for source code management on the CropForge collaborative software development site. Copyright International Rice
More informationIntroduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT
Introduc)on to Version Control with Git Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT Contents 1. What is Version Control? 2. Why use Version control? 3. What is Git? 4. Create
More informationVersion Control Systems
Version Control Systems ESA 2015/2016 Adam Belloum a.s.z.belloum@uva.nl Material Prepared by Eelco Schatborn Today IntroducGon to Version Control Systems Centralized Version Control Systems RCS CVS SVN
More informationDistributed Version Control with Mercurial and git
OpenStax-CNX module: m37404 1 Distributed Version Control with Mercurial and git Hannes Hirzel This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract
More informationVersion Control Systems: SVN and GIT. How do VCS support SW development teams?
Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it
More informationHow to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
More informationVersion Control Using Subversion. Version Control Using Subversion 1 / 27
Version Control Using Subversion Version Control Using Subversion 1 / 27 What Is Version Control? Version control is also known as revision control. Version control is provided by a version control system
More informationAnnoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.
Git vs Subversion Andrey Kotlarski 13.XII.2011 Outline Annoyances with our current source control Can it get more comfortable? Git Appendix Rant Network traffic Hopefully we have good repository backup
More informationMATLAB @ Work. MATLAB Source Control Using Git
MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can
More informationBlueJ Teamwork Tutorial
BlueJ Teamwork Tutorial Version 2.0 for BlueJ Version 2.5.0 (and 2.2.x) Bruce Quig, Davin McCall School of Engineering & IT, Deakin University Contents 1 OVERVIEW... 3 2 SETTING UP A REPOSITORY... 3 3
More informationSoftware Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
More informationSource Control Guide: Git
MadCap Software Source Control Guide: Git Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this
More informationTechnical Writing - Advantages of Version Control Systems
Fachpraktikum Grafik-Programmierung WS2010 Introduction to Version Control Alexandros Panagiotidis, Daniel Kauker Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Advantages of
More informationContent. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
More informationVersion Control with Git
Version Control with Git Ben Wasserman (benjamin@cmu.edu) 15-441 Computer Networks Recitation 3 1/28 What is version control? Revisit previous code versions Backup projects Work with others Find where
More informationAutoMerge for MS CRM 3
AutoMerge for MS CRM 3 Version 1.0.0 Users Guide (How to use AutoMerge for MS CRM 3) Users Guide AutoMerge.doc Table of Contents 1 USERS GUIDE 3 1.1 Introduction 3 1.2 IMPORTANT INFORMATION 3 2 XML CONFIGURATION
More informationSite Maintenance Using Dreamweaver
Site Maintenance Using Dreamweaver As you know, it is possible to transfer the files that make up your web site from your local computer to the remote server using FTP (file transfer protocol) or some
More informationSource Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
More informationVirtual Office Remote Installation Guide
Virtual Office Remote Installation Guide Table of Contents VIRTUAL OFFICE REMOTE INSTALLATION GUIDE... 3 UNIVERSAL PRINTER CONFIGURATION INSTRUCTIONS... 12 CHANGING DEFAULT PRINTERS ON LOCAL SYSTEM...
More informationSoftware configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
More information10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
More informationNASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
More informationFlumes Short User Guide to Subversion
Flumes Short User Guide to Subversion Peter Nordin January 7, 2014 This guide is primarily meant as an introduction to Subversion for users of the svn accounts administered by the Division of Fluid and
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer GIT
i About the Tutorial Git is a distributed revision control and source code management system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development.
More informationAn Introduction to Mercurial Version Control Software
An Introduction to Mercurial Version Control Software CS595, IIT [Doc Updated by H. Zhang] Oct, 2010 Satish Balay balay@mcs.anl.gov Outline Why use version control? Simple example of revisioning Mercurial
More informationSource Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE
Source Code Management for Continuous Integration and Deployment Version 1.0 Copyright 2013, 2014 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed,
More informationTutorial Guide to the IS Unix Service
Tutorial Guide to the IS Unix Service The aim of this guide is to help people to start using the facilities available on the Unix and Linux servers managed by Information Services. It refers in particular
More informationIntroduction to Operating Systems
Introduction to Operating Systems It is important that you familiarize yourself with Windows and Linux in preparation for this course. The exercises in this book assume a basic knowledge of both of these
More informationSetting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose
Setting up the Oracle Warehouse Builder Project Purpose In this tutorial, you setup and configure the project environment for Oracle Warehouse Builder 10g Release 2. You create a Warehouse Builder repository
More informationPKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3.
PKI, Git and SVN Presented by Adam Young Senior Software Engineer, Red Hat License Licensed under http://creativecommons.org/licenses/by/3.0/ Agenda Why git Getting started Branches Commits Why? Saved
More information13.1 Backup virtual machines running on VMware ESXi / ESX Server
13 Backup / Restore VMware Virtual Machines Tomahawk Pro This chapter describes how to backup and restore virtual machines running on VMware ESX, ESXi Server or VMware Server 2.0. 13.1 Backup virtual machines
More informationWorking with a Version Control System
Working with a Version Control System Summary Tutorial TU0114 (v2.4) March 18, 2008 This tutorial looks at how you can use Altium Designer s built-in version control capabilities to check project files
More informationUsing GitHub for Rally Apps (Mac Version)
Using GitHub for Rally Apps (Mac Version) SOURCE DOCUMENT (must have a rallydev.com email address to access and edit) Introduction Rally has a working relationship with GitHub to enable customer collaboration
More informationVersion Control with Subversion
Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or
More informationELF WP 2 UML repository instruction
ELF WP 2 UML repository instruction Author: Magnus Karge Date: 22/12/2014 Version: 1.2 Change Summary Version Date Author/Editor Change Summary 1.0 29/08/2013 Magnus Karge First version 1.1 17/10/2013
More informationVersion Control for Computational Economists: An Introduction
Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in
More informationXcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
More informationNAS 253 Introduction to Backup Plan
NAS 253 Introduction to Backup Plan Create backup jobs using Backup Plan in Windows A S U S T O R C O L L E G E COURSE OBJECTIVES Upon completion of this course you should be able to: 1. Create backup
More informationCS108, Stanford Handout #33. CVS in Eclipse
CS108, Stanford Handout #33 Winter, 2006-07 Nick Parlante CVS in Eclipse Source Control Any modern software project of any size uses "source control" Store all past revisions - Can see old versions, see
More informationHow to Setup and Connect to an FTP Server Using FileZilla. Part I: Setting up the server
How to Setup and Connect to an FTP Server Using FileZilla The ability to store data on a server and being able to access the data from anywhere in the world has allowed us to get rid of external flash
More informationDatabase Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
More informationCisco Cable DVB/DAVIC Management Program
CHAPTER 3 This chapter describes the supplied by Cisco for configuring and monitoring the Cisco DVB CAR100. It includes the following sections: Introducing the Minimum PC Requirements for the Installing
More informationThe Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC
Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate
More informationFor Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
More informationWakanda Studio Features
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
More informationXMap 7 Administration Guide. Last updated on 12/13/2009
XMap 7 Administration Guide Last updated on 12/13/2009 Contact DeLorme Professional Sales for support: 1-800-293-2389 Page 2 Table of Contents XMAP 7 ADMINISTRATION GUIDE... 1 INTRODUCTION... 5 DEPLOYING
More informationSourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server.
Contents For Administrators... 3 Set up SourceAnywhere... 3 SourceAnywhere Service Configurator... 3 Start Service... 3 IP & Port... 3 SQL Connection... 4 SourceAnywhere Server Manager... 4 Add User...
More informationHow To Build An Intranet In Sensesnet.Com
Sense/Net 6 Evaluation Guide How to build a simple list-based Intranet? Contents 1 Basic principles... 4 1.1 Workspaces... 4 1.2 Lists... 4 1.3 Check-out/Check-in... 5 1.4 Version control... 5 1.5 Simple
More information2010 Ing. Punzenberger COPA-DATA GmbH. All rights reserved.
2010 Ing. Punzenberger COPA-DATA GmbH All rights reserved. Distribution and/or reproduction of this document or parts thereof in any form are permitted solely with the written permission of the company
More informationFrequently Asked Questions
Frequently Asked Questions Share Drive Frequently Asked Questions Table of Contents How do I change my password?... How do I reset my password if I forgot it?... How do I share files/folders with Groups
More informationIBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
More informationXythos on Demand Quick Start Guide For Xythos Drive
Xythos on Demand Quick Start Guide For Xythos Drive What is Xythos on Demand? Xythos on Demand is not your ordinary online storage or file sharing web site. Instead, it is an enterprise-class document
More informationVersion Control Script
Version Control Script Mike Jackson, The Software Sustainability Institute Things you should do are written in bold. Suggested dialog is in normal text. Command- line excerpts and code fragments are in
More informationvtcommander Installing and Starting vtcommander
vtcommander vtcommander provides a local graphical user interface (GUI) to manage Hyper-V R2 server. It supports Hyper-V technology on full and core installations of Windows Server 2008 R2 as well as on
More informationApplication. 1.1 About This Tutorial. 1.1.1 Tutorial Requirements. 1.1.2 Provided Files
About This Tutorial 1Creating an End-to-End HL7 Over MLLP Application 1.1 About This Tutorial 1.1.1 Tutorial Requirements 1.1.2 Provided Files This tutorial takes you through the steps of creating an end-to-end
More informationModule 11 Setting up Customization Environment
Module 11 Setting up Customization Environment By Kitti Upariphutthiphong Technical Consultant, ecosoft kittiu@gmail.com ADempiere ERP 1 2 Module Objectives Downloading ADempiere Source Code Setup Development
More informationMicrosoft Visual Studio Integration Guide
Microsoft Visual Studio Integration Guide MKS provides a number of integrations for Integrated Development Environments (IDEs). IDE integrations allow you to access MKS Integrity s workflow and configuration
More informationChange Management for Rational DOORS User s Guide
Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational
More informationSoftware Delivery Integration and Source Code Management. for Suppliers
Software Delivery Integration and Source Code Management for Suppliers Document Information Author Version 1.0 Version Date 8/6/2012 Status final Approved by Reference not applicable Subversion_for_suppliers.doc
More informationBackup Assistant. User Guide. NEC NEC Unified Solutions, Inc. March 2008 NDA-30282, Revision 6
Backup Assistant User Guide NEC NEC Unified Solutions, Inc. March 2008 NDA-30282, Revision 6 Liability Disclaimer NEC Unified Solutions, Inc. reserves the right to change the specifications, functions,
More informationBSDI Advanced Fitness & Wellness Software
BSDI Advanced Fitness & Wellness Software 6 Kellie Ct. Califon, NJ 07830 http://www.bsdi.cc SOFTWARE BACKUP/RESTORE INSTRUCTION SHEET This document will outline the steps necessary to take configure the
More information