SourceForge.net软件开发

来源:互联网 发布:数据挖掘 实战视频 编辑:程序博客网 时间:2024/04/30 11:23
   SourceForge.net 是全球最大的OpenSource网站,相信很多人都到那下载过软件。不知有没有人想参与那儿某个开源软件的开发,我就是其中之一。我参与了一个小项目 dbf_recordset(dbfr)的开发,加入这个项目组已经很久了,但是管理员不怎么积极,就在文件列表处扔了一个下载的ZIP源文件包就不管 了,CVS中连初始项目都没有。我花了两个晚上研究CVS和SSH,终于搭建好了开发环境,高兴之余想与大家分享。

    为了安全SourceForge.net对其上的项目提供两种CVS服务:

一种使用pserver协议,任何人都可以匿名访问获取源代码。比如获取我的项目源代码:

cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/dbfr checkout dbf_recordset_1.3

刚才我测试了一下,发现还没有同步到该服务器上,在基于Web的CVS中也看不到我提交的模块。大家可以用gaim来测试:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gaim login

上面的命令登陆,提示输入密码时,密码为空直接回车即可。此时会在%USERPROFILE%目录下建立一个名为.cvspass文件。

more "%USERPROFILE%"/.cvspass查看其内容如下:

/1 :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/gaim A

说明你已经登陆上去了,下一步可以Checkout/Update等等。每登陆一次都会往这个文件添加一条记录。

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gaim co gaim

该命令Checkout gaim这个项目,包括其下的所有子目录。

 

另一种是通过SSH协议,只有开发人员才能修改源代码。

第一步下载SSH客户端,我选择的是SourceForge推荐的免费客户端PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/,OpenSSH也可以使用。

第二步用puttygen.exe生成公开和私人密钥对。

这是一个GUI 界面的工具,比较有意思的是,生成时要在对话框的空白区域不停移动鼠标输入随机种子,不动的话它就等在那儿。生成好后保存两个密钥,并把文本框中 OpenSSH格式的公开密钥保存到一个文件中,向SourceForge提交的公开密钥需要这个东西。保存的公开密钥有多余的东西,格式也不对,此处拷 贝保存下来最方便。忘了也没关系,以后可以Load你的私人密钥后,也会显示对应的OpenSSH公开密钥。我一共生成了三组密钥,SSH1(RSA), SSH2(RSA),SSH2(DSA)。

第三步提交公开密钥到SourceForge.net

Web上登录SourceForge,选择My sf.net,再选择Account Options。在打开的页面的Host Access Information部分,可以看到Number of SSH Shared Keys on file,默认为0个。

此处可以提交上一步生成的三个OpenSSH公开密钥,每个密钥一行,不要有多余的空行。提交后可以看到此处Key的个数会发生变化。重新打开提交密钥的页面,如果看到某个密钥是红色的说明该密钥有问题,检查密钥个数是否和你要求的一致。

第四步,启动pagent.exe认证代理服务,把你的密钥加入代理服务。其它的应用程序可以从该服务获取私人密钥。

第四步登陆shell.sourceforge.net测试密钥。运行PuTTY.exe或PuTTYtel.exe,Host Name中输入shell.sourceforge.net,Saved Sessions下面的文本框中输入session的名字,比如shell,以后可以通过该名字直接连接到这个网站。双击保存的session就会弹出DOS窗口,提示Login:输入你登陆Sourceforge.net的用户名,第一次会有一些提示,以后直接登陆了。

第五步激活cvs.sourceforge.net。 要通过SSH访问cvs,必须在你的用户目录下建立.ssh目录,并把你的公开密钥保存到下面。这一操作通过类似登陆shell服务一样,但是你会发现登 陆后立即退出了,这是正常现象,因为cvs服务器不允许直接访问。此外也可以登陆shell服务器激活,登陆后执行ssh -l username cvs1。

第六步设置环境变量,CVS_RSH等于plink.exe的全路径,保证%CVS_RSH%可执行。

第七步设置CVSROOT环境变量。

SET CVSROOT=username@cvs.sourceforge.net:/cvsroot/dbfr

这里纯粹为了方便,设置了CVSROOT后,不用输入服务器名字,直接可以Checkout等等。

 

然后就是import初始文件,切换到项目所在路径,执行cvs import,我使用WinCVS导入的。导入前需要执行init命令创建一个新的respository,然后才能导入。导入成功后就可以cvs checkout dbf_recordset_1.3或cvs commit dbf_recordset_1.3等等。

原创粉丝点击