为什么不删除 Subversion 的基本功能? [英] Why isn't obliterate an essential feature of Subversion?

查看:25
本文介绍了为什么不删除 Subversion 的基本功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

多年来,我一直在等待 Subversion 具有永久删除"(消除)功能.我犹豫是否要过渡到 Subversion(来自 Visual SourceSafe :p),因为我认为这是一个必不可少的功能,否则我希望存储库不可阻挡地增长.但是,由于某种原因,该功能一次又一次地被推迟.所以我开始想知道是否有其他一些功能或解决方法使删除功能变得可有可无.

For some years now, I'm waiting for Subversion to feature a "delete permanently" (obliterate) function. I hesitate to make the transition to Subversion (coming from Visual SourceSafe :p), because I think this is an essential feature, as otherwise I'd expect the repository to grow unstopably. However, for one reason or the other, the feature gets postponed over and over again. So I begin wondering if there is some other feature or workaround which makes the obliterate function dispensable.

当您想缩小 SVN 中央存储库时,您会怎么做?

What do you do when you want to shrink the SVN central repository?

示例 1:我签入大量第三方库,几周后我意识到它不适合我的需求.我不希望它永远存储和备份大量数据.

Example 1: I check in a large third party library, and after a few weeks I realize it is not suited for my needs. I don't want that to store and backup that large amount of data forever.

示例 2:我在存储库中有 10 个大型第三方库的 10 个版本,但我只使用最新版本.

Example 2: I have 10 versions of 10 big third party libraries in the repository, but I only use the latest versions.

示例 3:我不小心检查了敏感信息(按照 John 的建议).

Example 3: I accidentally checked in sensitive information (as suggested by John).

示例 4:我不小心签入了一些从未打算放入存储库的大文件.

Example 4: I accidentally checked in some big files that were never meant to be put in the repository.

推荐答案

Apache Subversion 站点,大部分都在 2008 年左右结束.似乎普遍认为这是一个很好的能力,虽然它的使用应该很少见.

There is a fair amount of discussion of svn obliterate on the problem ticket at the Apache Subversion site, most of it ending about 2008. There seems to be general agreement that it's a good capability to have, although its use should be rare.

想要它有两个主要原因.

There are two main reasons to want it.

首先,检查机密信息可能是个问题.把它留在那里,删除,不一定是一种选择,这取决于存储库的机密性和公开程度.

First, checking in confidential information can be a problem. Leaving it in there, deleted, is not necessarily an option, depending on the level of confidentiality and exposure of the repository.

其次,签入大量不应签入的内容会大大增加存储库的大小.现在磁盘空间通常很便宜,但它不是无限的,还有其他方式文件空间也很重要.如果有必要通过网络连接发送存储库,那是额外的时间,这可能重要也可能不重要.能够刻录包含整个存储库的 CD-ROM 或 DVD-ROM 具有真正的优势.

Second, checking in a large amount of stuff that shouldn't be checked in can drastically increase the size of the repository. Disk space is generally cheap nowadays, but it isn't unlimited, and there are other ways file space can matter. If it's necessary to send a repository over a net connection, that's extra time which may or may not be important. There can be real advantages to being able to burn a CD-ROM or DVD-ROM that contains the whole repository.

因此,这是一项有用的功能,目前通过转储、过滤和重新加载存储库来完成.根据我看到的报告,这很容易出错,可能很慢,并且需要关闭存储库.

Therefore, it's a useful capability which is currently done by dumping, filtering, and reloading the repository. This is error-prone according to reports I've seen, can be slow, and requires shutting down the repository.

显然,对于 Subversion 团队来说,这不是一个高优先级的功能,因为它需要几年的时间来完成设计并实现它.毕竟,应该很少这样做,并且有一种解决方法.然而,任何想要在 Subversion 上做大量工作的人都可以提供一个补丁,该补丁(如果质量足够好)可能会被实施.

Obviously, it's not a high-priority feature for the Subversion team, given that what it's needed for quite a few years is somebody to do the work to come up with a design and implement it. After all, it should be done very rarely, and there is a workaround. However, anybody who wants to do a whole lot of work on Subversion could provide a patch that would (if good enough quality) probably be implemented.

这篇关于为什么不删除 Subversion 的基本功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