version control
play

Version Control Marek Kochaczyk Jagiellonian University, Krakw - PowerPoint PPT Presentation

DIKU :: GP&LD, May 2007 Version Control Marek Kochaczyk Jagiellonian University, Krakw Purpose Purpose Control models Client-Server Models Client-Server Models Subversion Subversion References Page 1 of 8 Marek Kochaczyk,


  1. DIKU :: GP&LD, May 2007 Version Control Marek Kochańczyk Jagiellonian University, Kraków Purpose Purpose Control models Client-Server Models Client-Server Models Subversion Subversion References Page 1 of 8 Marek Kochańczyk, 2007 ”Evolution is cleverer than you are.” (Francis Crick)

  2. 1 Purpose ❼ Collaborative sharing and edition of data. ❼ Management of changes. Purpose ’Collaborative’: Purpose Control models It is assumed that project evolves over time: Client-Server Models Client-Server Models common access for publicly visible modifications. Subversion Subversion ’Data’: References ❼ architectural blueprints, Page 2a of 8 ❼ diagrams of electronic models, Marek ❼ configuration files and source code . Kochańczyk, 2007

  3. 2 Purpose ❼ Collaborative sharing and edition of data. ❼ Management of changes. Purpose Changes are identified at least by: Purpose Control models Client-Server Models ❼ revision number (multiple conventions), Client-Server Models Subversion Subversion ❼ identity of the author of the change. References Actions: Page 2b of 8 ❼ reverting, Marek ❼ branching & tagging. Kochańczyk, 2007

  4. 3 Control models Distributed Egalitarian in the p2p sense: Every working copy is a repo, every repo is a working copy. Purpose Purpose Control models ❼ BitKeeper/Git. Client-Server Models Client-Server Models Subversion Subversion Client-Server References ❼ CVS, Page 3 of 8 ❼ Subversion (SVN) , ❼ ClearCase (by Rational Software). Marek Kochańczyk, 2007

  5. 4 Client-Server Models ❼ Lock-Modify-Unlock ❼ Copy-Modify-Merge Purpose Only one person is allowed to change a file at a time, after Purpose Control models registering a lock. Client-Server Models Client-Server Models Locks considered harmful – Problems: Subversion Subversion References ❼ a lock holder went to Hawaii, ❼ non-overlapping edits of the same file, Page 4a of 8 ❼ edits of separate yet dependent file. Marek Kochańczyk, 2007

  6. 5 Client-Server Models ❼ Lock-Modify-Unlock ❼ Copy-Modify-Merge Purpose Snapshot of central repository → Personal working copy Purpose Control models Problems: Client-Server Models Client-Server Models Subversion ❼ disturbing out-of-date s, Subversion References ❼ most conflicts have to be resolved manually, ❼ merging hell when many dependencies. Page 4b of 8 In practice enables more smooth collaboration. Marek Kochańczyk, 2007

  7. 6 Subversion Superiority over CVS ❼ support for binary files, ❼ designed with networking in mind Purpose Purpose (delta compression, inetd/apache/svn+ssh), Control models Client-Server Models ❼ atomic commits, Client-Server Models Subversion Subversion ❼ pre-/post-commit hooks. References Also plethora of GUI frontends and IDE plugins. Page 5 of 8 Marek Kochańczyk, 2007

  8. → Command Line Purpose Purpose Control models Client-Server Models Client-Server Models Subversion Subversion References Page 6 of 8 Marek Kochańczyk, 2007

  9. 7 Subversion – cont’d Good practices ❼ sane repository layout, ❼ frequent commits, Purpose Purpose Control models ❼ svn commands instead of system commands, Client-Server Models Client-Server Models ❼ eventual post-commit hooks. Subversion Subversion References Page 7 of 8 Marek Kochańczyk, 2007

  10. 8 References · SVN Documentation http://svnbook.red-bean.com Purpose Purpose Control models Client-Server Models Client-Server Models Subversion Subversion References Page 8 of 8 Marek Kochańczyk, 2007

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