CSE 70: Software Development Pipeline Build Process, XML, Repositories

Size: px
Start display at page:

Download "CSE 70: Software Development Pipeline Build Process, XML, Repositories"

Transcription

1 CSE 70: Software Development Pipeline Build Process, XML, Repositories Ingolf Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA , USA California Institute for Telecommunications and Information Technologies La Jolla, CA , USA

2 Learning Goals for Today Ingolf Krueger, 2010 CSE 2

3 Learning Goals Be able to identify key elements of the software development pipeline Understand a basic Java program and how it is compiled/run Be able to change a given program to introduce functions and additional classes that can evolve separately Understand the need for a build tool See Ant used to automate compilation and other tasks Be able to write basic Ant files yourself Understand the challenges of maintaining a code base in an individual and team development setting Understand the need for and basic principles of version control/ configuration management Ingolf Krueger, 2010 CSE 3

4 Key elements of the software development pipeline Ingolf Krueger, 2010 CSE 4

5 Software Development Pipeline: Requirements System Ingolf Krueger, 2010 CSE 5

6 Stage 0: Individual, using an IDE Ingolf Krueger, 2010 CSE 6

7 Stage 1: Individual, using IDE, Test and Build Tools Ingolf Krueger, 2010 CSE 7

8 Stage 2: Individual, w/ide, Local Build/Test Tools and Version Control Ingolf Krueger, 2010 CSE 8

9 Stage 3: Small Team w/ide, Test, Build, Version Control Ingolf Krueger, 2010 CSE 9

10 Stage 4: Small to Medium Teams w/automated Build Process Ingolf Krueger, 2010 CSE 10

11 Stage 4: Small to Medium Teams w/automated Build Process We ll cover all of these over the next few lectures and labs Ingolf Krueger, 2010 CSE 11

12 Stage 4: Small to Medium Teams w/automated Build Process Today s focus: Build Tools & Basics of Version Control Ingolf Krueger, 2010 CSE 12

13 Stage 0 to Stage 1 Why? Ingolf Krueger, 2010 CSE 13

14 Write a program that formats and outputs a given String Hello! H-e-l-l-o-!-! Ingolf Krueger, 2010 CSE 14

15 We want to change the Formatter and the main program separately: Introduce a StringFormatter class Ingolf Krueger, 2010 CSE 15

16 1 st attempt: introduce a dedicated class! package today;! StringFormatter.java! public class StringFormatter {! StringFormatter(){};! public String formatstring(string in) {! char[] cv = new char[2*in.length()];! for(int i = 0; i < cv.length; i+=2) {! cv[i] = in.charat(i/2);! cv[i+1] = - ;! }! return new String(cv);! }! }! Ingolf Krueger, 2010 CSE 16

17 1 st attempt: introduce a dedicated class! package today;! Printer.java! public class Printer {! public static void main(string[] args) {! StringFormatter sf = new StringFormatter();! String out = sf.formatstring("hello!");! System.out.println("formatted: "+out);! }! }! Ingolf Krueger, 2010 CSE 17

18 Looks good! Let s get it compiled! By now we have TWO Java source files: Printer.java! StringFormatter.java! In what order do we need to compile them? Ingolf Krueger, 2010 CSE 18

19 Java Compile Command (command line) 1 javac -d bin -cp bin src3/stringformatter.java! 2 javac -d bin -cp bin src3/printer.java! Ingolf Krueger, 2010 CSE 19

20 Introduce symbolic names for special characters Ingolf Krueger, 2010 CSE 20

21 2 nd attempt: add a class for symbolic names! package today;! CharConstantHolder.java! public abstract class CharConstantHolder {! }! public static char SPACE = ' ';! public static char DASH = '-';! public static char STAR = '*';!...! public class StringFormatter {!...! }! cv[i] = in.charat(i/2);! cv[i+1] = CharConstantHolder.STAR;!...! StringFormatter.java! Ingolf Krueger, 2010 CSE 21

22 Looks good! Let s get it compiled! By now we have THREE Java source files: Printer.java! depends on 3 CharConstantHolder.java! depends on 1 StringFormatter.java! 2 In what order do we need to compile them? Ingolf Krueger, 2010 CSE 22

23 Java Compile Command (command line) 1 javac -d bin -cp bin src4/charconstantholder.java! 2 javac -d bin -cp bin src4/stringformatter.java! javac -d bin -cp bin src4/printer.java! 3 Ingolf Krueger, 2010 CSE 23

