由于一些原因,该规范的来源的一些文件,我已经不能工作拷贝的储存库(颠复服务器的背后是一个无法访问的防火墙,以及数据本身并不存在文件系统在是我的首选结构)。因此,我写的一个工具,下载的数据,生成一个目录的结构,然后使用SharpSvn进口的结果进入储存库中。这工作...第一次。第二次,当然,的目录,名称中已经存在的储存库,而且我不能进口。

相反,我可以:

  1. 删除该目录, 然后 进口。我还没测试了这个,但除了冠冕堂皇的愚蠢的,它可能也删除的修改历史的各个文件,关于新的人一样完全不同。
  2. 看看目录存在,检查出来,远程删除的文件,不再存在的规范来源,然后将余下部分和提交。这可能会工作,但是听起来容易出现错误和不必要的困难。

是我的假设正确,删除的文件将标志着新的相同方式作 不同的 文件?是有一个更简单的方法比第二种方法?

有帮助吗?

解决方案

1),它不会删除的修改历史,但是新的文件将被视为完全无关。你仍然可以获得的旧文件。

2),这将被推荐的方式。但后'svn删除'ing的现有文件,然后再添加一个新的人,你还必须'svn加入这些新文件之前犯。

但似乎你应该考虑使用svn-load-dirs.pl 脚本。你可以阅读有关这一颠复书,章"供应商的分支".

其他提示

颠复具有一个松散连接的文件。对于文件的一个文件夹内,你可以很容易地做到一个得到更新,使大规模的变化(包括删除、替换或增添的文件),然后提交差异。该文件的行为是典型的颠复使用。

该目录是略有不同。颠复存库信息的文件夹的水平。因此,如果创建一个新的文件夹,它不会自动具有连接到颠复。(使用像如今,它需要照顾的这对你.)

如果你要增加和删除目录的生成过程期间,只有一些轻微不同的问题比该文件本身。但是,仍然可以实现你的目标通过的命令行SharpSvn,如今,或其他类似工具。

因为你不能复盖的目录或者你会毁了的 .svn 目录和失去所有的储存库信息,你必须复制文件,但只有创建新的目录。这是我怎么会那样做,从内部颠复工作复制你想要更新:

(cd <newdirectory> ; tar -cf - * ) | tar -xf -

授予你需要一个Unix-y系统。它应该与 Cygwin, 除非Windows不特别的东西怪异的有复盖的文件夹在系统一级。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top