我可以从 svn 历史记录中销毁仅区分大小写的目录吗?

发布于 2024-09-14 06:14:46 字数 782 浏览 7 评论 0原文

有很多迂腐的观点,而不是这个问题的答案

我们有几个 java 包意外签入了首字母大写。 (com.foo.PackageName),然后正确重命名它们(com.foo.packagename)。请允许我根据阅读的一些回复重申一下。我们有一个现有的“com.foo.packagename”需要保留。我们曾经有一个“com.foo.PackageName”,我们将其重命名为“com.foo.packagename”。

我们的 svn 服务器位于一个具有区分大小写文件系统的 Linux 机器上。我们在 Mac 上使用“保留大小写”的文件系统进行开发。我的命令行 svn 客户端似乎已经很好地处理了这个问题,并且没有提及有关 com.foo.PackageName 中文件的任何内容。 netbeans内置的svn客户端似乎认为以前大写的两个目录中存在“未知”状态的幽灵文件。

我猜解决方案是让 svn 服务器认为这些目录从未存在过......或者也许是其他解决方案?由于名称错误,它们的寿命非常短,因此,如果名称错误,丢失其内容的历史记录也不会成为问题。复制文件,从 svn 中删除目录,然后重新添加它们对我们没有任何作用。另外,在我的本地副本上 rm -Rf 然后执行新的 svn co 仍然显示 Ghost 目录。

这样做的主要痛点是我无法在项目级别进行提交,或者它尝试提交幽灵文件并崩溃,所以我必须给它一组特定的文件来提交,或者跳转到命令行。

So lots of pedantic opinions rather than answers to this question.

We had a couple java packages accidentally checked in with initial capitalization. (com.foo.PackageName) and then renamed them correctly (com.foo.packagename). Allow me to reiterate based on reading some of the responses. We have an existing "com.foo.packagename" that needs to stick around. We used to have a "com.foo.PackageName" that we renamed to "com.foo.packagename".

Our svn server lives on a linux box with a case-sensitive file system. We develop on mac's with "case-preserving" file systems. My command-line svn client seems to have handled the issue fine, and doesn't mention anything about files in com.foo.PackageName. The svn client built into netbeans seems to think there are ghost files of "unknown" status in the two directories that used to be capitalized.

I'm guessing the solution is to make the svn server think those directories never existed.... or perhaps some other solution? They were so short-lived under the wrong names that losing history on their contents when wrongly named wouldn't be a problem. Copying off the files, deleting the directories from svn, and then re-adding them didn't do anything for us. Also, rm -Rf on my local copy and then doing a fresh svn co still shows the ghost directories.

The main pain point for this is that I can't do a commit at project level, or it tries to commit ghost files and freaks out, so I have to give it a specific set of files to commit, or jump to the command line.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

银河中√捞星星 2024-09-21 06:14:46

首先看看您的存储库中当前有什么:

svn ls http://server/svn...

如果 com.foo.PackageName 仍然在那里,

svn rm http://server/svn.../com.foo.PackageName

请在您拥有存储库后将其删除,以便我建议您重新签出您的工作副本。

First take a look at what's currently in your repository:

svn ls http://server/svn...

if com.foo.PackageName is still in there remove it with

svn rm http://server/svn.../com.foo.PackageName

After you have your repository in order I would suggest you do a fresh checkout of your working copy.

梦情居士 2024-09-21 06:14:46

尝试在区分大小写的操作系统中的“Packagename”目录上使用 svn delete --force ,然后提交此更改。

Try using svn delete --force on the "Packagename" directory from a case-sensitive o.s. and then commit this change.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文