24 Can we avoid manual recompiles and automate other tasks as well? Yes! Enter: Ant Ingolf Krueger, 2010 CSE 24

25 What is Ant? Apache Ant is an open source Java-based Build tool Works across platforms written in Java, input: XML Interlude: XML Ingolf Krueger, 2010 CSE 25

26 extensible Markup Language (XML) XML is a set of rules/guidelines for describing structured data in plain text XML supports creation of domain-specific languages that add meaning to data Start tag Example! <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! End tag Ingolf Krueger, 2010 CSE 26

27 XML: Tags and Elements XML is a set of rules/guidelines for describing structured data in plain text XML supports creation of domain-specific languages that add meaning to data Start tag Example! <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! Element/Data End tag Ingolf Krueger, 2010 CSE 27

28 XML Example XML is a set of rules/guidelines for describing structured data in plain text XML supports creation of domain-specific languages that add meaning to data <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! Example! Ingolf Krueger, 2010 CSE 28

29 XML Example XML is a set of rules/guidelines for describing structured data in plain text XML supports creation of domain-specific languages that add meaning to data <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! Example! Ingolf Krueger, 2010 CSE 29

30 In short: tags add meaning to data Ingolf Krueger, 2010 CSE 30

31 Writing Data Structures in XML vs. Java <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! Example.xml! class Project {! private:! Name name;! Basedir basedir;! Default default;!! }! vs. class Name {! private:! String s;!! }! class Default {! private:! String d;!! }! class Basedir {! private:! String bd;!! }! Ingolf Krueger, 2010 CSE 31

32 <project>! <name> week2 </name>! <basedir>. </basedir>! <default> compile </default>! </project>! Alternative Styles <project name = week2 basedir =. default = compile >! </project>! vs. <project name = week2 basedir =. default = compile />! vs. Attribute Ingolf Krueger, 2010 CSE 32

33 Example Write an XML file that holds Customer information using suitable tags and data entries: The customer s first and last name, their phone number, and their address! Example customer: Bilbo Baggins, , Bilbo.Baggins@lor.com Ingolf Krueger, 2010 CSE 33

34 One Solution Customer.xml! <customer>! <phone> </phone>! <first_name> Bilbo </first_name>! < > </ >! <last_name> Baggins </last_name>! </customer>! Ingolf Krueger, 2010 CSE 34

35 XML Pros and Cons XML files can be self-documenting via well-chosen tags Easily extendible Broadly applicable and applied communication standards B2B data exchange For small files: all you need is a text editor Tags/tag syntax add complexity to the file XML files can become unwieldy; special editing software can mitigate this Performance loss Ingolf Krueger, 2010 CSE 35

36 Back to Ant and its build files Ingolf Krueger, 2010 CSE 36

37 What is Ant? Apache Ant is an open source Java-based Build tool Works across platforms written in Java, input: XML Basic idea: 1. Read in a project specification (the build.xml file), containing Targets: A set of tasks you want to automate Each target can depend on multiple other targets Tasks (something you want to get done automatically), examples: Compile a set of Java files Create, delete, move a file/directory Create a jar file a zipped archive of your source 2. Determine dependencies among targets and within tasks 3. Execute all required tasks following the order determined in 2. Ingolf Krueger, 2010 CSE 37

38 Remember.java.class other input build.xml Ant output output files files other side-effects create/delete files create/delete dirs. program execution Ingolf Krueger, 2010 CSE 38

39 Ant Build File: Project Base directory, relative to location of build.xml build.xml! <project name = "week2" basedir = "." default = "compile">!!<target name = "compile">!!!<javac srcdir = "src4"!!!! destdir = "bin"/>!!</target>! </project>! Default target Ingolf Krueger, 2010 CSE 39

40 Ant Build File: Target </project>! build.xml! <project name = "week2" basedir = "." default = "compile">!!<target name = "compile">!!!<javac srcdir = "src4"! Target specification: one set of tasks you want to!!! destdir = "bin"/>! automate!</target>! Ingolf Krueger, 2010 CSE 40

41 Ant Build File: Task build.xml! <project name = "week2" basedir = "." default = "compile">!!<target name = "compile">! Task specification:!!<javac srcdir = "src4"! compile all.java files in src4 and!!! destdir = "bin"/>! put the corresponding.class files!</target>! into bin </project>! To execute the target named compile, type ant compile! Ingolf Krueger, 2010 CSE 41

