PL/SQL Developer Version Control Plug-In User’s Guide

来源:互联网 发布:淘宝运动鞋韩版正品店 编辑:程序博客网 时间:2024/06/13 07:52

 

这个文档描述了在版本控制系统上使用PL/SQL Developer插件的方法。这个插件是PL/SQL Developer和任何支持微软SCC接口规范的版本控制系统之间的接口。这个插件本身并不具备任何版本控制的能力,它只是简单的依赖你正在使用的版本控制系统。

 

好处
下面列出了使用这个插件的好处:


·         提高生产力 - 你可以在PL/SQL中快速的执行任何VCS操作,例如currently opened file in the PL/SQL Developer IDE, like check out, check in,get, add, view differences, 等等。对多个文件的操作会立即反映到PL/SQL上。 

·         最小化错误 – 因为你只在一个单一的IDE上工作,这就会在最小程度避免你操作错误的文件或者根本忘记了文件。


整合
当你安装了VCS插件后,你在主菜单上会看到多了一个VCS项。这个新项目包含了所有关于VCS的功能:

 

Program窗口, SQL 窗口,Test窗口和Command窗口的菜单中同样增加几个关于VCS操作的选项。你可以check in,check out, undo check out,get,add and remove thecorresponding文件。

另外,你可以通过Tools菜单中 Preferences功能来为工具栏增加新的按钮,这样就可以快速的使用VCS的功能。

 

 

如果你激活 Allowversion control over DB objects preference (参见2.1), 你还可在右键菜单中看到相关的功能:

这允许你直接在Oracle目录中使用文件而不是在文件系统中使用文件。你可以在2.9中看到更多的信息。

 

 

只需运行setup.exe,就可以安装VCS插件。安装会将Plug-In DLL (vcs.dll)复制到PL/SQLDeveloper’s Plugins目录。在运行之前,请确保你有该目录的访问权限。

在你安装完插件后,在PL/SQL Developer的主菜单上,会看到一个新项目:VCS。这个菜单包含了所有关于版本控制的功能。对于那些常用的功能,你也可以为它们建立快捷键。

如果VCS没有被激活,说明在你的PC上没有任何支持微软SCC接口规范的版本控制系统。请注意这个接口通常需要单独安装。例如,PVCS存在一个SCC接口的选项,MKS包含一个32位的扩展选项。如果你的VCS被禁用了,那么就要考虑是否是刚刚讨论的问题。

系统要求
PL/SQL Developer 2 or later (推荐5.1.4)
支持微软SCC规范的版本控制系统

5.14或者以后的版本能够从对象浏览器直接check out下来数据库对象。而早期的版本需要在文件系统中进行类似的操作。

关于PL/SQL Developer的重要参数
下面列举的PL/SQL Developer参数能够保证执行严格的VCS处理。你可以在Tools > Preferences的Options上找到它们:

·          允许编辑数据源文件 – 禁用这个参数能够保证只有工作文件能够被编辑。也就是说只有被check out下来的文件才能被编辑。

·         允许编译只读文件 – 禁用这个选项能够保证你不能编译那些只读文件。这确保了你不能意外的编译那些没有被你check out的文件,这样能够避免多人同时操作时的冲突。

·          询问是否保存编辑的文件 – 禁用这个选项,可以允许直接工作在Oracle目录。而如果启用了这个选项,那么每次修改之后,PL/SQL Developer都会询问你是否需要保存。

另外你可能希望使用校准功能,这样可以在PL/SQL Developer中通过双击将Spec和Body当做同一个文件来对待。如果你把Spec和Body是同一个文件的话,那么你可能希望通过双击来编辑和查看它们。


 

 

 

2.    使用VCS功能

这一章描述了所有VCS的功能。

在你执行任何VCS操作之前,你需要打开一个VCS工程。如果你不这样做的话,那么所有的菜单项都是被禁用的。

为了打开一个工程,在VCS菜单中选择 Open Project。可以参照下图:

