2011-08-08 100 views
3

我有两个svn仓库,每个仓库对应iOS和Android版本的移动应用程序。这两个版本的应用程序共享一个相同的SQLite数据库。目前每个回购都有其自己的数据库副本,这意味着更改必须应用两次。我可以检出svn:externals到父目录的根目录吗?

相反,我想添加一个包含数据库的第三个仓库,并使用svn:externals将结果拷贝到工作文件夹中,以检查给定版本的应用程序。我能够设置外部,但在结帐时,它会在我的工作目录中创建一个子文件夹,并将外部文件放置在那里。我希望它在不创建子文件夹的情况下下拉外部文件。

我尝试使用../作为外部定义中的本地路径,但没有成功。

这是可能的,或者我应该寻找另一种方法?

编辑 - 感谢来自Manojlds一个很好的答案,我是能够使与数据库这项工作在其自己的独立的存储设备。我还是有点困惑,因为TortoiseSVN的文件明确指出:

外部必须在同一个版本库的URL 外部文件将被插入到文件的URL;不支持外部资源库 。

我指的文档可以找到here.我添加了一个链接,以防有人遇到这个问题,并且和我一样困惑。

回答

1

你应该能够做到:?

svn propset svn:externals "^/path/sqlite.db sqlite.db" . 

(完整路径上面,如果它是一个不同的回购 - 为什么你需要一个不同的回购,虽然它可以是相同的回购中不同的文件夹,用iPhone和Android应用程序在同一回购中作为单独的项目也是如此。但是,这是一个单独的讨论)

+0

正如你所说,我正在考虑移动两个应用程序版本到一个单一的回购作为单独的项目。如果我这样做,并且将数据库添加到其自己的文件夹中,那么我会使用外部文件将其拉入到每个版本的移动应用程序中吗? –

+0

@Joshua史密斯不知道我收到了你的问题,但如果你这样做,上面的命令应该为你工作(由指定的相对路径''^) – manojlds

+0

我成立了一个假的文件夹结构,并能够使这项工作如你所述。无论如何,我应该在两年前将这两个移动应用程序转移到通用回购站中。谢谢你的反馈。 –

1

您的编辑是没有意义的,因为TortoiseSVN的我不执行文件说什么,你不能外部另一个回购中的文件。我没有办法解决这个问题,但是你声称你做到了。你确定你不是把这三个项目放到同一个回购站里吗?

这是不是一个TortoiseSVN的问题,因为SVN文件说同样的事情。 http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html

如果我有足够的声望,我会发表评论。

+0

我印象深刻的是,有人在我发布后评论这些年。我希望我能告诉你我做了什么,但是当我发现Git时,我像一块热岩一样扔掉了Subversion。另外,我早已离开我当时为公司工作的公司。 –

相关问题