我有一组文件,我在 SVN 存储库中复制和重命名这些文件,以便尽可能多地保留文件历史记录。除了从源复制到目标之外,我已经有了新形式的新文件,并且在另一个位置对其内容进行了一些更新。我通过从新文件顶部的另一个位置复制新文件的更新版本来对文件应用更改。所以序列看起来像:
# Copy and rename the files within svn
svn cp <old-directory><old-file-name> <new-directory>/<new-filename>
# Copy and update version of the new file in place
cp <updated-directory>/<new-filename> <new-directory>/<new-filename>
然后我可以查看文件的状态,我得到:
A + <new-directory>/<new-filename>
我理解的意思是这个文件将被移动(提交后)
顺便说一句,我复制而不是移动的原因是代码相当关键,因此我们希望分阶段进行移动。
在某些情况下,<old-directory>
它与 the 相同,<new-directory>
因此只是名称更改和一些内部更改。对这些文件执行 asvn log
会给出正常的日志历史记录。但是在其他情况下,复制文件时,文件<new-directory>
不存在,我不得不在 svn 中创建一个新目录,我使用的是:
svn mkdir <new-directory>
这些文件和目录也显示A +
如下:
A <new-directory>
A + <new-directory>/<new-filename-one>
A + <new-directory>/<new-filename-two>
虽然当我尝试svn log
对这些文件执行操作时,我收到以下错误消息:
svn: Unable to find repository location for '<new-directory>/<new-filename>' in revision 0
我不确定我是否在这里犯了错误:我是否应该svn mkdir
在将文件添加到目录之前提交?也许在我提交所有内容后它会自行解决?我还没有提交文件,因为我并不特别想深入一个我必须解开的漏洞。