MATH 676 Finite element methods in scientifjc computing Wolfgang - - PowerPoint PPT Presentation

math 676 finite element methods in scientifjc computing
SMART_READER_LITE
LIVE PREVIEW

MATH 676 Finite element methods in scientifjc computing Wolfgang - - PowerPoint PPT Presentation

MATH 676 Finite element methods in scientifjc computing Wolfgang Bangerth, T exas A&M University http://www.dealii.org/ Wolfgang Bangerth Lecture 32.55: Learning to use modern tools, part 5a1: Version control systems (VCSs)


slide-1
SLIDE 1

http://www.dealii.org/ Wolfgang Bangerth

MATH 676 – Finite element methods in scientifjc computing

Wolfgang Bangerth, T exas A&M University

slide-2
SLIDE 2

http://www.dealii.org/ Wolfgang Bangerth

Lecture 32.55: Learning to use modern tools, part 5a1: Version control systems (VCSs) Subversion – undoing, branching, and merging

slide-3
SLIDE 3

http://www.dealii.org/ Wolfgang Bangerth

Undoing changes

Version control systems store the history of the project and each file:

  • This allows to identify which change broke some

functionality

  • This allows to undo the offending change without

throwing away everything that came afterward ...let's see how that works in practice...

slide-4
SLIDE 4

http://www.dealii.org/ Wolfgang Bangerth

Branching and merging

Using subversion (svn) as an example:

  • A branch is simply a copy of the main development

directory in the repository

  • We can merge changes that have been made on mainline

to the branch

  • We can merge the branch back to mainline
slide-5
SLIDE 5

http://www.dealii.org/ Wolfgang Bangerth

Mainline, branches and merges

Mainline, branches, HEAD and tags are often visualized as a growing tree: Note: In subversion, revisions are sequentially numbered across branches.

slide-6
SLIDE 6

http://www.dealii.org/ Wolfgang Bangerth

Branching and merging

Implementation of branches in the specific case of subversion (svn):

  • Each repository represents a file system with

subdirectories

  • “Mainline” is just one particular directory in the repository

that everyone agrees is the main development branch (by convention this directory is usually called trunk/)

  • Creating a branch means copying one directory elsewhere
  • svn remembers the origin of each copy
  • This allows merging data back (barring conflicts)
slide-7
SLIDE 7

http://www.dealii.org/ Wolfgang Bangerth

Branching and merging

Using subversion (svn) as an example:

  • A branch is simply a copy of the main development

directory in the repository

  • We can merge changes that have been made on mainline

to the branch

  • We can merge the branch back to mainline

...let's see how that works in practice...

slide-8
SLIDE 8

http://www.dealii.org/ Wolfgang Bangerth

MATH 676 – Finite element methods in scientifjc computing

Wolfgang Bangerth, T exas A&M University