42 Add a target that cleans out the bin directory Ingolf Krueger, 2010 CSE 42

43 Ant Build File: Task <project name = "week2" basedir = "." default = "compile">!!<target name = "compile">!!!<javac srcdir = "src4"!!!! destdir = "bin"/>!!</target>! <target name = "clean">! <delete dir= "bin"/>! </target>! </project>! build.xml! Task specification: remove the directory bin and all of its contents!!! To execute the target named clean, type ant clean! Ingolf Krueger, 2010 CSE 43

44 Add a target that creates the bin directory if it does not already exist Ingolf Krueger, 2010 CSE 44

45 Ant Build File: Task build.xml! <project name = "week2" basedir = "." default = "compile">!!<target name = "compile >!!!<javac srcdir = "src4"!!!! destdir = "bin"/>!!</target>! <target name = "clean">! <delete dir= "bin"/>! </target>! <target name = "init">! <mkdir dir = "bin"/>! </target>! </project>! Task specification: create the directory bin if it doesn t exist already To execute the target named init, type ant init! Ingolf Krueger, 2010 CSE 45

46 Add dependencies between compile and init targets Ingolf Krueger, 2010 CSE 46

47 Ant Build File: Task build.xml! <project name = "week2" basedir = "." default = "compile">!!<target name = "compile depends = init >!!!<javac srcdir = "src4"!!!! destdir = "bin"/>!!</target>! <target name = "clean">! <delete dir= "bin"/>! </target>! <target name = "init">! <mkdir dir = "bin"/>! </target>! </project>! What happens now if you enter the following ant clean; ant compile! Ingolf Krueger, 2010 CSE 47

48 Version Control (a.k.a Configuration Management) with subversion Ingolf Krueger, 2010 CSE 48

49 Stage 1 to Stage 2 Why? Ingolf Krueger, 2010 CSE 49

50 Scenario What can go wrong with your source files even if you are the only developer, and you are developing locally on your machine? Ingolf Krueger, 2010 CSE 50

51 Problems for Individual Non-Version Controlled Software If you save your work over what you had before, any prior work is gone forever Some help from backup mode of IDEs/Editors, but only a crutch Some help from physical backups, but how timely are they? No ability to revert back to a prior version of a particular file (the one without the error!) Never happened to you? It will trust me! Ingolf Krueger, 2010 CSE 51

52 Problems for Individual Non-Version Controlled Software How do you freeze one version for deployment and continue to work on a new version? Crucial if you need to deliver software at some point Many ad-hoc solutions that quickly fall apart due to lack of tool support What about a hard-disk failure? Are you protected? How often do you back up your development machine? What if you are working on a desktop at school/the office, and want to continue to work at your home desktop? the code? Carry a USB-stick? Do you have a good naming scheme? Ingolf Krueger, 2010 CSE 52

53 Scenario Assume now, you are developing in a small team. The team uses a regularly backed-up file-sharing mechanism (such as a shared network drive). What can go wrong? F.java Alice Bob Ingolf Krueger, 2010 CSE 53

54 Problems for Team Non-Version Controlled Software The last one who saves wins Blame game: You wrote over my changes! All my work is lost! How do you coordinate who can save a file at what time? How do you coordinate with 5 or 10 or 100 or 1000 developers on the team? Work gets artificially sequentialized I ll wait before I can touch that file. Who knows what will happen? Could potentially work on separate parts of a file, but merge by hand is error-prone Still no ability to revert back to a prior version of a particular file Ingolf Krueger, 2010 CSE 54

55 Problems for Team Non-Version Controlled Software Still difficult to freeze one version for deployment and continue to work on a new version Need configuration manager Many ad-hoc solutions that quickly fall apart due to lack of tool support What if you are working on a desktop at school/the office, and want to continue to work at your home desktop but have no access to the file share? Now it gets downright dangerous to carry the code home with you: the scope for conflicts/artificial sequentialization grows rapidly How do you merge back your changes into the shared file? Ingolf Krueger, 2010 CSE 55

56 Solution: Version Management with Dedicated Repository Introduce a Version Management Repository that holds the master copy of all artifacts (code, tests, build files, graphics, ) of your project Ingolf Krueger, 2010 CSE 56

57 Solution: Version Management with Dedicated Repository If Alice needs access to the code, she checks out a local copy check out Alice Ingolf Krueger, 2010 CSE 57

58 Solution: Version Management with Dedicated Repository If Bob also needs access to the code, he also checks out a local copy check out Alice Bob Ingolf Krueger, 2010 CSE 58