System列表可让你从中选择你想要的版本控制系统。不同的systems可能对应不同的工程。当你在不同的工程中切换的时候,就会自动切换版本控制系统。你也可以为不同的system社会自不同的参数。

Project列表中你可以输入工程的名字。对于一些版本控制系统来说(例如PVCS),这是一个逻辑名,而对于一些其他的系统(例如MKS),这需要输入工程的完整路径。这个列表同时包含了以前打开过的工程。选择工程的同时会自动填充其他的几项,这么做能够保证工程能够快速被打开。

在右侧的Browse按钮会自动显示一个Select Project的对话框。如果你通过这种方式来选择一个工程的话,那么其他项都会被自动填入。当然并不是所有的系统都支持这个特性。例如,MKS Source Integrity会显示一个Create Sandbox对话框,这会强制你建立一个新的工作区。在这种情况下,你就需要知道打开一个工程所需要的必要信息。

User域可以指定登录版本控制工程的用户名。你也可以选择不填入这个域。

LocalPath域指定了版本控制系统从工程中获取文件的目录。许多版本控制系统使用Work Area来命名这样的目录。注意这项信息对于完整性非常的重要,PL/SQL Developer和本本控制系统都会假定这个目录是你编辑和存储工作文件的地方。

AuxiliaryPath域在不同的版本控制系统中有着不同的意义。如果你不理解它的含义的话,那么就请留空。

 

 

2.2     Checking out文件

有两种办法来完成check out一个文件。第一种方法就是你想要check out一个你正在工作区中查看的文件,另外一种方式就是你想要从版本控制工程中选择一个或者多个文件来check out。 

Checking out 当前文件

如果你正在PL/SQL Developer查看一个文件并且想把它check out,那么你只需要在VCS菜单中选择Check Out即可。根据不同的版本控制系统和参数,你可以得到不同的版本。

当文件被check out之后,你就会得到一个可写的版本。在PL/SQL Developer窗口中的文件会被刷新。如果之前文件是只读的,那么选择就会变成可以编辑的状态。

Checking out 多个文件

如果你想check out一个或者多个文件,而这些文件还没有在PL/SQL中打开,选择VCS菜单中的Check Out Files。执行这项操作的时候,会弹出对话框来从工程中选择多个文件:

 

 

选择完文件之后,点击Check Out按钮。这个对话框包含如下的功能:

·         Select project – 这个按钮允许选择不同的工程。

·         Refresh – 这个按钮刷新文件对话框的内容。如果你按住ctrl键,工程会关闭之后重新打开。

·         Status – 选择不同的status,可以显示不同的文件。你可以选择所有文件,所有未被锁定的文件,所有被check out的文件,以及被你check out的文件以及被其他人check out的文件。

·         Mask – 通过输入掩码来获取文件。

·         Options – 如果你的版本控制系统支持的话,那么Check Out Options 会被启用。一些系统会自动显示这些参数。

·         Open files in IDE – 如果这个选项被选中的话,那么当文件被check out之后,会自动在PL/SQLDeveloper中打开。

锁定的图标显示了每个文件的状态。当文件被打开和灰色的时候,说明未见已经被解锁。如果被关闭并且绿色的时候,说明你已经check out文件了。如果关闭并且为红色,说明其他人已经check out了。

如果你右键单击一个文件,会弹出菜单来帮助你查看文件的属性、文件之间的不同,文件的历史。如果你的版本控制系统支持的话,你也可以重命名或者删除一个文件。

2.3     Checking in 文件

和check out类似,你也可以在PL/SQL Developer中进行check in,或者在在工程文件对话框中check in。

Checking in 当前文件

如果你想check in你之前check out的文件,那么只需在PL/SQL Developer中打开文件并在VCS菜单中选择check in。这个菜单只有在你真正check out文件之后才会被启用。在点击check in之后,会自动弹出一个对话框:

 

 

这个对话框循序你进行一些参数的设定。一些系统会提供专有的对话框。

