MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 21 as of 2016-03-29 08:57:28
  • Subversion

Subversion

Subversion is an open source version control system

https://subversion.apache.org/

Update

svn update

Commit

svn commit -m 'message'
svn protected/* themes/* commit -m 'message'

Add unversioned files

/usr/bin/svnaddunversioned.sh:

svn status | grep ? | awk '//{print $2}' | xargs -i svn add {}
  • chmod 755 /usr/bin/svnaddunversioned.sh

Branches

http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html

svn copy http://svn.example.com/repos/calc/trunk http://svn.example.com/repos/calc/branches/my-calc-branch -m "Creating a private branch of /calc/trunk."
svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch my-calc-branch 

Ignore one folder

http://stackoverflow.com/questions/11293539/equivalent-of-gitignore-file-with-subversion

C# example:

  • cd ~/trunkx
  • svn propset svn:ignore "bin" .

Ignore several files folders

http://sdesmedt.wordpress.com/2006/12/10/how-to-make-subversion-ignore-files-and-folders/

svnignore.txt

obj
bin

Issue the command to ignore the folders listed inside the file

  • svn propset svn:ignore -F svnignore.txt .
  • svn status --no-ignore # see ignored files
  • svn propedit svn:ignore . # shows ignore list on editor
  • SVN_EDITOR=nano
  • svn propedit svn:ignore . # uses nano
  • svn proplist -v -R # shows all properties recursively

Add to ~/.bashrc

# export SVN_EDITOR=vi
export SVN_EDITOR=nano

Merge

  • cd mergeDestination
  • svn merge --accept postpone originFolder -r1234:HEAD #postpone to resolve conflicts later
  • svn status | grep '^C ' # only show files with conflits
  • svn resolve --accept working filex #accepts that working copy of filex does not have conflicts
  • svn update --accept postpone # updates working copy and automatically postpones conflict resolution

Diff between branches

  • svn diff --summarize http://example/svn/repository/branch1 http://example/svn/repository/branch2

Commit with message(s) in file

  • nano messages.txt
  • svn commit -F messages.txt --username userx

Files added or modified

  •  svn status | grep "^A\|^M" 

Cherrypicking

  • svn diff -c 1234 ~/calc/trunk # see diff for revision 1234
  • svn merge -c 1234 ~/calc/trunk # merge revision 1234

Solve conflict

  • svn resolved path/file # mark as solved

Revert working copy

  • svn revert --recursive .
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01