59 Solution: Version Management with Dedicated Repository Bob and Alice individually make changes to their own local copy Alice Bob Ingolf Krueger, 2010 CSE 59

60 Solution: Version Management with Dedicated Repository When Alice is done with her edits, she commits her local copy to the repository. Her changes are automatically merged into the master copy of the file in the repository. commit Alice Bob Ingolf Krueger, 2010 CSE 60

61 Scenario Now Bob is done with his edits, he also wants to commit. What can happen?? commit Alice Bob Ingolf Krueger, 2010 CSE 61

62 Solution: Version Management with Dedicated Repository Scenario 1: Alice and Bob have edited in different areas of the file No conflict! Bob s changes will be merged into the master copy. commit succeds Alice Bob Ingolf Krueger, 2010 CSE 62

63 Solution: Version Management with Dedicated Repository Scenario 2: Alice and Bob have edited in the same areas of the file Conflict! Bob s changes will NOT be merged into the master copy. commit fails Alice Bob Ingolf Krueger, 2010 CSE 63

64 Solution: Version Management with Dedicated Repository To resolve the conflict, Bob first updates his local copy. update Alice Bob Ingolf Krueger, 2010 CSE 64

65 Solution: Version Management with Dedicated Repository He gets notifications of the conflicts inside the affected files. He makes decisions to resolve the conflicts. update Alice Bob Ingolf Krueger, 2010 CSE 65

66 Solution: Version Management with Dedicated Repository Once he has resolved all conflicts, Bob commits again. This time he succeeds! commit succeeds Alice Bob Ingolf Krueger, 2010 CSE 66

67 Solution: Version Management with Dedicated Repository Alice updates at the beginning of her next work increment. check out Alice Bob Ingolf Krueger, 2010 CSE 67

68 SVN Workflow: Always Update BEFORE Starting Work Ingolf Krueger, 2010 CSE 68

69 SVN Workflow: Do something! Ingolf Krueger, 2010 CSE 69

70 SVN Workflow: Update BEFORE EACH Commit Ingolf Krueger, 2010 CSE 70

71 SVN Workflow: Resolve Conflicts Ingolf Krueger, 2010 CSE 71

72 SVN Workflow: Commit Ingolf Krueger, 2010 CSE 72

73 SVN Workflow Ingolf Krueger, 2010 CSE 73

74 Let s revisit these steps with subversion commands Ingolf Krueger, 2010 CSE 74

75 Solution: Version Management with Dedicated Repository Create subversion repository 1> ls ~/java/week2/svenx! branches/ tags/ trunk/! 1> ls ~/java/week2/svenx/trunk! F.java G.java! Alice 1> svnadmin create /var/svn/cse70-labs! Ingolf Krueger, 2010 CSE 75

76 Solution: Version Management with Dedicated Repository A new repository, named svn has been created (can link to it via Apache web server) svn Alice Ingolf Krueger, 2010 CSE 76

77 Solution: Version Management with Dedicated Repository Now Alice imports her existing folder (and its files) into the repository 1> svn import ~/java/week2/svenx \ import Alice Ingolf Krueger, 2010 CSE 77

78 Solution: Version Management with Dedicated Repository Now Alice needs access to check out her fresh local copy to synchronize with the repository 1> svn checkout \ check out Alice Ingolf Krueger, 2010 CSE 78

79 Solution: Version Management with Dedicated Repository Bob also checks out a local copy into his local wow folder 1> svn checkout check out Alice Bob Ingolf Krueger, 2010 CSE 79

80 Solution: Version Management with Dedicated Repository Bob and Alice individually make changes to their own local copy./trunk:!./trunk:! Alice Bob Ingolf Krueger, 2010 CSE 80

81 Solution: Version Management with Dedicated Repository Now Alice commits (publishes her edited files) 1> svn commit F.java! commit Alice Bob Ingolf Krueger, 2010 CSE 81

82 Solution: Version Management with Dedicated Repository Scenario 2: Bob updates Conflict! 1> svn update! C F.java! Updated to revision 233.! update conflict Alice Bob Ingolf Krueger, 2010 CSE 82

