我有一个linux eclipse项目已经检入我们公司的svn。效果很好。
该项目旨在在Windows上进行交叉编译。
直到现在,我只是简单地在OS之间移动了源文件。但是,我想我想让svn为我做这件事。应该够简单,只需将eclipse linux src结帐到VS项目目录中吧?错!
从svn检查了正确的来源,它工作正常。但当我试图检查它时,我一直收到“提交未完成文件名仍然存在冲突”错误。我甚至没有改变任何东西!
做了一点检查。原来linux src目录几乎就是源代码和头文件。在MSVS端,项目目录包含源和头,但也包含VS使用的一堆文件,其名称如projname.vcproj等。
所以,我做了一个结帐到一个临时指南,。\ fred。检查。\ fred回来。没问题。添加了一个新文件到.fred,xxx.xxx。登记入住:
svn: E200009: Commit failed (details follow):
svn: E200009: 'C:\Projects\fred\xxx.xxx' is not under version control
让我对这些未提交的Visual Studio文件感到疑惑。
那么,这些文件是我的问题吗?他们是否违反了提交操作?
作为替代解决方案,我正在考虑将VS文件添加到svn中的src目录中。如果linux / eclipse检查出来,我可以告诉eclipse忽略它们(我认为它只会忽略它们)。对这种方法的任何想法或建议?
(顺便说一下,我仍然在Linux端有新的来源,所以任何被破坏的东西都可以安全地恢复。)
答案 0 :(得分:0)
所以这是我目前正在努力的一个解决方案。我不确定它是多么稳定。
警告:我正在使用的项目已作为MSVS项目存在。
在MSVS解决方案目录中,重命名源目录(MSVS喜欢源目录名称以匹配解决方案目录名称,这意味着源目录可能不会命名为src)解决方案中未涉及的内容,例如温度的
SVN签出src(eclipse喜欢调用source dirs src )。
cd进入源目录。发出命令:
svn changelist msvs *.cpp *.h
如果需要,添加* .c。 “msvs”是更改列表名称。它可以是你想要的任何东西。
这将为签出目录创建一个更改列表。
现在,将 temp 目录中的其余文件复制到源目录中。
当您需要签入时,请进入源目录并发出以下命令:
svn ci --changelist msvs
请注意。你必须在src目录中才能工作。