因为ntfs-3g挂载方式读写ntfs分区现在是比较安全的,因此渴望在双系统电脑windows和ubuntu下使用同一个工作拷贝。
下面的方式可以使windows和ubuntu共用一个工作拷贝
服务器B---Linux Ubuntu, 网址为xxx.xxx.edu.cn
客户机A---windows和ubuntu双系统
服务器B的svn服务器简单配置
//----------------------------------------------------------------------------
安装svn服务程序
$sudo apt-get install subversion
利用ssh访问的svn服务器的配置非常简单,简单的几乎可以不配置。
你只需要用命令:
$svnadmin create /home/usr/SVNROOT
创建一个版本库即可。
当用svn+ssh登陆的时候,会自动调用svnserve来为你提供服务。
客户机A
//--------------------------------------------------------------------------------------
ubuntu系统下生成自己的公钥和私钥下面的方式可以使windows和ubuntu共用一个工作拷贝
服务器B---Linux Ubuntu, 网址为xxx.xxx.edu.cn
客户机A---windows和ubuntu双系统
服务器B的svn服务器简单配置
//----------------------------------------------------------------------------
安装svn服务程序
$sudo apt-get install subversion
利用ssh访问的svn服务器的配置非常简单,简单的几乎可以不配置。
你只需要用命令:
$svnadmin create /home/usr/SVNROOT
创建一个版本库即可。
当用svn+ssh登陆的时候,会自动调用svnserve来为你提供服务。
客户机A
//--------------------------------------------------------------------------------------
ssh-keygen
生成之后,将公钥发至服务器,私钥保存
$ ssh-keygen
该步产生.ssh/id_rsa 和.ssh/id_rsa.pub 文件,一个是私钥,一个是公钥。
$ scp .ssh/id_rsa.pub B:.ssh/authorized_keys
该步把公钥拷贝到服务器B相应目录和文件中。这一步的目的是去掉ssh访问服务器B时每次都要输入密码的繁琐过程。
同时把私鈅拷贝到windows目录下,以便windows下使用。
--------------------------------
Ubuntu系统下安装完svn即可使用
$sudo apt-get install subversion
如果希望ssh的时候使用代理服务器,参考本博客前面的文章:ssh利用代理登录远程服务器
使用代理服务器的原因是在家上网时用学校内部的svn服务器,速度往往很慢,如果用学校的代理服务器,速度会有10倍的提高。
把你的mydocs文件夹放入服务器中版本库中:
$svn import ~/mydocs svn+ssh://xxx.xxx.edu.cn/home/usr/SVNROOT/mydocs
注意:服务器地址后面的目录必须是绝对路径。
//-----------------------------------------------------------------------------------------
Windows系统下
1. 下载putty及相关, 同时下载winscp以便拷贝服务器中非svn数据,放在program files文件夹中
http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip
http://winscp.net/eng/download.php
最好把两者安装在一个文件夹中
2. 启动其中的puttygen.exe
load先前生成的私钥id_rsa ,保存成putty对应的私钥格式id_rsa.ppk
3. 启动putty.exe
- Create session called xxx.xxx.edu.cn
- open putty.exe
- under Host Name (or IP address), enter xxx.xxx.edu.cn
- under Saved Sessions, enter “xxx.xxx.edu.cn” (此处的名字必须和你服务器的名字相同,否则不能和linux共用)
- click the Save button
- 输入用户名:category->connection->Data->Auto-login username: fff
- 输入代理服务器信息:category->connection->proxy
- Select .ppk file for authentication
- in the Category tree, select Connection->SSH->Auth
- in the field under Authentication Parameters, click the Browse... button
- browse to and select your .ppk file
- Save your session information
- in the Category tree, select Session
- under Load, save or delete a stored session, select xxx.xxx.edu.cn
- click the Save button
- double-click on pageant.exe
- you should now see a computer with a black hat in the tray
- right-click on the computer with the black hat in your taskbar
- select Add Key from the context menu
- browse to your recently-created .ppk file and select it
- click Open
- enter your password when prompted
- verify that your key has been added by double-clicking on the computer with the black hat
plink.exe -load xxx.xxx.edu.cn -v
必须注意,此处的xxx.xxx.edu.cn是刚才保存的putty的一个session的名字,而不是服务器的地址(当然,这两个名字是一样的),这也是后来设置tortoisesvn中plink命令的原型, 也有助于你理解tortoisesvn是如何利用上了putty. -v是显示连接过程。
6. 安装TortoiseSVN
下载之:http://tortoisesvn.net/downloads
然后安装
7. 右键,在TortoiseSVN的setting里面选择network,在ssh client处填入C:Program FilesWinSCPPuTTYPLINK.EXE -load
说明:此处的命令其实就是第5步中的测试命令,plink.exe命令load putty保存的session--xxx.xxx.edu.cn,此处的xxx.xxx.edu.cn是putty的session名字,之所以用与服务器同名,主要是为了和linux系统共用一个工作拷贝。也就是这一步把putty和Tortoisesvn联系在了一起。
8. svn的版本库地址:svn+ssh://xxx.xxx.edu.cn/home/usr/SVNROOT/mydocs
注意,此处的xxx.xxx.edu.cn是putty保存的session名字。如果你没有和linux共用一个工作拷贝,putty保存中使用了其他的session名字,请用其他的session名字代替。
9. 在mydocs文件夹中放一个新文件,然后用tortoisesvn的commit命令试一试能否递交。
OK, windows和linux可以共用一个工作拷贝了。