83 Bob looks at the file to find and resolve the conflict package today;! public class StringFormatter {! StringFormatter(){};! public String formatstring(string in) {! char[] cv = new char[2*in.length()];!!!for(int i = 0; i < cv.length; i+=2) {! I better chat!!!cv[i] = in.charat(i/2);! with Alice <<<<<<<.mine! about this!!!cv[i+1] = CharConstantHolder.STAR;! =======!!!!cv[i] = CharConstantHolder.STAR;! >>>>>>>.r233! }!!!}! return new String(cv);! }! Ingolf Krueger, 2010 CSE 83

84 Bob makes decisions to resolve the conflicts package today;! public class StringFormatter {! StringFormatter(){};! public String formatstring(string in) {! char[] cv = new char[2*in.length()];!!!for(int i = 0; i < cv.length; i+=2) {!!!!cv[i] = in.charat(i/2);!!!!cv[i+1] = CharConstantHolder.STAR;!!!}! return new String(cv);! }! }! Looks better already Ingolf Krueger, 2010 CSE 84

85 Solution: Version Management with Dedicated Repository Bob indicates that he has resolved the conflict 1> svn resolved F.java! Resolved conflicted state of F.java'! resolved Alice Bob Ingolf Krueger, 2010 CSE 85

86 Solution: Version Management with Dedicated Repository Once he has resolved all conflicts, Bob commits again. This time he succeeds! 1> svn commit F.java! commit succeeds Alice Bob Ingolf Krueger, 2010 CSE 86

87 Solution: Version Management with Dedicated Repository Alice updates at the beginning of her next work increment and the cycle repeats. 1> svn update! check out Alice Bob Ingolf Krueger, 2010 CSE 87

88 What else can you do with subversion? Ingolf Krueger, 2010 CSE 88

89 Create Branches Other Features of subversion Isolate changes to separate lines of development Example: one branch is the currently deployed version for maintenance, another branch is the current development version Can merge branches, e.g. Create Tags Similar to a branch Ingolf Krueger, 2010 CSE 89

90 What have you learned today? Ingolf Krueger, 2010 CSE 90

91 Learning Goals Be able to identify key elements of the software development pipeline Understand a basic Java program and how it is compiled/run Be able to change a given program to introduce functions and additional classes that can evolve separately Understand the need for a build tool See Ant used to automate compilation and other tasks Be able to write basic Ant files yourself Understand the challenges of maintaining a code base in an individual and team development setting Understand the need for and basic principles of version control/ configuration management Ingolf Krueger, 2010 CSE 91

92 Stage 2: Individual, w/ide, Local Build/Test Tools and Version Control Ingolf Krueger, 2010 CSE 92

93 Stage 4: Small to Medium Teams w/automated Build Process Ingolf Krueger, 2010 CSE 93

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 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 information

Using SVN to Manage Source RTL

Using SVN to Manage Source RTL Using SVN to Manage Source RTL CS250 Tutorial 1 (Version 083010a) August 30, 2010 Yunsup Lee In this tutorial you will gain experience using the Subversion (SVN) to manage your source RTL and code. You

More information

Revision control systems (RCS) and

Revision control systems (RCS) and Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

CISC 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 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 information

Using SVN to Manage Source RTL

Using SVN to Manage Source RTL Using SVN to Manage Source RTL CS250 Tutorial 1 (Version 092509a) September 25, 2009 Yunsup Lee In this tutorial you will gain experience using the Subversion (SVN) to manage your source RTL and code.

More information

Content. Development Tools 2(63)

Content. 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 information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Build Management. Context. Learning Objectives

Build Management. Context. Learning Objectives Build Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and

More information

Version 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. 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 information

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications. Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:

More information

Version Control with Subversion

Version 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 information

Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF

Version 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 information

Version control tracks multiple versions. Configuration Management. Version Control. V22.0474-001 Software Engineering Lecture 12, Spring 2008

Version control tracks multiple versions. Configuration Management. Version Control. V22.0474-001 Software Engineering Lecture 12, Spring 2008 Configuration Management Version Control V22.0474-001 Software Engineering Lecture 12, Spring 2008 Clark Barrett, New York University Configuration Management refers to a set of procedures for managing

More information

CS108, Stanford Handout #33. CVS in Eclipse

CS108, 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 information

CSCB07 Software Design Version Control

CSCB07 Software Design Version Control CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope

More information

Software Configuration Management. Context. Learning Objectives

Software Configuration Management. Context. Learning Objectives Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition

More information

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,

More information

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc scsc@duke.edu John Pormann, Ph.D. jbp1@duke.edu Software Carpentry Courseware This is a re-work from the

More information

Git 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. 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 information

Continuous Integration and Delivery at NSIDC

