Subversion版本库是否兼容(跨平台)?

问题描述:

我的Subversion版本库目前安装在安装了Windows和Ubuntu Linux的双引导系统上。是否可以在两个操作系统上使用同一个存储库,所以如果我使用Ubuntu,我可以启动svn服务并访问与Windows一起使用的同一个存储库?Subversion版本库是否兼容(跨平台)?

例如

  • 仓库里的文件会被Linux SVN服务,如果我的笔记本电脑与Ubuntu
  • 运行
  • ,后来由Windows SVN服务访问时,我用XP
工作访问

(我不会同时访问两个不同subversion服务器的相同文件)

或换句话说:如果Subversion存储库已经在Windows分区上创建和使用,我是否也可以使用Linux重新启动并启动Subversion服务器以使用同一个存储库?

Subversion软件库与二进制兼容如果他们使用的是FSFS DB格式(cat repos/db/fs-type)而不是Berkeley DB,并且使用兼容版本的Subversion。

Subversion版本说明指示存储库格式更改的时间。例如,Subversion 1.5 introduced an optional repository format upgrade支持合并跟踪,as did 1.4,但Subversion在创建存储库时总是使用最新的格式。看起来所有FSFS格式的升级都是可选的,而不是强制的 - 所以你需要做的是确保你的版本库是由Subversion参与的最早的版本创建的。

这不太清楚你的意思。

你是否在Windows上安装了一个你想从你的Linux系统启动(并使用)的svn服务?或者你只是想访问你的存储库?

恕我直言,你可以使用正确的工具(Linux上的svnadmin)创建一个存储库。这是一个包含您的数据和大量元数据的目录。该目录必须以某种方式公开(例如webdav,svn服务)。

从Linux系统访问svn存储库的一种方法是直接访问存储库目录。例如:svn co file://mnt/Windows_C/path/to/repository/project

虽然您必须使用-o rw来挂载Windows分区。

+0

我更喜欢SVN://协议,因为它更容易在两个平台上使用相同的工作副本。 – mjn 2010-03-21 11:13:32

+0

是吗?请解释。 – lajuette 2010-03-21 11:27:51

+0

file:// mnt/Windows_C/path/to/repository/project svn:// repository/project所以我需要两个独立的工作副本(或每个操作系统更改的重定位) – mjn 2010-03-21 11:56:19

是的,工作正常,在工作中我们结合了Windows,OS X,Linux和BSD,全部使用相同的Subversion回购。

+1

直接针对存储库,还是在它前面使用apache/svnserve实例?换句话说,你在你的url中使用'file:///','http(s)://'或'svn://'吗? – 2010-03-21 10:53:11

+0

所有这些客户端都有自己的颠覆服务器运行?我的问题是关于使用Linux svn服务访问存储库(如果我的笔记本电脑使用Ubuntu运行的话),以及随后使用Windows svn服务(例如使用XP时)。正如Kevin所言: – mjn 2010-03-21 10:59:11

+0

应该是可以的。 但恕我直言,你根本不需要svn服务,你应该使用'file://'协议。 – lajuette 2010-03-21 17:08:13