我之前发布了一个问题Moving away from VSS,其中我询问了使用VSS的Delphi开发人员的最佳VCS控件。大多数开发人员似乎将svn与TortoiseSVN一起使用。我尝试了几天,我认为这是最好的选择。
但是,对于svn的工作方式,我仍然有些困惑,因此我想回答以下几个问题:
我可以使用vss使用的旧锁定方式(checkout-modify-checkin)吗? Delphi表单具有两个文件(MyForm.pas,MyForm.dfm)。当我向表单添加任何控件时,两个文件都将被修改,因此我想提交“myform.pas”并也要提交“myform.dfm”。我在这里想念什么吗这同样适用于Delphi Project文件。因为这与其他文件链接,所以当我更改项目文件时,应该全部提交它们。 您已标记了哪些文件在TSVN中被忽略,因此TSVN将不会查找这些文件(例如.dcu,.exe等),我可以将其从一个PC导出到另一个PC吗?
现在,我必须更改我在vss风格中思考的方式,并且需要将其更改为SVN风格,但是使用vss,所有事情都在IDE中进行了管理,这真是太棒了;-)。
更新:
5,如果我提交了Delphi表单(.pas和dfm)并发现以前已经更新过该版本,那么如果在该表单和单元中添加了一些新控件和事件,该如何解决冲突(这需要Delphi开发人员使用svn )。 是,您仍然可以锁定文件,但不建议这样做。您必须在所有可能要锁定的文件上设置svn:needs-lock属性,以便在 checkout 时获得设置的只读标志。但是同样,这不是文本文件的推荐工作流程。只需尝试修改-合并工作流程! 由于您使用的是TortoiseSVN,请执行以下操作:在父文件夹上单击鼠标右键,选择“提交”。在提交对话框中,您将看到所有需要提交的文件。只需检查myform.pas和myform.dfm文件中的提交即可。所有检查的文件将一起提交,无需(绝对不建议!)分别提交每个文件! 请参阅2。-但是您应该首先阅读精彩的Subversion book以熟悉该概念。您应该始终提交属于逻辑更改的所有文件。例如,如果您向表单添加新控件并实现用于处理它的代码,则不仅可以修改表单文件,还可以修改多个文件。始终将所有这些文件一起提交,因为提交是一个逻辑实体。 您不必“导出”忽略设置。只需添加svn:ignored属性。如docs中所述,使用TortoiseSVN可以很容易地做到这一点。