Continuous Integration and Delivery at NSIDC National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research

More information

vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise Project Organization vs. Build- and Configuration Management Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Initialization 2.Specification

More information

Version Control Using Subversion. 12 May 2013 OSU CSE 1

Version Control Using Subversion. 12 May 2013 OSU CSE 1 Version Control Using Subversion 12 May 2013 OSU CSE 1 Version Control In team projects, software engineers: Share and extend a common code base (and comply with standards, coding conventions, comment

More information

XMLVend Protocol Message Validation Suite

XMLVend Protocol Message Validation Suite XMLVend Protocol Message Validation Suite 25-01-2012 Table of Contents 1. Overview 2 2. Installation and Operational Requirements 2 3. Preparing the system 3 4. Intercepting Messages 4 5. Generating Reports

More information

Using Subversion for Source Code Control. Michael McLennan Software Architect Network for Computational Nanotechnology

Using Subversion for Source Code Control. Michael McLennan Software Architect Network for Computational Nanotechnology Using Subversion for Source Code Control Michael McLennan Software Architect Network for Computational Nanotechnology What is Subversion? CVS on steroids Created by developers at CollabNet In development

More information

Source Control Guide: Git

Source 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 information

Lab 0: Version control

Lab 0: Version control Lab Handout ENGI3891 Faculty of Engineering and Applied Science 16,23 Sep 2015 1 Purpose and outcomes This lab will give you hands-on experience with an essential development tool: a version control system

More information

Configuration & Build Management

Configuration & Build Management Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration

More information

Version Control Systems (Part 2)

Version 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 information

Version Control. Luka Milovanov lmilovan@abo.fi

Version Control. Luka Milovanov lmilovan@abo.fi Version Control Luka Milovanov lmilovan@abo.fi Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version

More information

Source Control Systems

Source 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 information

Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant

Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant Automation of Flex Building and Unit Testing or Continuous Integration with Flex, FlexUnit, and Ant Daniel Rinehart Software Architect Allurent, Inc. Current Build Process Is your build process like a

More information

Using Subversion in Computer Science

Using 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 information

Version Control with. Ben Morgan

Version 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 information

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.

Annoyances 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 information

To reduce or not to reduce, that is the question

To reduce or not to reduce, that is the question To reduce or not to reduce, that is the question 1 Running jobs on the Hadoop cluster For part 1 of assignment 8, you should have gotten the word counting example from class compiling. To start with, let

More information

Redbooks Paper. Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager. Introduction

Redbooks Paper. Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager. Introduction Redbooks Paper Edson Manoel Kartik Kanakasabesan Deploying Applications Using IBM Rational ClearCase and IBM Tivoli Provisioning Manager Introduction This IBM Redpaper presents a simplified customer environment

More information

Software Delivery Integration and Source Code Management. for Suppliers

Software 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 information

Introducing Xcode Source Control

Introducing 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 information

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

SVN Setup and Configuration Management

SVN Setup and Configuration Management Configuration Management Each team should use the Subversion (SVN) repository located at https://svn-user.cse.msu.edu/user/cse435/f2014/ to provide version control for all project artifacts as

More information

Software Configuration Management AE6382

Software Configuration Management AE6382 Software Configuration Management Software Configuration Management What is it? Software Configuration Management is the process of tracking changes to software. Why use it? Maintain multiple branches

More information

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments George Bochenek Randy Jones Enterprise Development What is it? Source Control Project Organization Unit Testing Continuous

More information

Software Configuration Management. Addendum zu Kapitel 13

Software Configuration Management. Addendum zu Kapitel 13 Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration

More information

Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1

Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 1 of 11 16.10.2002 11:41 Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 Table of Contents Creating the directory structure Creating the Java code Compiling the code Creating the

More information

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 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 information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Week G Versioning with svn

Week G Versioning with svn Week G Versioning with svn What is Versioning? Naïve vs. smart approaches Subversion (svn) workflow Basic svn commands http://subversion.tigris.org/ Assignments: Check in your proposals Week G Versioning

More information

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

INF 111 / CSE 121. Homework 4: Subversion Due Tuesday, July 14, 2009

INF 111 / CSE 121. Homework 4: Subversion Due Tuesday, July 14, 2009 Homework 4: Subversion Due Tuesday, July 14, 2009 Name : Student Number : Laboratory Time : Objectives Preamble Set up a Subversion repository on UNIX Use Eclipse as a Subversion client Subversion (SVN)

More information

Version Control with Subversion and Xcode

Version 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 information

CS 103 Lab Linux and Virtual Machines

CS 103 Lab Linux and Virtual Machines 1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation

More information

using version control in system administration

using version control in system administration LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.

More information

Efficient Automated Build and Deployment Framework with Parallel Process

Efficient Automated Build and Deployment Framework with Parallel Process Efficient Automated Build and Deployment Framework with Parallel Process Prachee Kamboj 1, Lincy Mathews 2 Information Science and engineering Department, M. S. Ramaiah Institute of Technology, Bangalore,

More information

Introduction to the course, Eclipse and Python

Introduction to the course, Eclipse and Python As you arrive: 1. Start up your computer and plug it in. 2. Log into Angel and go to CSSE 120. Do the Attendance Widget the PIN is on the board. 3. Go to the Course Schedule web page. Open the Slides for

More information

Teaming Up for Software Development

Teaming Up for Software Development Departamento de Informática Universidade do Minho Engenharia de Aplicações Introduction Agenda In the end of the session the attendee should be able to: Identify several super-sets of tools used in software

More information

Introduction to Version Control

Introduction 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 information

Version Control! Scenarios, Working with Git!

Version 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 information

Tuesday, October 18. Configuration Management (Version Control)

Tuesday, October 18. Configuration Management (Version Control) Tuesday, October 18 Configuration Management (Version Control) How Version Control Works Place the official version of source code into a central repository, or database Programmers check out a working

More information

Managing Software Projects Like a Boss with Subversion and Trac

Managing Software Projects Like a Boss with Subversion and Trac Managing Software Projects Like a Boss with Subversion and Trac Beau Adkins CEO, Light Point Security lightpointsecurity.com beau.adkins@lightpointsecurity.com 2 Introduction... 4 Setting Up Your Server...

More information

MATLAB @ Work. MATLAB Source Control Using Git

MATLAB @ 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 information

Version control with GIT

Version 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 information

Jenkins on Windows with StreamBase

Jenkins on Windows with StreamBase Jenkins on Windows with StreamBase Using a Continuous Integration (CI) process and server to perform frequent application building, packaging, and automated testing is such a good idea that it s now a

More information

IDS 561 Big data analytics Assignment 1

IDS 561 Big data analytics Assignment 1 IDS 561 Big data analytics Assignment 1 Due Midnight, October 4th, 2015 General Instructions The purpose of this tutorial is (1) to get you started with Hadoop and (2) to get you acquainted with the code

More information

File S1: Supplementary Information of CloudDOE

File S1: Supplementary Information of CloudDOE File S1: Supplementary Information of CloudDOE Table of Contents 1. Prerequisites of CloudDOE... 2 2. An In-depth Discussion of Deploying a Hadoop Cloud... 2 Prerequisites of deployment... 2 Table S1.

More information

BlueJ Teamwork Tutorial

BlueJ 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 information

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014 This presentation was originally given at DrupalCamp Scotland, 2014. http://camp.drupalscotland.org/ The University of Edinburgh 1 We are 2 of the developers working on the University s ongoing project

More information

Hadoop Tutorial. General Instructions

Hadoop Tutorial. General Instructions CS246: Mining Massive Datasets Winter 2016 Hadoop Tutorial Due 11:59pm January 12, 2016 General Instructions The purpose of this tutorial is (1) to get you started with Hadoop and (2) to get you acquainted

More information

Software configuration management

Software 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 information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

More information

1001ICT Introduction To Programming Lecture Notes

1001ICT Introduction To Programming Lecture Notes 1001ICT Introduction To Programming Lecture Notes School of Information and Communication Technology Griffith University Semester 2, 2015 1 3 A First MaSH Program In this section we will describe a very

More information

MATLAB & Git Versioning: The Very Basics

MATLAB & 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 information

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013

Using Actian PSQL as a Data Store with VMware vfabric SQLFire. Actian PSQL White Paper May 2013 Using Actian PSQL as a Data Store with VMware vfabric SQLFire Actian PSQL White Paper May 2013 Contents Introduction... 3 Prerequisites and Assumptions... 4 Disclaimer... 5 Demonstration Steps... 5 1.

More information

Tutorial 0A Programming on the command line

Tutorial 0A Programming on the command line Tutorial 0A Programming on the command line Operating systems User Software Program 1 Program 2 Program n Operating System Hardware CPU Memory Disk Screen Keyboard Mouse 2 Operating systems Microsoft Apple

More information

Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang

Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang Test Design Document Authors Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang Purpose of this Document This document explains the general idea of the continuous

More information

Creating a Java application using Perfect Developer and the Java Develo...

Creating a Java application using Perfect Developer and the Java Develo... 1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the

More information

Week 2 Practical Objects and Turtles

Week 2 Practical Objects and Turtles Week 2 Practical Objects and Turtles Aims and Objectives Your aim in this practical is: to practise the creation and use of objects in Java By the end of this practical you should be able to: create objects

More information

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1. Avaya Solution & Interoperability Test Lab Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.0 Abstract

More information

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

DAVE 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 information

Force.com Migration Tool Guide

Force.com Migration Tool Guide Force.com Migration Tool Guide Version 35.0, Winter 16 @salesforcedocs Last updated: October 29, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Hudson Continous Integration Server. Stefan Saasen, stefan@coravy.com

Hudson Continous Integration Server. Stefan Saasen, stefan@coravy.com Hudson Continous Integration Server Stefan Saasen, stefan@coravy.com Continous Integration Software development practice Members of a team integrate their work frequently Each integration is verified by

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Version Control Tools

Version Control Tools Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73 Outline 1 References and Resources 2 3 4 Venkat N Gudivada Version

More information

Automating the Nengo build process

Automating the Nengo build process Automating the Nengo build process Trevor Bekolay Centre for Theoretical Neuroscience technical report. Sept 17, 2010 Abstract Nengo is a piece of sophisticated neural modelling software used to simulate

More information

Maven or how to automate java builds, tests and version management with open source tools

Maven or how to automate java builds, tests and version management with open source tools Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software erik.putrycz@gmail.com Outlook What is Maven Maven Concepts and

More information

Software Development. COMP220/COMP285 Seb Coope Introducing Ant

Software Development. COMP220/COMP285 Seb Coope Introducing Ant Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on Java Development with Ant - E. Hatcher & S.Loughran. Manning Publications, 2003 Introducing Ant Ant is Java

More information

Implementation Guide:

Implementation Guide: Zend Blueprint for Continuous Delivery Implementation Guide: Jenkins and server by Slavey Karadzhov Implementation Guide: Jenkins and Zend Server This pattern contains instructions on how to implement

More information

[Handout for L6P2] How to Avoid a Big Bang: Integrating Software Components

[Handout for L6P2] How to Avoid a Big Bang: Integrating Software Components Integration [Handout for L6P2] How to Avoid a Big Bang: Integrating Software Components Timing and frequency: Late and one time vs early and frequent Integrating parts written by different team members

More information

SVN Starter s Guide Compiled by Pearl Guterman June 2005

SVN Starter s Guide Compiled by Pearl Guterman June 2005 SVN Starter s Guide Compiled by Pearl Guterman June 2005 SV Table of Contents 1) What is SVN?... 1 2) SVN Architecture... 2 3) Creating a Working Copy... 3 4) Basic Work Cycle... 4 5) Status Symbols...

