linux svn导出强制覆盖,关于SVN在Linux上的导出功能的几个问题

我做了一些功课,尽管我可以回答以下所有有关在Windows上(使用VisualSVN服务器)导出SVN存储库的问题,但我在Linux上完全迷路了,因为我是那里的新手。

我想在Linux上使用SVN的导出功能,以便每次提交存储库时都更新网站。但这有一些问题。

我已经读出了这三个:

如何使用" svn export"命令从存储库中获取单个文件?

http://www.duchnik.com/tutorials/2011/07/02/svn-command-reference

http://www.picksourcecode.com/ps/ct/161055.php

并找出以下命令在提交后的钩子中使用:

svn export --force svn://localhost/repository_name /share/Web/projects/website

问题:

任何人都有任何想法,为什么它不起作用?更改已提交到存储库,但操作最终以"提交后挂接失败(退出代码255),没有输出"结束。提交后的钩子似乎没有被触发,因为目标网站没有更新。我检查(甚至仔细检查)命令本身的作用就像一个超级按钮(从命令行调用时)。它仅在提交后挂钩内失败。我试图在此文件的末尾添加"退出0"。当然,它是可执行的。没运气。仍然,经过多次尝试,相同的错误代码。

即使我没有提供用户名和密码作为参数,为什么仍可以执行此操作?存储库中的" passwd"文件已正确设置,并且来自外部客户端的任何操作都需要提供用户名和密码,否则将失败。 SVN中的某些错误?

有什么方法可以将导出到目标的文件限制为仅更改/添加/删除,而不是在每次提交后导出整个存储库?

无论如何,是否有通过FTP而不是QNAP本地路径通过外部服务器完全相同(导出)的方法?

对于第3点和第4点,我尝试使用SourceForge形式的svn2web工具,但这不是一个好主意,并且不起作用。它使用提交前钩子而不是提交后钩子,这意味着它中的任何错误都将阻止开发人员提交他们的工作(在我的情况下-提交后-更改已提交,仅不传播到目标)。他们的预提交钩子在我的服务器上失败(与上面的第一点相同的错误消息),并且他们向文件夹属性添加" svn2web"属性的方法(解决方案)可能仅适用于纯Linux Subversion客户端,但是在使用时似乎完全失败了Windows上的TortoiseSVN作为SVN客户端。

我想知道,问题1(以及2-3,也许是4)的解决方案是否不是要在/ share / Web / projects / website内设置本地工作副本,并使用CRON对该存储库进行定期更新?这将始终仅"导出"实际更改,并且可能会在没有Poper登录名和密码的情况下失败。但这似乎是在重新发明轮子或强迫打开已经打开的门。

预先感谢您的任何帮助。

1.可以连接到(2)-钩子运行所在的用户未经授权,并且与(2)中的用户不同。2.您确定要阻止只读权限吗? 如果是,则可能是第一次请求您输入用户名/密码,现在将其缓存(删除?/ .subversion / auth目录中的所有内容,看看会发生什么)。

关于不使用同一用户-我不 也许你说的对。 关于兑现密码-我很 我只运行了3次export命令,每次都能正常运行,而不会要求我输入密码或登录。 但是,我的好奇心是关于不要求输入密码的问题。 毕竟,这对我来说不是一个大问题。

简单回答:

我可能会以与SVN守护程序(svnserve)用于运行挂钩的用户不同的身份运行此命令。另一个用户(由SVN使用)可能没有获得运行导出所需的所有权限。

不幸的是,我不知道。在您安装SVN时必须有所帮助。当然,这根本不应该发生。如果存储库得到了适当的保护,并且需要登录名和密码,那么即使是用于导出操作,每个人都必须核心地提供它。

您需要扩展脚本,最好将其作为提交后的钩子运行,它将当前(最后一个-HEAD)版本与先前的版本进行比较,并且仅导出更改的文件。这不是一件容易的事。在尝试再次发现轮子之前,请在Internet上四处寻找可用的解决方案! :]

不直接用SVN的提取命令吗?我想到的最简单的方法是提取到本地路径,打包,通过FTP发送并在目标位置解压缩。或者,如果您无权访问目标位置的shell,请逐个文件直接发送以解压缩存档。

希望这些会有所帮助吗? :]

非常感谢您(+1)! :]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值