Articles of svn

重新启动服务器后,在EC2实例上完成的更改生效

我正在使用codeigniter框架构build的网站上工作。 我从上个月开始使用亚马逊EC2实例。 今天,在做一些工作时,我发现在PHP文件中所做的更改并不反映在现场。 首先,我认为这一定是SVN的一个问题,当我提交或迟到时,文件可能不在服务器上。 所以我用SSH访问EC2实例并用vi编辑器检查一些文件。 变化实际上在那里。 我非常困惑,所以在函数的开头处放一个echo“Test”和die()。 它不起作用。 然后我尝试在这个控制器的构造函数中的回声和死亡语句。 它也没有工作。 然后我尝试另一个控制器和相同的结果。 我甚至在PHP代码之间放置了一段垃圾文本,以产生语法错误,但没有任何反应。 当我在浏览器中打开网站只有1-2小时的function正在工作。 没有最近的变化反映出来。 最后,我从亚马逊控制台重启实例,瞧! 它的工作,所有的变化现在反映在现场。 我想知道这可能是什么原因造成的,所以在未来对我来说不会有什么问题。

Subversion镜像有问题。 可以退出镜像的最新修订,然后重新同步?

看来Subversionconfiguration的一些胖手指可能导致Subversion镜像被破坏。 详细信息:我们有一套托pipe在主服务器上的Subversion版本库,然后使用snvsync镜像到两个离线服务器。 所有事务都是使用HTTPS完成的,所以在所有三台服务器上都configuration了Apache,以允许HTTPS访问主服务器和镜像服务器。 上周五,我在主服务器上build立了一个新的存储库,但是在新的repo的Apacheconfiguration中,我将SVNPath设置为与现有的存储库相同。 几个小时后,我修复了这个错误。 我不完全确定我现在看到的错误是由于错字,还是只是巧合,但无论原因,实际拥有该SVNPath在svnsync尝试期间报告错误的存储库,现在是两个镜像之一该存储库至less有一个丢失的文件。 这是我现在试图在镜像上执行svnsync时得到的消息: svnsync: '/Repo-proxy-sync/path/to/missing/file/MissingFile.pm' path not found 检查镜像的最新修订版确认该文件不存在。 缺less的文件首先在主存储库的修订版本#16166中提交。 回顾一下svnsync日志,看起来那个版本已经被完整地提交给了镜像(在创build新的版本库之前): Fri Aug 21 06:03:20 CDT 2015 Committed revision 16166. Copied properties for revision 16166. 上午8点之后,有一些错误开始发生。 我也怀疑我重新启动Apache来应用新的configuration可能是一个因素。 我在整天看到的错误中有一条是关于#16166修订版的。 Fri Aug 21 08:01:58 CDT 2015 svnsync: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://master-ip/Repo' […]

乌龟SVN:初始连接超时

将Tortoise SVN连接到我的SVN服务器时出现问题。 第一个连接似乎进入超时(SVN挂起约20秒),第二个(自动)尝试立即工作。 即每更新,提交,日志需要一个looong时间,并驱使每个人疯狂… 来自Linux命令行客户端的相同的SVN操作即刻起作用。 通过networking浏览器访问工作也没有任何延迟。 SVN设置如下:SVN服务器运行CentOS 7,Apache 2.4.6和mod_dav_svn 1.7.14。 通过SSL访问已configuration。 身份validation通过Windows Server 2012 R2上的LDAP完成。 客户端(Windows 7 x64)运行Tortoise 1.7.15(x64)。 这是相关的Apacheconfiguration(混淆…): # Reduce LDAP cache to 30 seconds LDAPCacheTTL 30 LDAPOpCacheTTL 30 <Location /svn> DAV svn SVNParentPath /var/svnrepo SVNListParentPath on AuthName "My Repository" AuthType basic AuthBasicProvider ldap AuthLDAPURL "ldap://dc.mydomain.local/OU=Group of Users,OU=MyOU,DC=MyDomain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE AuthLDAPBindDN "CN=ServiceUser,OU=Group of Users,OU=MyOU,DC=MyDomain,DC=local" […]

Subversion SSPIauthentication

如果你想使用Apache提供的Subversion的SSPI身份validation,你的用户在多个域中,并且来自多个域的用户可以访问特定的存储库,但不是所有的存储库,那么你如何设置呢? 在之前的文章中,Palehorse指出使用mod_auth_sspi以及显示为一个域设置的SSPIDOMAIN: <Directory /> Options FollowSymLinks AllowOverride None AuthType SSPI AuthName “YourDomain” SSPIAuth On SSPIAutheritative Off SSPIDomain dc.yourdomain.com SSPIOmitDomain Off SSPIOfferBasic On SSPIUsernameCase Lower Require group “YOURDOMAIN\AuthorizedGroup” </Directory> 在我的情况下,我的domain1 \ user1,domain2 \ user2,domain3 \ user3都需要访问一个存储库,而domain1 \ user1,domain3 \ user3需要访问另一个存储库。 我们不会有一个RequiredGroup(我不认为 – 不知道这是什么),而是让每个用户使用他们的活动目录(Windowslogin)用户名和密码进行身份validation。 有没有办法列出多个SSPIDOMAINs和类似于以下的访问控制文件列表组,以允许多个域中的用户访问存储库? developers=domain1\user1, domain2\user2, domain3\user3 otherReposGrp=domain1\user1, domain3\user3 [/] @developers=rw [someOtherRepos] @otherReposGrp=rw

SVN提交-m什么都不做