如果当前文件被修改了但还没有保存,在check in之前会被保存在磁盘上。当check in之后,你会保留该文件的一个拷贝。这种情况下,该文件在IDE中保持只读状态。

Checking in 多个文件

许多情况下,你可能不只是想check in单个文件。你可以从VCS菜单中选择Check In Files项。这个操作会显示一个包含了所有被你check out的文件的对话框,同时这个对话框会包含一个注释域: 

如果其中任何一个文件还没有被保存的话,那么在check in之前,它会自动被保存。check in之后,保留文件拷贝同时文件变成只读状态。

2.4     放弃 check out

当你想放弃一个check out操作的时候,你可以通过VCS菜单中Undo Check Out 或者Undo Check Out Files来完成这个操作。Undo Check Out操作的当前正在被打开的文件。Undo Check Out Files 操作的是多个文件。

操作之后会立即反映到PL/SQL Developer’s中。例如,文件的初始版本会被保存在工作区内,同时文件的状态变成只读。

2.5      取得文件

取得一个指定版本的文件,你可以通过使用VCS菜单中的Get 或者Get Files。

Get会取得当前PL/SQL Developer中打开的文件。如果你的版本控制系统支持的话,你还可以指定一些参数。你可以指定文件的版本而无需考虑文件是否为只读状态。

GetFiles 可以从工程文件对话框中取得多个文件,这些文件也会在PL/SQL Developer’中自动打开。同时你也可以指定参数。

2.6     添加文件

你可以通过VCS菜单中的Add 或者 Add Files 来添加文件。 Add 会将当前在PL/SQLDeveloper中打开的文件添加到版本控制系统中。Add Files 会弹出对话框来从中选取多个文件来进行添加。

和check in类似,在新增之前会自动保存文件,同时你也可以指定参数以及注释。操作执行完之后自动反映在PL/SQL Developer’s中。

2.7     显示文件信息

你可以通过选择VCS菜单中的PropertiesDifferences, and History来显示在PL/SQL Developer打开的文件的信息。 

Properties的显示取决于你的版本控制系统。它经常系那是最近的本本,修改的注释,坐着,创建日期,状态等等。

Differences显示的是工作文件和版本控制系统中文件的不同。在比较之前你可能需要保存文件,否则它比较的是保存之前的版本。

History会显示文件的历史状态信息。

2.8     运行版本控制系统

为了运行与工程相关的版本控制系统,你只需要从VCS菜单中选择Run… 即可。

如果你不想使用文件系统中文件,而是直接使用Oracle目录中的文件的话,你可以通过相同的方式来使用VCS。与check out不同的是,你check out的是一个数据库对象。为而来完成这个功能,你需要在参数中启用Allow version controlover DB objects。设定完成之后在VCS弹出菜单中会看到function, procedure, package, type, trigger或者view object。

当在数据库对象中使用VCS功能的时候,你不会直接使用在Local Path中文件。例如,如果Local Path被设定为u:/projects/deptemp, 你check out了employee package Body,那么VCS会创建一个名为u:/projects/deptemp/employee.bdy的文件。而实际文件的扩展依赖于PL/SQL Developer中File extensions 参数的设定。

 

你可以指定参数来影响插件的操作:

这些参数包含如下的作用:

·         Automatically open last used project –  当你打开PL/SQL的时候,版本控制工程会自动打开上一次打开的工程。

·         Allow version control over DB objects – 你可以直接在数据库对象上使用VCS功能。

·         Add Spec and Body as a single file – 如果Allow version control over DB objects被设定了的话,那么这个参数控制如果添加package或者type。当被设定的时候,package或者type被看做一个单独的文件进行添加。当被禁用的时候,specification 和body必须作为单独的文件进行添加。

其余的参数可以根据不同的版本控制系统进行单独的设置。可以根据下拉菜单中选择的版本控制系统来修改和查看参数。

·         Show Comment for

·         Show Options for 

·         Reopen project on refresh

Query file status on refresh