【发布时间】:2013-11-19 02:15:44
【问题描述】:
所以我完成了所有步骤来制作一个 svn repo。
1) 我通过调用创建了 repo
svnadmin create /path/to/repo
2) 我在我的仓库中添加了包含我想要的文件的文件夹
svn import /path/to/folder
3) 我还创建了一个 post commit 钩子,在该文件夹上调用 svn update
4) 然后在我的远程系统上,我可以毫无问题地检查它。现在的问题是,当我提交并检查日志时,我看到了这一行
Skipped '/path/to/folder'
基本上它会一直跳过文件夹并且不会应用我提交给它的更改。我检查了该文件夹,发现其中没有 .svn 文件夹,我怀疑其中的存储库通常有这个问题......或者不是。
有人知道可能是什么问题吗?我希望该文件夹在我提交时更新文件
【问题讨论】:
-
如果没有 .svn 目录,svn 命令将无法对其进行任何操作。你的 svn co 应该给你一个 .svn: 你能发布 svn co 的结果,然后是一个 find 。 -name '.svn'
-
好吧,我想我的主要问题是当我调用 svn update 时,实际上正在更新哪个目录?也许我对 svn 的工作原理有点困惑。从我的想法来看,我在第 2 步中添加的原始目录会在我提交时更新,但情况似乎并非如此
-
是的,这听起来很可疑:“我还做了一个提交后挂钩,在那个文件夹上调用 svn update”。提交后挂钩用于提交成功后在 svn 服务器上的操作。 svn update 用于已签出的目录,以将其他人的更改与该目录中的文件同步:svn update 不用于 svn 服务器。典型的工作流程是: (0) svn co; (1) 做一些工作; (2)svn更新; (3) 合并任何冲突; (4) svn ci; (5) goto 1. 在服务器端,没有什么要“更新”的:它总是有最新的提交。
-
是的,但就是这样。在网络服务器上,我添加到 repo 的文件夹没有。我做了一个似乎成功的提交,但更改没有反映在文件夹中。可能是权限问题吗?
-
我想我遗漏了一些细节。实际的存储库具有目录 conf、db、hook 等。它编码而不是镜像内容的结构——因此,我不希望实际的存储库具有 .svn 目录。我将能够更好地使用 svn co 使用实际存储库和本地副本的实际命令和实际当前 ls 进行诊断。
标签: svn repository ubuntu-12.04 svncommit