1

对不起,如果这是一个你应该知道的问题(有人告诉我没有愚蠢的问题),但它是这样的:

我是 SVN 的新手,我只是为我的 Eclipse 工作区设置了它。我将 Eclipse 工作区设置为 SVN 的工作空间,而我将 Dropbox 中的目录用于 SVN 存储库。

我能够从我的工作区签入和签出到/从 svn 存储库(在保管箱中)。从我的工作区中删除项目后,我可以再次从我的存储库中检出它。我假设存储库(在我的 Dropbox 目录中)应该保留我的代码副本,以便即使我从工作区中删除代码也可以检查它。但是查看我的 svn 存储库,我没有看到我的项目中的物理文件。但是,如果我从我的工作区中删除它,我仍然可以检查我的代码......有什么魔力?

谢谢!

4

2 回答 2

4

我希望,我理解你的问题——不是你的那个,而是你想问的那个

您希望存储库以与工作区中呈现的相同形式显示存储的树,但会看到一些奇怪的文件而不是一些奇怪的文件。我对吗?

如果答案是“是”,那么:

存储库不是您文件的哑镜像,它是存储您的数据和所有更改历史的特殊数据库。只有 Subversion 客户端能够与存储库通信并在存储库和工作副本之间执行存储库数据的双向转换。

PS:DropBox 上的 repo 是个坏主意(tm)——有很多特殊的(免费或非免费)Subversion 主机——DropBox 对 SVN 特定的细节一无所知,并且可以在某些情况下破坏整个 repo。

于 2012-11-29T06:07:20.570 回答
1

SVN 存储库不仅仅是保存文件的副本,作为变更控制系统,它还保存了文件的所有变更历史。因此,您不仅可以签出您的项目,还可以签出您曾经签入到 SVN 的项目的任何版本。

但我不知道 SVN 的实现细节,也从来不关心 SVN 是如何组织其内部文件存储的。

于 2012-11-29T04:45:48.457 回答