我被要求解决由于不正确使用颠覆引起的问题(据我所知)。
这是历史,由于一段时间的流逝,用户的困惑等而受到损害,但这是我能弄清楚的最好的。预期目标是在给定时间点归档文件集(本质上是标记存储库,但用户不知道这一点)。
- 用户已签出工作目录
- 用户没有创建标签,而是通过 unix 复制命令(不是 SVN 移动或 SVN 复制)将文件复制到其工作副本中的子文件夹。
- 例如,工作副本是 /var/tmp/working,他们将文件复制到 var/tmp/working/todays_date
- 用户注意到这个新目录中缺少一些 .svn 目录,因此他们将 .svn 文件夹从另一个目录(他们不确定在哪里)复制到带有“标签”的目录中。
这是修复它的最佳方法吗?
想我会尝试以下:
- 递归删除错误子目录中的所有 .svn 文件夹
- 将目录从 repo 复制到本地
- 在他们最后一次提交之前检查一个工作目录
- 用“导出”文件覆盖新工作目录的文件
- 完成正常的更新/提交过程
- 创建标签
这是有道理的,还是我对其他问题敞开心扉?
其他问题
- 它教育这个用户的最好方法是什么,这样他们就不会再这样做了?
更新:更多信息
从用户那里得到以下信息:
- 我做了这项工作,然后尝试做一个 svn add。
- 然后我做了 svn commit 这给了我一些错误。
- 那时我移动了 .svn 文件,然后它终于做了 svn add 和 commit 没有错误
- 但是 svn log 不显示提交的日志消息。
所以看起来用户复制了 .svn 文件夹以尝试进行提交,然后它显然确实添加并提交了,但我们不确定它是否这样做,因为我们在日志中找不到它。