SVN ( Sub version)是一套版本控制系统,用来管理文件和目录,以及对其进行的所有修改操作。
Components
| 组件 |
功能 |
| svn |
Command line program |
| svnversion |
Revision of working copy |
| svnlook |
Inspect repository |
| svnadmin |
Repository administration |
| svndumpfilter |
Filter repository stream |
| mod_dav_svn |
Apache module |
| svnserve |
SVN server (SVN protocol) |
| svnsync |
Mirror repository |
Protocols
| 协议 |
描述 |
| file:// |
Local machine |
| http:// |
HTTP (Apache) |
| https:// |
HTTPS (SSL) |
| svn:// |
SVN (svnserve) |
| svn+ssh:// |
SVN over SSH |
Help
SVN Help
Show help for “import” command
Repo Admin
1
| $ svnadmin create "/path/to/repository"
|
Create new repository
1
| $ svnadmin setlog "/path" r 7 message.txt
|
Change log message for revision 7 to contents of file message.txt
1
| $ svnadmin dump "/path/to/repository" > filename
|
Dump repository to file (backup)
1
| $ svnadmin load "/path/to/repository" < filename
|
Load repository from file (restore)
Checkout
1
| $ svn checkout "/path/to/repository"
|
Checkout working copy into current folder
1
| $ svn checkout "/path/to/repository" "/path/to/folder"
|
Checkout working copy into target folder
Update
Update path
1
| $ svn update -r9 "/path"
|
Update path to revision 9
Add Files / Folders
Add all items, recursively
Add itemname (if folder, adds recursively)
Force recursion into versioned directories
Deleteing / Copying / Moving
Delete path
1
| $ svn -m "Delete message" delete "/path"
|
Delete with log message
1
| $ svn copy "/source" "/target"
|
Copy source to target
1
| $ svn move "/source" "/target"
|
Move source to target
Revert
Revert changes to path
Revert changes recursively
Commit
Commit changes to path
1
| $ svn commit -m "Message" "/path"
|
Commit with log message
Commit without recursion
1
| $ svn import "/path/to/folder" "/path"
|
Import and commit local folder
Logs and Blame
Show log messages for path
Show commits for path
Differences Between Files
1 2 3
| $ svn diff "/path/file" $ svn diff "/path/file@2" "/path/file@7" $ svn diff -r 2:7 "/path/folder"
|
Merge Changes
1
| $ svn merge -r2:7 "item" "/path"
|
Apply diff between revisions 2 and 7 of “item” to path
1
| $ svn merge "url1" "url2" "/path"
|
Apply diff between “url1” and “url2” to path
Miscellaneous
Resolve conflict
Remove locks and complete operations
Lock path
Unlock path
Get path status
View file contents
Item and Property Statuses
| 指示符 |
含义 |
|
No modifications (blank) |
| A |
Addition |
| D |
Deletion |
| M |
Modified |
| R |
Item replaced |
| C |
In conflict |
| X |
Externals definition |
| I |
Ignored |
| ? |
Not in repository |
| ! |
Item missing |
| ~ |
Object type changed |
Argument Shortcuts
| 快捷写法 |
完整参数 |
| -m “Message” |
–message |
| -q |
–quiet |
| -v |
–verbose |
| -r |
–revision |
| -c |
–change |
| -t |
–transaction |
| -R |
–recursive |
| -N |
–non-recursive |
REFERENCE
http://svnbook.red-bean.com
http://overapi.com/svn