wiki:HowToSVN

Version 14 (modified by hamish, 16 years ago) ( diff )

Non-recursive checkout howto

Getting development information and code history from SVN

  • "ChangeLog" style file: install and run svn2cl
  • File history in SVN:
    cd path/to/directory/
    svn log [file.c]

    # or time reverted:
    svn log [file.c] | tac

Switch the repository

To switch from SVN 'trunk' (now GRASS 7 development) to 'develbranch_6' (now GRASS 6.4 development) use

    cd /path/to/your/local/copy/trunk
    svn switch https://svn.osgeo.org/grass/grass/branches/develbranch_6 .

The switch command preserves local, uncommited changes.

SVN usage

  • SVN prefers "atomic commits", i.e. commit changes to all files affected by a change at the same time, not in a series of commits (one for each file).

Merge between branches (backporting)

Run the command from within the target branch.

  • Example 1: pull a change from trunk into the 6.3 release branch:
        cd releasebranch_6_3/
        svn merge -c 30749 https://svn.osgeo.org/grass/grass/trunk
    

where 30749 is the revision number of the changeset you wish to backport.

  • Example 2: merge a change from the 6.4 development branch into GRASS 7 (trunk):
        cd trunk/
        svn merge -c 31154 https://svn.osgeo.org/grass/grass/branches/develbranch_6
    
    

Non-recursive checkout

  • SVN does not allow you to check out a single file at a time. Sometimes this can be awkward as it can force you to checkout the entire repository for the sake of changing one file in the top directory.

Solution: do a --non-recursive checkout:

    svn checkout --non-recursive https://svn.osgeo.org/grass/grass-web/trunk/ trunk/

See Also

Note: See TracWiki for help on using the wiki.