Presentation is loading. Please wait.

Presentation is loading. Please wait.

Source Code Revision Control Software CVS and Subversion (svn)

Similar presentations

Presentation on theme: "Source Code Revision Control Software CVS and Subversion (svn)"— Presentation transcript:

1 Source Code Revision Control Software CVS and Subversion (svn)

2 Would these tools be useful for Noah development efforts?

3 Why use revision control software? Concurrent development for multiple users working from a single source-code base History (logging; revert to older versions) Tagging (version identification) Branching (merging) Archive (just archive the repository)

4 Caveats Revision control software is not a replacement for:  Developer communication, cooperation  Code development project management  Good habits on the part of code developers Meaningful log entries (change logs) Code development habits

5 Typical use Checkout code from the central repository Do your work  make your modifications  possibly add source-code files  do your testing  etc. Commit your changes to the central repository  Include a mandatory log entry describing your changes

6 More typical use Update your working code to include changes that others have comitted Merge conflicting changes Export code for release Tag a specific snapshot of the code (i.e., a named version for release)

7 More typical use View file history, change logs Make branches for more independent development Merge branches back into main code base

8 CVS or Subversion? At the level for basic usage, they are very similar  The goal of the Subversion project was to make a near-lookalike replacement for CVS users

9 Similarities Similar workflow, similar user commands  (Though I found branching and tags seemed to make a lot more sense in Subversion) Each has readable, useful users’ guides online Each has a wide user base  Used by many high-profile projects Actively maintained Open source

10 Reasons to choose Subversion for Noah development? SVN has a newer code base than CVS  Advantage? Disadvantage? SVN seems to have more active development  Advantage? Disadvantage? SVN has better file renaming capabilities SVN handles symbolic links SVN used at NCAR for WRF development, at NCEP for NMM development SVN seems to have more sensible tags and branches

11 Reasons to choose CVS for Noah development? Long history RAL has a central CVS repository  There has been talk of having a central RAL Subversion repository  Would Noah development take advantage of RAL central repository?

12 CVS or Subversion? More important question:  Would software version control through some central repository be useful for Noah LSM development

13 Discussion points Would such tools be useful for Noah development efforts? Are the Noah development efforts coordinated enough to make use of a centralized, single, repository?  Multiple institutions (firewall issues?)  Divergent interests and development directions Would Noah development be better suited by each group maintaining independent code?  Periodic merging efforts to produce a new “unified” release  Then every group starts again with their own development from that common release  Each group responsible for its own code maintenance strategies

14 Online Documentation Subversion  CVS  

15 Differences (at the user level) Revision numbers  CVS version numbers apply to files  Subversion version numbers apply to the repository Directory versioning  CVS does not apply revision numbers to directories  Subversion revision numbers apply to the repository, and so to any directories in the repository Branches and tags  Subversion branches and tags are simply copies of the repository filesystem  CVS branches and tags get complicated Properties  Subversion allows arbitrary metadata tags to be applied to files

16 Release 1.0Release 2.0

17 Release 1.0Release 2.0 Concerted merge effort

Download ppt "Source Code Revision Control Software CVS and Subversion (svn)"

Similar presentations

Ads by Google