More information

Using Oracle Cloud to Power Your Application Development Lifecycle

Using Oracle Cloud to Power Your Application Development Lifecycle Using Oracle Cloud to Power Your Application Development Lifecycle Srikanth Sallaka Oracle Product Management Dana Singleterry Oracle Product Management Greg Stachnick Oracle Product Management Using Oracle

More information

PxPlus Version Control System Using TortoiseSVN. Jane Raymond

PxPlus Version Control System Using TortoiseSVN. Jane Raymond PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond Presentation Outline Basic installation and setup Checking in an application first time Checking out an application first time

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

Jazz Source Control Best Practices

Jazz Source Control Best Practices Jazz Source Control Best Practices Shashikant Padur RTC SCM Developer Jazz Source Control Mantra The fine print Fast, easy, and a few concepts to support many flexible workflows Give all users access to

More information

CS 2112 Lab: Version Control

CS 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 information

Introduction 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. 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 information

Version 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? 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 information

Version Control and Subversion. Dr Paul Tennent

Version Control and Subversion. Dr Paul Tennent Version Control and Subversion Dr Paul Tennent Outline Housekeeping What is Version Control? Why use it? Using Subversion (SVN) Housekeeping You know where to find everything http://www.cs.nott.ax.uk/~pxt/g52grp

More information

Automatic promotion and versioning with Oracle Data Integrator 12c

Automatic promotion and versioning with Oracle Data Integrator 12c Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,

More information