Subversion入门
前言
下载和安装
存储目录做成
存储目录初始化
新模块做成,import
check out 开始作业
追加新文件
追加新目录
一般作业流程
这篇文章没有覆盖的内容
参考Link
前言
在Windows XP操作系统的命令行里,练习使用版本管理工具Subversion。
关于版本管理工具Subversion的介绍,本文没有涉及。
下载和安装
Subversion (subversion.tigris.org)的下载页面中,找到WindowsNT,2000,XP and 2003,有以下一段文字:
The latest command-line binaries and libraries for Windows can be found in this directory of the file-sharing area.
点击this directory这个链接,就到了文件一览页面,选择最新的版本下载。
俺使用的是svn-1.1.4-setup.exe
下载之后安装,默认的目录是C:\Program Files\Subversion。
存储目录做成
文件存储目录C:\home\repos做成
C:\> mkdir C:\home\repos
存储目录初始化
新做成的目录必须要经过Subversion初始化之后才能使用。
C:\> svnadmin create C:\home\repos
新模块做成,import
新做成一个模块,import到Subversion里。
1. 新做成目录和文件
建立一个目录,创建名为readme.txt的文件。
C:\> mkdir work
C:\> cd work
C:\work> mkdir myproject
C:\work> cd myproject
C:\work\myproject> echo This is readme file. > readme.txt
C:\work\myproject> type readme.txt
This is readme file.
2. 把当前目录下的新模块myproject Import到Subversion的存储目录里。
注意Import的存储目录用file:///C:/home/repos来指定。
C:\work\myproject> svn import file:///C:/home/repos -m "Initial import."
Adding readme.txt
Committed revision 1.
3. 把练习用得作业目录删除
C:\work\myproject> cd ..
C:\work> del
myproject
…
C:\work> rmdir myproject
现在为止,myproject目录里的内容都删掉了。在Subversion的存储目录里,登陆了名为myproject的模块。
check out 开始作业
1.把myproject模块check out
C:\work> svn checkout file:///C:/home/repos myproject
A myproject\readme.txt
Checked out revision 1.
C:\work> cd myproject
C:\work\myproject> dir /b
readme.txt
C:\work\myproject> type readme.txt
This is readme file.
可以看到确实把文件从Subversion的存储空间取过来了。
其实取过来的并不仅仅是你做成的文件,还有.svn,这是Subversion版本管理用的隐藏文件。就像CVS里面每个文件夹下都有个CVS一样。用/a就能看到了
C:\work\myproject> dir /b/a
.svn
readme.txt
2.文件比较,确认两个版本的区别
在readme.txt文件里追加一行,跟存储空间里的readme.txt文件比较
C:\work\myproject> echo Nice to meet you. >> readme.txt
C:\work\myproject> type readme.txt
This is readme file.
Nice to meet you.
C:\work\myproject> svn diff
Index: readme.txt
--- readme.txt (revision 1)
+++ readme.txt (working copy)
@@ -1 +1,2 @@
This is readme file.
+Nice to meet you
4. Commit,把修正好的文件保存到Subversion的存储空间里
C:\work\myproject> svn commit -m "Add a greeting."
Sending readme.txt
Transmitting file data.
Committed revision 2.
追加新文件
1. 确认文件没有正在被修正
C:\work\myproject> svn update
At revision 2.
2. 作成新文件hello.txt
C:\work\myproject> echo Hello. > hello.txt
C:\work\myproject> type hello..txt
Hello.
3. 追加hello.txt
C:\work\myproject> svn add hello.txt
A hello.txt
4. 把新追加的文件commit到Subversion存储空间去。
C:\work\myproject> svn commit -m "Add hello.txt."
Adding hello.txt
Transmitting file data.
Committed revision 3.
追加新目录
新目录的追加同文件的追加基本上是一样的。
C:\work\myproject> mkdir src
C:\work\myproject> svn add src
A src
1. 在目录里作成文件并追加
C:\work\myproject> cd src
C:\work\myproject\src> ※在这里用记事本作成新文件Good.java。
C:\work\myproject\src> type Good.java
public class Good {
public static void main(String[] args) {
System.out.println("Good");
}
}
C:\work\myproject\src> svn add Good.java
A Good.java
C:\work\myproject\src> svn commit -m "Add a Java source file."
Adding src
Adding src\Good.java
Transmitting file data .
Committed revision 4.
C:\work\myproject\src> cd ..
一般作业流程
C:\work\myproject> svn update
At revision 4.
C:\work\myproject> cd src
C:\work\myproject\src> ※
C:\work\myproject\src> type Good.java
public class Good {
public static void main(String[] args) {
System.out.println("Good!!");
}
}
C:\work\myproject\src> svn diff
Index: Good.java
--- Good.java (revision 4)
+++ Good.java (working copy)
@@ -1,5 +1,5 @@
public class Good {
public static void main(String[] args) {
- System.out.println("Good");
+ System.out.println("Good!!");
}
}
C:\work\myproject\src> svn commit -m "Add exclamations."
Sending src\Good.java
Transmitting file data .
Committed revision 5.
C:\work\myproject\src> cd ..
Subversion的基本使用练习到此结束,呵呵。
这篇文章没有覆盖的内容
1. 使用svn move移动文件(cvs不能移动)
2. 网络上的使用方法
3. 多个人同时使用的方法
4. Unix上的使用方法
5. 其他Subversion的特性
6. 文件修正之后状态察看时,不使用svn update而是svn status
7. GUI
参考Link
http://subversion.tigris.org 官方网站
http://freebsd.sinica.edu.tw/~plasma/svnbook/book.html 迄今为止,关于subversion最好的一本书,这是繁体中文版的。