从svn仓库复制文件

4
我想从我的svn服务器上复制文件和文件夹,但我不想安装svn客户端,我能否在没有svn客户端的情况下完成操作?
PS 服务器 - linux(CentOS 5.5),svnadmin版本为1.4.2(r22196),编译日期为2009年8月10日,17:54:46。
更新:文件已经导出到服务器上:我想将文件从svn仓库导入到运行Web服务器的目录中。例如:svn仓库位于/var/svn/repos,我想将仓库转储到/var/www,但在/var/svn/repos中没有我需要的文件。
PSS 抱歉我的英语不好 =\
3个回答

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服务器上的文件,而无需重新下载所有内容。

2

如果您可以物理访问服务器,您可以在该服务器上使用Subversion客户端导出文件/文件夹,然后将它们从服务器复制到客户机。如果您试图仅从客户端完成此操作,我能想到的唯一方法是从Web客户端手动下载文件,但这仅适用于您的Subversion服务器使用Apache。


是的,我的Subversion服务器是Apache,但如果没有物理访问服务器。 - Mark Pegasov
您可以通过内置的Web界面手动下载文件。如果您从http://yourhostname_or_ip/repos/svn/test_repo提供存储库,则应该能够将该URL放入Web浏览器中以查看/下载文件。 - Jeremy Whitlock

2

除非服务器有HTTP接口(仓库URL是否以http://为前缀?只需在Web浏览器中打开即可),否则不行。

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


不是的,文件已经被导出到服务器了:我想要将文件从svn仓库导入至web服务器运行的目录。 - Mark Pegasov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接