科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用开源软件Subversion进行个人文档管理

用开源软件Subversion进行个人文档管理

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

开源控制系统Subversion正快速成为开发者的最爱。Chad Perrin为您揭示一些Subversion的性能并告诉您如何在管理源代码版本以外,如果利用他来管理个人文档。

作者:Chad Perrin 来源:TechRepublic.com 2007年3月19日

关键字: Office

  • 评论
  • 分享微博
  • 分享邮件

配置和安装
使用Subversion进行文档管理最可能的情况是在微软的Windows系统中使用TortoiseSVN 或者在免费的类UNIX操作系统的软件管理工具中使用Subversion客户端软件。如果要安装基本Subversion,你可以在BSD或者Linux软件的档案库中找到服务器软件,命令行客户端以及管理工具,因此如果你不需要图形化用户界面的话,你根本无需另外安装任何软件。

在微软的Windows服务器中安装Subversion,你可能会用到Subversion项目的维护者Tigris.org网站上提供的SVN 1-Click Setup 安装程序。许多使用Subversion的微软Windows用户选用BSD服务器代替Windows服务器,而且这样还不用分别安装。

在服务器上安装了服务器软件以后,您需要创建一个版本控制知识库。下面的例子假设了一个类UNIX的shell command 环境。括弧中的语句可根据您的需求进行更改。不要在操作中输入括弧。“#”标志表示您以根用户身份登录,或者使用sudo进行了管理员访问。在[nnnn]中填入你要访问的subversion知识库的userid 值。

列 A

# addgroup [svn-users]
# usermod -u [nnnn] -G [svn-users]
# mkdir -m 770 [/home/svn-repos]
# chgrp [svn-users] [/home/svn-repos]
# svnadmin create --fs-type fsfs [/home/svn-repos]
 
请注意一定要在fs-type选项中明确“fsfs”。因为默认情况下,Subversion知识库文件系统的数据库的最初名称为“bdb”,已被证实有些不稳定。新版本中默认名称已经更改为fsfs,但是有些老版本及非标准版的Subversion依然使用bdb。出于安全起见,还是要在创建新知识库时明确一下fsfs数据库格式,保证系统能够更稳定。

在服务器上建完知识库目录以后,就可以在这个目录下创建实际的项目知识库。也许是出于直觉,你不应该直接在知识库内进行。列B告诉你如何通过单独目录在知识库目录中创建包含有被丢弃的文件的知识库,然后再通过“check in”登记来创建项目知识库。

最后以前面命令中指明的用户帐号登录。从所用用户帐号的根目录开始按步骤进行。使用非根用户身份登录,前面显示“$”符号。同样的,[ ]括弧中的内容可根据你的需要进行修改。记得在输入时不要输入括弧。

列B

$ mkdir [project]
$ cd [project]
$ touch [file.txt]
$ svn import -m "[importing file to create project]" . file:///[home/username/svn-repos/project]
 
在服务器上创建项目知识库以后,就完成了。 在将项目知识库导入知识库之前需要删除刚才创建的项目目录,因为目录中的数据现在已经安全的保存在了服务器上。既然知识库是通过一个空文件使用touch command创建完成饿,所以删除也不会造成任何损失。

在客户端电脑上你可能需要编写项目或者访问文档,所以你还需要查看知识库中的内容并创建一个本地副本。范例如下。同样的也是假设您使用免费的类UNIX操作系统,如BSD,或者OpenSolaris这样的Linux版本。.

列 C

$ cd [/home/username]
$ mkdir [svn-local]
$ cd [svn-local]
$ svn co svn+ssh://[hostname/home/username/svn-repos/project project]
 
这时,一般都需要三次输入保存知识库的系统的密码。在本例中,除了你选择的操作系统,您还需要在客户端系统上安装功能完全的SSH客户端和SSH服务器。Svn命令知道如何通过SSH传达网络需求,为客户端和服务器系统之间提供安全的加密连接,保护您的用户名、密码和数据不受可能注意您的网络的恶意安全破坏者侵害。

Svn-local目录不是必需的。如果你愿意的话,你可以就把最新校验过的项目或者文档目录直接保存到您的用户帐号主目录下。一般最好将由Subversion知识库维护的目录与备份方式不同的目录分别保存,以免弄混。在以前的例子中,你都无需为重要数据“项目”的目录命名,所以也不需要为最初的空文件“file.txt”命名。

对项目的本地副本核完毕,就可以删除客户设备上的项目目录。然后就需要在目录内添加其他在Subversion中保存的文件,并在服务器上的Subversion知识库中进行核对。列D就为操作范例。

列 D

$ cd [/home/username/svn-local/project]
$ svn rm file.txt
$ cp -R [/home/username/project/*] .
$ svn add `ls -R`
$ svn ci -m "[added all base files to the project directory]"
 
cp –R命令能将目录中重要数据目录中的全部内容(在这里为/home/username/project) 复制到当前目录中 (由单独的句子指定)。svn add `ls -R` 命令将这个目录下全部内容以及所有的子目录添加到本地项目目录副本中的版本控制中。svn ci 命令将当前副本提交到服务器上的主目录中。在添加命令以后,svn客户端工具会显示添加文件列表。Ci命令会要求密码以确保你有权限进行提交。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章