svn - 颠覆 : detect a renamed folder

标签 svn directory rename move

这是我的情况:我有一个从 svn checkout 的项目的本地副本。我在 linux 服务器上工作。我在工作日开始时执行结帐,然后我和其他人编辑项目中包含的文件/文件夹。在一天结束时,我必须将更改提交到 svn。

我正在使用命令 svn status . 获取 che 修改,然后我执行 svn add [filename]svn delete [filename]用于新文件/文件夹和已删除的文件/文件夹。

我只有重命名的文件夹有问题。我知道在 svn 中重命名文件夹的正确方法是命令 svn move [from-folder] [to-folder]。 但是,如果有人使用 mv [from-folder] [to-folder] 重命名文件夹怎么办?

如果我这样做:

svn delete [from-folder]

然后

svn add [to-folder]

我没有收到“删除命令”的错误消息,但收到“添加命令”的错误消息,提示“[to-folder] 已在版本控制之下”。

如何检查文件夹是否已重命名?我怎样才能正确提交更改?

最佳答案

这里有几个问题:

  1. 您有多个人共享一个工作副本。这是一个坏主意。当您这样做时,人们很容易踩到彼此的更改并提交尚未准备好提交的内容。你已经失去了所有的责任——谁改变了什么?每个人都在处理相同的文件,所以现在不可能知道谁做了什么。每个人都应该有自己的工作副本,在他们自己的工作站上(或者在他们自己的主目录下,如果您必须在远程系统上工作的话)。
  2. 对上述要点的补充:您的提交消息描述了您为何做出您正在提交的更改。如果每个人都共享一份工作副本,并且只有一个人提交,您如何记录您的更改历史记录(“为什么”)?
  3. 有人没有正确使用这些工具。如果你在工作副本中,一切都必须使用 svn 子命令来完成。句号。
  4. 你每天都退房吗?在适当的 Subversion 工作流中不需要这样做。

回答核心问题: 使用 svn st -u 查找本地或服务器上的任何更改。经常运行 svn update 以尽快获取更改以防止出现此类问题,并在进行目录结构更改后尽快提交目录结构更改(假设它不会破坏某些东西)是一个很好的做法else) 以便每个人都知道这些变化。

但团队成员之间的良好沟通和正确使用工具是无可替代的。

关于svn - 颠覆 : detect a renamed folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664132/

相关文章:

asp.net - Visual SVN 指定带有新端口的 URL

java - 在 Subversion 的帮助下到 "Mavenize"Eclipse 或 NetBeans 项目的步骤?

java - 如何复制目录结构而不实际将内容复制到另一个目录中

java - 强制重命名Java中的文件

windows - 如何使用从当前名称中提取的子字符串重命名 Windows 文件

svn - SVN 术语中的 Branch vs. Tag vs. Revision

svn - 你为什么不应该提交一个标签

c# - 如何从项目路径获取 WinRT 中的文件?

c# - 如何强制删除另一个进程正在使用的文件夹?

c# - 重命名服务器目录中的图像文件