(sub)version control
DESCRIPTION
(Sub)Version Control. Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert if you broke everything. Version Control is Important. Approaches to Version Control. Ignore the problem, work on your own. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/1.jpg)
(Sub)Version Control
![Page 2: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/2.jpg)
2
Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert if you broke everything
Version Control is Important
![Page 3: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/3.jpg)
3
Approaches to Version Control
Ignore the problem, work on your own
![Page 4: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/4.jpg)
4
Approaches to Version Control
Ignore the problem, work on your own Email everything back and forth
![Page 5: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/5.jpg)
5
Approaches to Version Control
Ignore the problem, work on your own Email everything back and forth Use Dropbox/AFS/some outside storage
![Page 6: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/6.jpg)
6
Approaches to Version Control
Ignore the problem, work on your own Email everything back and forth Use Dropbox/AFS/some outside storage Use SVN
![Page 7: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/7.jpg)
7
Why SVN is Great
SVN stores all your code somewhere the whole team can edit and download it.
![Page 8: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/8.jpg)
8
Why SVN is Great
SVN stores all your code somewhere the whole team can edit and download it.
Every time someone makes a change, SVN stores that change in case you want to see it later
![Page 9: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/9.jpg)
9
Why SVN is Great
SVN stores all your code somewhere the whole team can edit and download it.
Every time someone makes a change, SVN stores that change in case you want to see it later– We are at version 1849.
![Page 10: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/10.jpg)
10
Why SVN is Great
SVN stores all your code somewhere the whole team can edit and download it.
Every time someone makes a change, SVN stores that change in case you want to see it later– We are at version 1849.
It even helps you sync your files and see conflicts when two people try to edit the same file at the same time.
![Page 11: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/11.jpg)
11
Using SVN: Operating Systems
Linux/Mac use command line Windows uses a program called TortoiseSVN
– Same commands, just a graphical interface.
![Page 12: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/12.jpg)
12
Using SVN: Simple commands
SVN checkout: Downloads a copy of the repository to your computer.
SVN update: Executed within an SVN folder, downloads only the non-conflicting changes to your computer.
SVN commit: Uploads your changes to the repository
![Page 13: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/13.jpg)
TortiseSVN Usage:
![Page 14: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/14.jpg)
14
Using SVN: Flashy stuff
Branching: allows users to commit changes and test them without breaking other parts of the repository. Changes are then merged in.
![Page 15: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/15.jpg)
15
Using SVN: Flashy stuff
Branching: allows users to commit changes and test them without breaking other parts of the repository. Changes are then merged in.
Conflicts: SVN warns you when you and another user changed the same file. If it can't gracefully merge, it won't commit or replace anything.
![Page 16: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/16.jpg)
16
Using SVN: Caveats
Local changes vs. committed changes
![Page 17: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/17.jpg)
17
Using SVN: Caveats
Local changes vs. committed changes When you add/delete/move files, you run the
risk of moving them on your machine but not in the repository.
![Page 18: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/18.jpg)
18
Using SVN: Caveats
Local changes vs. committed changes When you add/delete/move files, you run the
risk of moving them on your machine but not in the repository.
Use the svn commands add/delete/move rather than your normal filesystem commands!
![Page 19: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/19.jpg)
19
Using SVN: Caveats
Local changes vs. committed changes When you add/delete/move files, you run the
risk of moving them on your machine but not in the repository.
Use the svn commands add/delete/move rather than your normal filesystem commands!
Local changes are useful, though.
![Page 20: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/20.jpg)
20
SVN in Lab 2
For lab2, we have a separate SVN repository you can check out and make changes to.
Experiment a bit and get comfortable with SVN here.
After the labs, you'll be working in the main Colony repository.
![Page 21: (Sub)Version Control](https://reader036.vdocuments.us/reader036/viewer/2022062410/56815891550346895dc5f032/html5/thumbnails/21.jpg)
21
Questions?