我正在使用SVN进行开发任务,但仍然有许多使用RCS管理的文件,因为在我的私有SVN存储库工作副本中编辑它们似乎不合理(因为它们通常只是配置文件也是最好的测试到位)。在SVN控制下存放文件的地方有一个存储库的工作副本似乎也不合理,所以我只是使用RCS。
您管理文件的方法是什么,理想情况下不应移动/编辑和测试?
更确切地说:我想拥有相当于
的东西答案 0 :(得分:3)
我在写文件系统(CoW)上使用副本,例如Ext3cow(免责声明,我是其贡献者之一)来管理很多东西。例如:
通常,我使用Git或Mercurial而不是Subversion,因为我更喜欢分布式VCS,但我现在坚持将我的存储库保存在本地版本FS上。
对于Windows用户,我相信在python中有一些完全相同的可移植实现...但不是很确定。
答案 1 :(得分:3)
如前所述,您尝试将SVN用于应该使用像git或Mercurial这样的DVCS的东西。
每个人都可以拥有自己的存储库,然后将其与mais central repo(如SVN repo)同步。
这实际上就是我在自己的项目中使用的。
我唯一没有得到的是为什么你需要锁。文件不必是只读的。您可能正在考虑这种方式,因为SVN的合并方式(您几乎总是需要手动完成)。 Git真的很神奇[1]并且大多数合并没有人为干预。
[1]好吧,这不是魔术。虽然SVN关心文件,但Git关心代码块。这样它就可以合并一个同时更改两次的文件,只要你不改变完全相同的代码块。
答案 2 :(得分:2)
像Git,Mercurial或Bazaar这样的现代分布式版本控制系统是这种情况下的最佳工具。不是因为分布式方面(这在这里显然不重要),而是因为在现场创建存储库非常容易。
在Mercurial中你只需要这样做:
cd ~/directory
hg init
与Git类似:
cd ~/directory
git init
git add .
每个工作副本都是一个完整的存储库,如果您愿意,可以将其作为备份推送到远程服务器。此外,所有存储库数据都存储在一个隐藏目录中,因此您可以避免在该位置周围有大量.svn
目录的问题。
我使用Mercurial来管理我的服务器上的/etc
,我发现它非常方便。有一点需要注意,它不会将您的文件标记为只读(如RCS),但我认为这是一个优势。
答案 3 :(得分:0)
您需要意识到SVN存储库是免费的。您可以根据需要创建任意数量的内容。
您还需要意识到您不必检查整个存储库。你说:
这似乎也不合理 有一个存储库的工作副本 哪里有文件放在哪里 SVN控制
我不确定你真正想做什么,但我的印象是你以一种特殊的方式使用SVN。