Subversion Basics


Subversion Basics

In order to use these commands the following lines need to be added to /etc/bashrc on the machine that will access the repository:
export svnroot=svn+ssh://
export SVN_SSH="ssh -l $USER"

If you are intending to operate as root use su instead of su -

Common svn commands

Command Action
svn co $svnroot/project/trunk targetdir Checks out the trunk of the project into the targetdir.
also checkout
svn ci [filename] Commit the changes to the working copy or filename. VIM will be launched allowing you to enter a meaningful log message.
also commit
svn up Bring the current working copy up-to-date with the repository. Merges any changes in the repository with the working copy.
svn resolved Sometimes a merge or update will have a conflict. Files will be produced which share part of the filename with the conflicted file. Use those files and information inserted into the conflicted file to put the file in a workable state and use this command to let subversion know you fixed the problem. Then commit.
svn merge -rBASE:PREV [target] Reverts target back to the previous revision in a way that may be committed. PREV may be any previous revision number. This is only one small use of the merge command. See the next command for a more efficient operation.
svn cp -r489 $svnroot/project/trunk/target ./target Copies the target file or directory to the working copy with history from revision 489.
svn st Check the status of the working copy
also stat, status
svn diff [filename] Displays an inline diff of all the modifications to the working copy or to filename.
also di
svn revert target [target] Reverts targets back to a pristine copy of the repository. target may be . * or any filename.
svn cp file newfile Make a (cheap) copy of file.
also copy
svn mv file newfile Move or rename file to newfile.
also move, ren, rename
svn cp $svnroot/project/trunk $svnroot/project/tags/1.0

svn cp . $svnroot/project/tags/1.0

Tag version 1.0 of the project
1) from the current revision of the trunk.
2) from the current working copy.
In both cases the wc will not point to the new tag. (see svn sw)
svn cp $svnroot/project/trunk $svnroot/project/branches/experimental Branch the current revision of the trunk into the experimental branch.
The working copy will not point to the new branch. (see svn sw)
svn sw $svnroot/project/branches/experimental Switches the working copy to the experimental branch.
svn export $svnroot/project/tags/1.0 product Put a pristine copy of version 1.0 without administrative directories (no committing) into the product directory.

External Scripts

Command Action
svnchangesince Displays the log messages of all the changes to the repository since your last update
svnlastlog Displays the last log message that pertains to the current working copy.
svnlastchange Displays the last log message and a unified diff of the changes made in the last commit
svn-clean Removes all the files and directories that are not in Subversion

通过Subversion Basics.




时间:2009-10-25来源:Online990 作者: Online990点击:1051次





[root@localhost /]# cd /data/test

[root@localhost test]# ll

总用量 4

-rwx——  1 root root 32 10月 25 13:02

[root@localhost test]# echo $PATH       #显示$PATH变量


[root@localhost test]# cd /

[root@localhost /]# export PATH=/data/test:$PATH      #在$PATH中加入脚本路径

[root@localhost /]# export|grep test      #查看$PATH

declare -x OLDPWD=”/data/test”

declare -x PATH=”/data/test:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin”



[root@localhost /]# vi /etc/profile




[root@localhost /]# vi/root/.bashrc

# .bashrc

# User specific aliases and functions

alias rm=rm -i

alias cp=cp -i

alias mv=mv -i

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc


export PATH=”$PATH:/data/test/”

通过Linux中PATH设置 – online990.

Mac OS X Tip: Setting PATH environment variables

Mac OS X Tip: Setting PATH environment variables

I’m still getting to grips with this OS X malarkey, and my latest challenge was how to set the PATH environment variables.

I started out wanting to add some aliases for the mysql and mysqladmin commands as I’ve just decided to have a bit of a play with django. On linux I used to edit my .bashrc file to do this, but the version of bash on Mac OS X (10.5.2) doesn’t seem to support this. Hunting around I realised that I should just add the path to these commands to my PATH environment variable, but again: not quite so simple.

I want these commands to be available to everyone, so it turns out you have to edit a file called paths in /etc:

sudo vi /etc/paths

And that was it. Easy when you know how! Oh, and remember to run vi as root using the sudo command….

通过Mac OS X Tip: Setting PATH environment variables.