给定使用 SVNParentPath 的典型 Subversion/Apache 配置,存储库托管/svn/如下:
<Location /svn>
DAV svn
SVNParentPath /srv/source/svn/repos
SVNReposName "Subversion Repository"
AuthzSVNAccessFile /srv/source/svn/authz
Satisfy Any
AuthType Basic
AuthBasicProvider file
AuthName "Subversion Repository"
AuthUserFile /srv/source/svn/htpasswd
Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
有没有办法覆盖特定存储库的此配置,而不必将它们托管在不同的路径上?也就是说,有什么办法可以添加这样的Location块...
<Location /svn/my_special_repo>
SVNPath /srv/source/svn/repos/my_special_repo
AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz
</Location>
Run Code Online (Sandbox Code Playgroud)
...并让它覆盖Location块中提供的配置
/svn?我尝试使用上述配置执行此操作时,在 Apache 错误日志中遇到了奇怪且无用的错误,例如:
[Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120]
(20014)Internal error: Can't open file '/srv/source/svn/repos/svn/format':
No such file or directory
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都是 mod_dav_svn 告诉我我不能做我想做的事情的方式。我愿意接受解决方案或替代方案!
编辑:嗯,我可以看到这个问题在读者中引起了很多兴奋。为了记录,我最终可能要做的是为我们所有现有的存储库生成每个存储库的配置,然后放弃SVNParentPath基于配置的配置。per-repo Apache 配置是最小的,尤其是使用类似 …
有谁知道哪些大玩家(如果有)支持 LDAP/AD 用户和组进行身份验证和数据库权限?具体来说,我想知道 SVN、GIT、Mercurial 等是否允许用户基于 AD 权限登录/连接,并允许基于 AD 中的组将细粒度权限应用于 VC 数据库中的文件夹。到目前为止,我的研究还没有表明这是可能的......
当客户端浏览器从 Web 服务器请求文件时,我知道会执行某种检查,因为 Web 浏览器可能已经缓存了为网页提供服务所需的文件。因此,如果缓存中存在文件,则不会发送任何文件。但是如果服务器上的文件自从文件被缓存在浏览器中后发生了变化,无论如何都会发送和更新文件。
然后,如果您在服务器上启用了 gzip 之类的压缩,则必须在途中对要提供给客户端的文件进行 gzip,这需要一些服务器端处理。
但这是如何管理的?在我看来,逻辑方法是,Web 服务器也应该有一个缓存,其中包含在特定时间跨度内请求的所有文件的最新版本,因此是这些文件的压缩版本,这样压缩就不必了每次请求文件时执行。
而且,最终如何请求文件?浏览器是每次在 HTML 代码中遇到一个文件并且特定文件未存储在本地缓存中时询问文件,还是将所有需要的文件加起来并同时询问整个文件?
但这只是从编程的角度猜测,我真的不知道。
如果 Web 服务器系统之间的答案非常不同,那么我主要对 Apache 感兴趣,但也欢迎其他答案。
我正在寻找一个带有 Web 前端的小型软件版本控制(变更日志)和错误提交系统。我只需要的功能是一个更改日志,用户可以在其中查看他们可以期待的内容和一个微小的错误提交系统。我不需要 SVN 提供的许多功能作为软件版本,因为项目很小,我在本地进行所有开发。
我正在寻找一个系统来准备具有以下基本特征的内部技术文件:
例如,我可以让用户编写 HTML 页面并将页面打印为 PDF,但这看起来很复杂且容易出错,而且 HTML 几乎不能“人类可读”。LaTeX 也非常复杂,它有很多依赖项,可能很难处理几年前的文档。
有人有更好的建议吗?
将代码从开发环境部署或更新到实时生产环境的最佳方法是什么?
我习惯先使用旧的filezila;删除然后将新代码上传到生产服务器,但这会带来各种问题,停机是主要问题。
我也一直在考虑使用诸如 Mercurial 或 git 之类的 VCS。这是推送实时代码的最佳方法吗?
感谢您的任何见解。
我管理着许多跨越多种环境(开发、质量保证、登台和生产)的服务器。为了帮助管理这些,我们在本地网络服务器上为我们的应用程序(例如 app_1_el6、app_2_el7 等)提供了多个存储库。我们还镜像了几个上游存储库,这些存储库为我们的自定义 rpm 提供依赖项(例如 EL Repo [1]、EPEL [2] 等)以减少包下载时间。
目前,一个 cron 作业将我们的本地与上游存储库同步。有时,我们会引入导致问题的更新(例如,与我们的某个软件包不兼容)。这最终会导致很多痛苦,我想避免这种痛苦。
我想做的是为上游存储库的本地镜像创建某种版本控制。例如,我想确保,如果在上游存储库中引入了一个破坏我们自定义 rpm 的新包,我有办法回滚或以某种方式隔离该包。解决这个问题的最佳方法是什么?
我们公司已经在使用版本控制,并且已经在做每天的备份。
但是,我的老板担心将源代码保存在“足够安全”的地方,以防万一发生多人抢劫或一些自然灾害,等等。
我试着在谷歌上搜索一些东西,我想最好的解决方案是一些在线备份服务。
您之前是否遇到过类似的问题?你是怎么解决的?
如果可能,您能否参考解决您问题的良好服务?
更新:我们目前在 2 个 DVD 上备份。一个放在我老板家里,一个放在公司大楼里。
我最近在我的服务器上运行了 Mercurial,通过 Apache 共享。当我通过 Web 浏览到存储库时,我看到一个带有 Atom/RSS 链接的存储库列表,但没有下载按钮。
我的问题是,如何启用紫色的“ZIP”、“TAR”、“BZ2”下载按钮(例如:http : //hg.pablotron.org/)?我一直在尝试为此查找文档,但必须在所有错误的地方查找。
我在 Ubuntu 10.04 和 Apache 2.2.14 上运行 Mercurial v1.6.3。谢谢!
我有一个问题,用户尝试使用 p4(不是 p4v)登录他们的 perforce 帐户,但它似乎是在没有权限的情况下从默认帐户开始的。当他们尝试使用 注销时p4 logout,他们会收到“'p4 保护'尚未启用用户“foo”的访问权限”。
通过 p4 注销和登录的标准方式是什么?
version-control ×10
svn ×4
http ×2
linux ×2
web-server ×2
apache-2.2 ×1
compression ×1
git ×1
gzip ×1
ldap ×1
mercurial ×1
pdf ×1
perforce ×1
repository ×1
yum ×1