11

一种新手问题,但我在使用 SNVKit 时遇到问题。

我在应用程序中使用 SVNKit 来提交对文件的更改。我已经成功地将文件和文件夹添加到工作副本中,但是在将其提交到存储库时遇到问题。

我试图运行的命令是 'commit -m "Test Add" /svnroot/project1/' 但我不断收到 "svn: '/home/user' is not a working copy"

我有一个类似于这样的结构:

  • /svnroot/
  • /svnroot/project1/
  • /svnroot/project1/grouping1/
  • /svnroot/project1/grouping1/myfilesarehere

如果我尝试提交文件,我会收到以下消息:“'/svnroot/project1/grouping1' 不受版本控制,不是提交的一部分,但其子项是提交的一部分。”

我可能做错了什么?

编辑:修复了目录。

4

9 回答 9

21

如果您同时添加了一个目录及其子目录,但都没有提交,我相信如果您尝试只提交子目录,您会收到此消息。您需要先提交父目录。

于 2011-05-18T22:40:28.973 回答
2

我收到了这条消息,我注意到我在子目录中时正在执行提交。当我切换到树的根时,它提交了 w/o 问题。

于 2013-08-07T03:14:58.367 回答
1

将您的 -m “评论”移到最后。我只是将目录更改为您的项目目录。然后你只需输入 svn commit -m "comment" 剩下的就交给 svn。

于 2008-09-26T14:50:03.927 回答
1

我认为问题在于您正在对实际的 SVN 存储库本身进行更改,而不是进行导入、为自己签出副本、进行更改,然后在添加任何子目录后从签出的工作副本中进行提交。所以: import, checkout,进行更改,然后最后add为每个新文件或目录做一个并commit -m "message"形成顶层。

更多信息请参阅免费的在线 SVN“乌龟”一书

于 2008-09-26T15:10:24.830 回答
0

这并不完全清楚,因为您不一致地替换了它们,但看起来您将存储库路径/URL 与工作副本路径混淆了。如果您要添加或提交文件,请始终使用工作副本路径。在尝试使用 SVNKit 之前尝试使用命令行 svn。

于 2008-09-26T14:50:56.267 回答
0

如果您想提交一个全新的目录,请考虑使用svn import代替。就目前而言,您可能必须恢复或采取其他行动来清理当前的混乱局面。

于 2008-09-26T14:54:47.193 回答
0

我已将其追踪到某处可能存在的错误。如果我不添加消息,它会起作用。是时候进行更多挖掘了。感谢您的指点。

于 2008-09-26T15:49:25.953 回答
0

有时,使用 eclipse 或 Versions.app 等软件会产生此错误。在这种情况下,请退出 SVN 客户端并在命令行上执行此操作。

于 2013-10-29T15:24:56.223 回答
0

您可能已经进行了一些重构,并且正在尝试提交“some.package.YourClass.java”,在这种情况下,请尝试提交目录(包)“some”。

如果您想在将来避免这种头痛,请考虑切换到 GIT 而不是 svn。请记住 svn 将您的更改保存在 .svn 文件中并尝试将其推送到存储库。当您提交时,它将根据此 .svn 文件推送“您的更改”。但是,如果您的更改非常复杂怎么办?svn 处理不了。

另一方面,GIT:您检索所有更新,因此您的项目是最新的。并且在提交时它只是覆盖了 repo,因为它知道你的 repo 是最新的并且没有喧嚣。

于 2015-04-29T08:36:48.243 回答