我有一个文件夹,我试图将其添加到存储库中。 所以我做了一个svn co ,把这个文件夹复制到工作副本中。 有一个svn add sudo svn add –force * –auto-props –parents –depth infinity -q 而当我试图svn commit -m没有任何反应。 有人知道问题在哪里吗?

为什么svn作为计划任务运行时,在错误的地方查找caching的凭据?

我通过Windows计划程序在一个服务帐户下运行每日PowerShell脚本,该服务帐户更新本地svn工作副本并提交更改。 svn客户端是sliksvn,只能通过命令行运行。 当手动运行时,Powershell脚本按预期工作,svnauthentication使用caching的凭证。 当我给服务帐户必要的权利,并创build计划的任务作为服务帐户,一切工作正常。 但是,当我使用我的pipe理员帐户创build计划任务并将其设置为服务帐户运行时,svn身份validation失败。 我用Sysinternals procmon监视身份validation过程,发现在这种情况下,该进程试图findsvn凭据 C:\Users\Default\AppData\Roaming\Subversion\auth\svn.simple\ (不存在)而不是 C:\Users\ServiceAccount\AppData\Roaming\Subversion\auth\svn.simple\ caching的凭据实际存储在哪里以及它在成功案例中的位置。 为什么svn尝试查找默认用户的caching凭据,而不是运行任务的用户? 编辑:我find了解决办法。 这是Windows任务计划程序中的这个错误: https : //support.microsoft.com/en-us/kb/2968540 编辑:…现在可以通过此修复程序修复(在Server 2012 R2中): https : //support.microsoft.com/en-us/kb/3133689

snv + http协议与SElinux

我被要求在CentOS 7操作系统上使用http和svn协议运行颠覆。 安装了Apache和Subversion。 当apache和subversion访问版本库时,会出现这个问题。 Apache使用设置: #ls -Z drwxr-xr-x apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 repository 但在这种情况下,svnserve无法访问它。 Svnserve在设置#chcon -R -t svnserve_content_t /var/www/repository 。 但在这种情况下,http协议(apache)被SELinux阻止。 我在这里发现了类似的问题: 如何让SELinux在同一个文件夹上允许Apache和Samba? 。 但是在阅读更多内容之后,我select了CentOS wiki中描述的程序,并创build了一个自定义的SELinux策略。 该政策如下所示: module my_svnserve 1.0; require { type proc_t; type passwd_file_t; type httpd_sys_rw_content_t; type shell_exec_t; type random_device_t; type svnserve_t; type http_port_t; type bin_t; class capability { fsetid dac_override }; class tcp_socket […]

内部错误500当使用apache 2.4与LDAPauthentication时发生

我有一个configurationSVN服务器的CentOS 7服务器,我有另一台带有LDAP的Windows服务器2012R2,用于域控制器。 我可以使用ldapsearch与Windows服务器通信。 那么我现在的问题是,当我尝试通过浏览器login到svn服务器,无论我input什么,它出现一个内部错误(500)。 错误消息是: [Thu May 12 13:27:36.786664 2016] [authz_core:debug] [pid 10377] mod_authz_core.c(809): [client 1.1.1.1:50409] AH01626: authorization result of Require valid-user : denied (no authenticated user yet) [Thu May 12 13:27:36.786695 2016] [authz_core:debug] [pid 10377] mod_authz_core.c(809): [client 1.1.1.1:50409] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet) [Thu May 12 13:27:36.786732 2016] [authnz_ldap:debug] […]

将SVN服务器存储库存储在(安装的)远程samba共享上

我正在调查设置一个替代SVN服务器(Apache mod_dav_svn),但理想情况下,将实际存储库存储在远程Samba共享上。 编辑:澄清,客户端访问将仍然通过Apache前端,而不是直接到存储库。 有什么理由为什么这是一个(真的)不好的主意? 我主要关心的是数据完整性(即从文件被发送到Apache服务器,然后从该服务器写入远程存储 – 特别是如果任何数据包丢失),虽然SVN本身应该保证数据的完整性,然后才允许每个实际承诺完成? 发现的一个风险是,如果networking或远程存储器出现故障,我们无法访问回购协议,但是有问题的networking具有恢复能力,而远程存储是SAN(同样具有弹性),所以我对此感到满意。 还有什么我失踪?

svn授权通过ldap / AD

这里有一个问题。 我有一个域名(AD),我需要通过ADloginSVN用户。 DC:10.20.3.30 Svn服务器在freebsd上,它不在域中 Apache 2.4 AD读取用户:OU SVN中的“svnr”。 Svnr用户testing,并可以login到域。 Apache加载的模块:mod_ldap,mod_authnz_ldap,mod_authz_svn,mod_dav_svn 在相同的服务器lighsquid通过NET :: LDAP从AD读取用户。 Svn使用文件身份validation。 正好。 如果我尝试login与任何域用户拒绝和Apache日志显示“密码不匹配”。 httpd-vhosts.conf <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/local/www/svn" ServerName svn ServerAlias svn.domain.ru ErrorLog "/var/log/svn.error.log" CustomLog "/var/log/svn.access.log" common <Location /> DAV svn SVNParentPath /usr/local/www/svn SVNListParentPath on AuthType Basic AuthName "SVN Server" AuthBasicProvider ldap AuthLDAPURL "ldap://10.20.3.30:389/DC=domain,DC=ru?sAMAccountName?sub?(objectClass=*)" NONE AuthLDAPBindDN "CN=svnr,OU=SVN,DC=domain,DC=ru" AuthLDAPBindPassword 123 Require […]