特定命令使用的 Bitflag
可以通过在单个值中设置一个或多个位来修改源代码管理插件 API 中许多函数的行为。 这些值称为位标志。 此处详细介绍了源代码管理插件 API 使用的各种位标志,按使用这些标记的函数分组。
签出标志
可以为 SccAdd 或 SccCheckin 设置此标志。
标志 | 值 | 说明 |
---|---|---|
SCC_KEEP_CHECKEDOUT |
0x1000 | 使文件保持签出状态。 |
添加标志
SccAdd 使用这些标志。
标志 | 值 | 说明 |
---|---|---|
SCC_FILETYPE_AUTO |
0x00 | 源代码管理插件应自动检测文件是文本还是二进制文件。 |
SCC_FILETYPE_TEXT |
0x01 | 文件类型为文本。 |
SCC_FILETYPE_BINARY |
0x04 | 文件类型为二进制文件。 注意: SCC_FILETYPE_TEXT 标志 SCC_FILETYPE_BINARY 是互斥的。 完全设置一个或两个都未设置。 |
SCC_ADD_STORELATEST |
0x02 | 仅存储最新版本(无增量)。 |
差异标志
SccDiff 使用这些标志来定义差异操作的范围。 标志 SCC_DIFF_QD_xxx
是相互排斥的。 如果指定了其中任何一个,则不会提供任何视觉反馈。 在“快速差异”(QD)中,仅当文件不同时,插件不会确定文件的不同程度。 如果未指定这些标志,则完成“视觉差异”;计算并显示详细的文件差异。 如果请求的 QD 不受支持,该插件将移动到下一个最佳 QD。 例如,如果 IDE 请求校验和,并且插件不支持它,则插件会执行完整内容检查(仍比视觉显示快得多)。
标志 | 值 | 说明 |
---|---|---|
SCC_DIFF_IGNORECASE |
0x0002 | 忽略大小写差异。 |
SCC_DIFF_IGNORESPACE |
0x0004 | 忽略空白差异。 注意:SCC_DIFF_IGNORECASE 标志SCC_DIFF_IGNORESPACE 是可选的位标志。 |
SCC_DIFF_QD_CONTENTS |
0x0010 | 通过比较整个文件内容来 QD。 |
SCC_DIFF_QD_CHECKSUM |
0x0020 | 通过校验和进行 QD。 |
SCC_DIFF_QD_TIME |
0x0040 | 按文件日期/时间戳进行 QD。 |
SCC_DIFF_QUICK_DIFF |
0x0070 | 这是用于检查所有 QD 位标志的掩码。 不应将其传递到函数中;这三个 QD 位标志是相互排斥的。 QD 始终表示不显示 UI。 |
PopulateList 标志
参数中的 fOptions
SccPopulateList 使用此标志。
标志 | 值 | 说明 |
---|---|---|
SCC_PL_DIR |
0x00000001L | IDE 正在传递目录,而不是文件。 |
PopulateDirList 标志
这些标志由参数中的 fOptions
SccPopulateDirList 使用。
选项值 | 值 | 说明 |
---|---|---|
SCC_PDL_ONELEVEL | 0x0000 | 仅检查目录的一个级别(这是默认值)。 |
SCC_PDL_RECURSIVE | 0x0001 | 以递归方式检查每个给定目录下的所有目录。 |
SCC_PDL_INCLUDEFILES | 0x0002 | 在检查过程中包括文件名。 |
OpenProject 标志
这些标志由参数中的 dwFlags
SccOpenProject 使用。
选项值 | 值 | 说明 |
---|---|---|
SCC_OP_CREATEIFNEW | 0x00000001L | 如果源代码管理中不存在项目,请创建它。 如果未设置此标志,则提示用户创建项目(除非 SCC_OP_SILENTOPEN 指定了标志)。 |
SCC_OP_SILENTOPEN | 0x00000002L | 不要提示用户创建项目;只是返回 SCC_E_UNKNOWNPROJECT 。 |
获取标志
SccGet 和 SccCheckout 使用这些标志。
标志 | 值 | 说明 |
---|---|---|
SCC_GET_ALL |
0x00000001L | IDE 正在传递目录,而不是文件:获取这些目录中的所有文件。 |
SCC_GET_RECURSIVE |
0x00000002L | IDE 正在传递目录:获取这些目录及其所有子目录。 |
nOption 值
这些标志由参数中的 nOption
SccSetOption 使用。
标志 | 值 | 说明 |
---|---|---|
SCC_OPT_EVENTQUEUE |
0x00000001L | 设置事件队列的状态。 |
SCC_OPT_USERDATA |
0x00000002L | 指定用户数据。SCC_OPT_NAMECHANGEPFN |
SCC_OPT_HASCANCELMODE |
0x00000003L | IDE 可以处理取消。 |
SCC_OPT_NAMECHANGEPFN |
0x00000004L | 设置名称更改的回调。 |
SCC_OPT_SCCCHECKOUTONLY |
0x00000005L | 禁用源代码管理插件 UI 签出,但未设置工作目录。 |
SCC_OPT_SHARESUBPROJ |
0x00000006L | 从源代码管理系统添加以指定工作目录。 如果该项目是直接后代,请尝试共享到关联的项目中。 |
dwVal bitflags
这些标志由参数中的 dwVal
SccSetOption 使用。
标志 | 值 | 说明 | 按 nOption 值使用 |
---|---|---|---|
SCC_OPT_EQ_DISABLE |
0x00L | 挂起事件队列活动。 | SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_ENABLE |
0x01L | 启用事件队列日志记录。 | SCC_OPT_EVENTQUEUE |
SCC_OPT_HCM_NO |
0L | (默认值)没有取消模式;如果需要,插件必须提供。 | SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_YES |
1L | IDE 处理取消。 | SCC_OPT_HASCANCELMODE |
SCC_OPT_SCO_NO |
0L | (默认值)确定从插件 UI 签出;已设置工作目录。 | SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_YES |
1L | 无插件 UI 签出,无工作目录。 | SCC_OPT_SCCCHECKOUTONLY |