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

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

我尝试运行的命令是“commit -m“Test Add”/svnroot/project1/”,但我不断收到“svn:“/home/user”不是工作副本”

我有一个与此类似的结构:

  • /svnroot/
  • /svnroot/项目1/
  • /svnroot/project1/grouping1/
  • /svnroot/project1/grouping1/myfiles在这里

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

我可能做错了什么?

编辑:修复了目录。

有帮助吗?

解决方案 7

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

其他提示

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

我收到此消息,并注意到我在子目录中时正在进行提交。当我切换到树的根时,它没有出现问题。

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

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

更多信息请参见 免费在线SVN“海龟”书籍.

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

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

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

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

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

另一方面,GIT:您检索所有更新,以便您的项目是最新的。当提交时,它只会覆盖存储库,因为它知道您的存储库是最新的并且没有任何麻烦。

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