version control using subversion
play

Version Control Using Subversion 1 September 2020 OSU CSE 2 - PowerPoint PPT Presentation

Version Control Using Subversion 1 September 2020 OSU CSE 2 Version Control In team projects, software engineers: Share and extend a common code base (and comply with standards, coding conventions, comment templates, ) Work


  1. Version Control Using Subversion 1 September 2020 OSU CSE 2

  2. Version Control • In team projects, software engineers: – Share and extend a common code base (and comply with standards, coding conventions, comment templates, …) – Work concurrently with each other • Best practice is for a team to use a version control system – We will use one called Subversion , but others are essentially similar 1 September 2020 OSU CSE 3

  3. Version Control This is not limited to code! A • In team projects, software engineers: version control system can handle non-code files as well, which – Share and extend a common code base (and makes it handy for other sorts of comply with standards, coding conventions, team projects, too. comment templates, …) – Work concurrently with each other • Best practice is for a team to use a version control system – We will use one called Subversion , but others are essentially similar 1 September 2020 OSU CSE 4

  4. Key Idea: The Repository • A central repository keeps all files (in our case, Java code) and a history of all modifications to them – A new team member can check out their own private copy from the repository – Each member can update their own copy to reflect the latest changes in the repository – Each member can commit changes from their own private copy to the repository 1 September 2020 OSU CSE 5

  5. Workflow Model: An Example Matt commit update repository update commit Ayesha 1 September 2020 OSU CSE 6

  6. How Work Gets Done • Repository holds master copy of all files – Never edited directly – Stores complete history, too! • Each team member has a local copy (or working copy ) in their own workspace – All file creation, editing, deletion occurs here • Update and commit commands are used to synchronize local and master copies 1 September 2020 OSU CSE 7

  7. The “Optimistic” Model • Any team member can modify their local copy of any file at any time – No “locking” or other synchronization among team members takes place on local copies • On an update, the latest version from the repository often can be merged automatically into the local copy – This is especially so when team members edit different files, so conflicts are rare 1 September 2020 OSU CSE 8

  8. Some Things That Can Happen update commit Matt repository Ayesha 1 September 2020 OSU CSE 9

  9. Some Things That Can Happen Matt does an update to get the update latest version to work on. commit Matt repository Ayesha 1 September 2020 OSU CSE 10

  10. Some Things That Can Happen Ayesha does an update to get the update latest version to work on. commit Matt repository Ayesha 1 September 2020 OSU CSE 11

  11. Some Things That Can Happen Matt does a commit to put his latest update edits into the repository. commit Matt repository Ayesha 1 September 2020 OSU CSE 12

  12. Some Things That Can Happen Ayesha does an update to get the update latest version before she commits. commit Matt repository Ayesha 1 September 2020 OSU CSE 13

  13. Some Things That Can Happen The latest revision in the repository update is merged into Ayesha’s copy. commit Matt repository Ayesha  Merge 1 September 2020 OSU CSE 14

  14. Some Things That Can Happen Suppose this merge is successful; update then Ayesha commits. commit Matt repository Ayesha  Merge 1 September 2020 OSU CSE 15

  15. Some Things That Can Happen Matt tries to commit more changes, update but has not updated recently. commit Matt repository Ayesha  Merge 1 September 2020 OSU CSE 16

  16. Some Things That Can Happen Ayesha has committed recently, update and Matt may not do so now. commit Matt repository Ayesha  Error: working Merge version out-of-date 1 September 2020 OSU CSE 17

  17. Some Things That Can Happen Matt needs to update first. update commit Matt repository Ayesha  Error: working Merge version out-of-date 1 September 2020 OSU CSE 18

  18. Some Things That Can Happen Suppose this merge has conflicts ; update then Matt must resolve them. commit Matt repository Ayesha  Error: working Conflict: Merge version requires out-of-date attention 1 September 2020 OSU CSE 19

  19. Some Things That Can Happen After Matt resolves conflicts, he can update continue and commit his changes. commit Matt repository Ayesha  Error: working Conflict: Merge version requires out-of-date attention 1 September 2020 OSU CSE 20

  20. Some Things That Can Happen Meanwhile, Ayesha updates and update continues with the latest version. commit Matt repository Ayesha  Error: working Conflict: Merge version requires out-of-date attention 1 September 2020 OSU CSE 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend