将svn删除--keep-local还会阻止文件在更新时被删除吗?

时间:2011-03-30 18:00:19

标签: svn

我已经看到很多很好的答案,关于使用带有--keep-local标志的svn delete来保存文件,同时在存储库中删除它。不幸的是,我无法找到任何关于文件是否会在更新时从同事机器中删除的信息,因为该文件已从svn中删除。

我们有一个项目,其中提交了eclipse .project和一些.settings文件。我们不希望这样,所以我试图删除它们。如果我在.project文件上执行svn delete --keep-local,那么我确定它会保留在我的系统上,但它会在我的同事的系统上擦除它,从而杀死他们的日食项目

或者,有没有办法让我svn:忽略版本化文件而不必先从源代码控制中删除它?

2 个答案:

答案 0 :(得分:5)

我的机器上的快速测试告诉我该文件将从其他计算机中删除。在这里,我在目录repo和两个工作副本ab中创建了一个存储库。然后我在a中创建并提交一个文件,更新b,删除 - b中的文件 - 保存 - 最后更新aa中的文件被删除。抱歉未翻译的svn消息。

me@mycomp:~/Escritorio/test$ mkdir repo
me@mycomp:~/Escritorio/test$ svnadmin create repo
me@mycomp:~/Escritorio/test$ mkdir a 
me@mycomp:~/Escritorio/test$ mkdir b
me@mycomp:~/Escritorio/test$ svn co file:///`pwd`/repo a
Revisión obtenida: 0
me@mycomp:~/Escritorio/test$ svn co file:///`pwd`/repo b
Revisión obtenida: 0
me@mycomp:~/Escritorio/test$ cd a
me@mycomp:~/Escritorio/test/a$ ls
me@mycomp:~/Escritorio/test/a$ touch file
me@mycomp:~/Escritorio/test/a$ svn add file
A         file
me@mycomp:~/Escritorio/test/a$ svn ci -m "Adding file"
Añadiendo      file
Transmitiendo contenido de archivos .
Commit de la revisión 1.
me@mycomp:~/Escritorio/test/a$ cd ..
me@mycomp:~/Escritorio/test$ cd b
me@mycomp:~/Escritorio/test/b$ ls
me@mycomp:~/Escritorio/test/b$ svn up
A    file
Actualizado a la revisión 1.
me@mycomp:~/Escritorio/test/b$ svn delete --keep-local file 
D         file
me@mycomp:~/Escritorio/test/b$ svn commit -m "Deleting file"
Eliminando     file
Commit de la revisión 2.
me@mycomp:~/Escritorio/test/b$ cd ..
me@mycomp:~/Escritorio/test$ cd a
me@mycomp:~/Escritorio/test/a$ ls
file
me@mycomp:~/Escritorio/test/a$ svn update
D    file
Actualizado a la revisión 2.
me@mycomp:~/Escritorio/test/a$ ls
me@mycomp:~/Escritorio/test/a$

答案 1 :(得分:1)

您想要改为忽略,最好是通过文件扩展名。这将从存储库中删除该文件,但不会从您的PC或其他开发人员删除该文件。电脑。当其他开发人员添加和提交Visual Studio本地文件(.user等)

时,我必须一直这样做