从svn存储库复制文件

时间:2011-03-03 16:39:06

标签: linux svn centos

我想从服务器上的svn存储库复制文件和文件夹,但我不想安装svn客户端,我可以不用svn客户端吗?

PS服务器--linux(CentOS 5.5),svnadmin版本1.4.2(r22196)编译于2009年8月10日,17:54:46。

UPD:文件已导出到服务器:我想将文件从svn存储库导入到运行web-server的目录。例如:位于/ var / svn / repos的svn存储库,我想将存储库转储到/ var / www,但是在/ var / svn / repos中没有我需要的文件。

PSS抱歉我的英语不好= \

3 个答案:

答案 0 :(得分:4)

Subversion存储库的格式不可读,您可以像使用CVS一样仔细阅读。要读取存储库中的文件,您需要有人在某处拥有客户端。

如果您的Subversion存储库为其服务器使用Apache httpd,您可以使用wgetcurl来取消特定目录上的最新修订,因为是一个额外的奖励 ,Subversion Apache httpd模块允许您查看最新版本。

$ wget http://svn/repos/foo/trunk/myfile.java

另一种选择是使用Subversion存储库浏览器,如(ViewVC)[http://www.viewvc.org/]或Sventon。这些将允许您浏览整个存储库(包括旧版本),而无需在本地计算机上安装Subversion客户端。我喜欢Sventon,因为它不必从Subversion存储库服务器运行。

如果您使用的是Centos 5.5,则应该已经在系统上安装了Subversion命令行客户端。在这种情况下,如果您不想要.svn目录,请使用svn export命令而不是svn checkout

或者,设置您的Web服务器以忽略.svn目录。这样,您可以执行svn update并更新Web服务器上的文件,而无需重新下载所有内容。

答案 1 :(得分:2)

好吧,如果您对服务器有物理访问权限,则可以使用该框上的Subversion客户端导出文件/文件夹,然后将它们从服务器复制到客户端计算机。如果您只是想从客户端那里尝试这样做,我能想到的唯一方法是从Web客户端手动下载文件,但这只有在您使用Apache作为Subversion服务器时才有效。

答案 2 :(得分:2)

除非服务器有HTTP接口(前缀为http://的存储库URL?只需在Web浏览器中打开它),否。

最简单的方法是在服务器上导出所需的文件(svn export file://repo/path/to/directory),然后使用http或scp等将它们复制到客户端。