用于Delphi的Subversion独占签出和Subversion插件

用于Delphi的Subversion独占签出和Subversion插件,delphi,svn,svn-checkout,Delphi,Svn,Svn Checkout,目前是否有允许在SVN中进行独占签出的功能 是否有一个好的Delphi插件允许通过IDE进行访问?SVN有一个大致对应于独占签出的概念“”。例如,在这种情况下,将通过“获取锁定”和“释放锁定”菜单项公开 包含一个SVN版本控制专家,工作非常好。除此之外,tt还允许您从IDE访问锁定功能。可以。我自己也没有尝试过,因为我很高兴将它用作一个浏览器扩展 关于独家结账,我猜你的意思是一次只有一个人可以编辑它?这并不是Subversion背后的想法,想法是你有工作副本,然后签入你的更改。然后,它将尝试在中

目前是否有允许在SVN中进行独占签出的功能

是否有一个好的Delphi插件允许通过IDE进行访问?

SVN有一个大致对应于独占签出的概念“”。例如,在这种情况下,将通过“获取锁定”和“释放锁定”菜单项公开

包含一个SVN版本控制专家,工作非常好。除此之外,tt还允许您从IDE访问锁定功能。

可以。我自己也没有尝试过,因为我很高兴将它用作一个浏览器扩展

关于独家结账,我猜你的意思是一次只有一个人可以编辑它?这并不是Subversion背后的想法,想法是你有工作副本,然后签入你的更改。然后,它将尝试在中合并您的更改(这通常在大多数情况下都有效)。如果有冲突,您需要手动解决。

您所说的“独占签出”是什么意思?你是说在你退房后,没有人可以退房吗


这就是所谓的锁定和subversion可以做到这一点(请参阅),但一般不建议这样做,因为版本控制的目的是允许多人同时处理版本项。

第一部分,我使用的是支持锁定的Visual Source Safe(使用前必须签出),SVN有锁定命令,但这与它的概念背道而驰,您需要很少的时间来适应它,并且您将永远不会再次使用锁定命令

对于问题的第二部分,可以将OrtoiseSVN用作外部工具,也可以使用与Delphi 2007及更高版本捆绑的文件浏览器,并且可以使用与旧版本一起使用的工具


并总结Delphi IDE可用的SVN插件,除此之外还有商业产品。

我认为人们有时询问Subversion存储库中锁定项目的原因之一是因为他们将Delphi DFM保存为二进制格式,这使得提交/合并成问题

将DFMs等更改为文本的另一种方法是使用“无与伦比”

Beyond Compare是用Delphi编写的,天生就知道如何读取二进制DFM。这意味着无论您的DFM是以二进制还是文本形式存储在Subversion中,都不再是问题(甚至没有问题)。Beyond Compare V3还进行了三方合并,这使得合并多个提交等变得非常容易。即使忽略了区分二进制DFM的功能,它仍然是一个比TortoiseSVN内置工具更好的区分查看器。我极力推荐它,而且它很便宜


目前,我在存储库中锁定的唯一内容是COM类型库(*.tlb及其关联的*_tlb.pas文件)。

关于独占签出。这是可以做到的,但这是一种痛苦,通常不值得花时间。如果您确实将DFM保存为二进制文件,请将其转换为文本

关于delphi addins,我在上有一个帖子

我使用,和


也有,我知道。

也许我很幼稚,但为什么有人愿意花大力气合并他们的更改呢?如果程序员正在编辑内容易于理解的文本文件,那么合并可能是一件简单的事情,因此可以通过程序员了解更改的含义来合并这些文本文件。但是,如果在MS Visual Studio中使用SVN,对一个文件的更改经常会导致对其他文件的更改,程序员可能完全不知道这些文件中的信息编码(因此他们不知道如何解释,更不用说合并这些文件了),甚至可能是二进制的,为什么要让多人同时编辑东西,会带来巨大的麻烦和风险


锁定范例很简单。一次只能编辑一个人。不需要合并。程序员不需要知道他们甚至没有意识到正在修改的(可能是二进制)文件的编码。没有人能践踏别人的改变。锁定(即默认锁定)听起来更适合我。

欢迎使用堆栈溢出。作为将来的参考,这真的应该是两篇独立的文章,而不是一篇文章中的两个问题。这些冲突是如何表现出来的?例如,如果somone将一个参数从string更改为int。如果有人进行这样的简单更改,您将不会看到冲突,它将在提交时将其合并。如果说有人把一个字符串改成int,而你又把同一个字符串改成了real,那么你就会产生冲突。冲突在提交时是可见的,您可以选择如何解决冲突。查看此url了解更多信息-+1了解wiki链接-我使用这种方法,非常好。我还建议添加“openfolderhere”,它只是explorer.exe$PATH($EDNAME),让您可以轻松地访问乌龟中的任何其他内容。您是对的。我的意思是,在锁被禁用之前,在我提交之前,没有人可以签出。关于二进制形式的DFMs,有一点很有趣,但它很容易转换为海量文本。从Delphi 1开始,bin文件夹中有一个名为Convert.exe的文件,它将执行此操作。例如,
convert-i-t-sc:\files\*.dfm
另外,+1是一个非常好的应用程序。我必须承认我更喜欢它而不是乌龟。我们使用内部工具作为内部化过程的一部分,这(目前)要求我们的DFM保持二进制。使用Beyond Compare使这一遗留限制对我们来说不是问题。一个DFM是否是二进制的现在已经无关紧要了,因为BC很乐意比较同一个DFM的二进制和非二进制版本。