SEARCH
TOOLBOX
LANGUAGES
Subversion

Subversion

From GarrettHoneycutt

Jump to: navigation, search

Contents

Workflow

Assumes you have a checked out copy of the code.

  1. create a branch
  2. make modifications in your branch
  3. diff your branch against trunk
  4. if it looks good, merge it in


Checkout

Checkout a copy of the repository

$ svn co http://svn/puppet

Ensuring the repo is without changes

Ensure the repo is without changes. If this command shows any output, take care of that first. Once you can run it without any changes, move on.

[~/puppet]$ svn st

Once that status shows no changes, see if there are any updates

[~/puppet]$ svn up

Creating a branch

Ensure the repo is without changes.

Create the branch

[~/puppet]$ svn copy trunk branches/<branch-name>

Check in the new branch before making any edits

[~/puppet]$ svn st
[~/puppet]$ svn commit
[~/puppet]$ svn st
[~/puppet]$ svn update

Merging into trunk

Ensure the repo is without changes.

Do a dry run first and make sure it will work as expected

[~/puppet/trunk]$ svn merge --dry-run --reintegrate http://svn/puppet/branches/<branch-name>

If it looks good, actually do the merge

[~/puppet/trunk]$ svn merge --reintegrate http://svn/puppet/branches/<branch-name>

Check it in

[~/puppet]$ svn st
[~/puppet]$ svn commit
[~/puppet]$ svn st
[~/puppet]$ svn update


Error 409 Conflict on commit

Check if there are any pre-commit hooks. Syntax checking in pre-commits are common and if you fail, you will get this error.

Cheat Sheet

Image:Subversion-cheat-sheet-v1.png