此功能公开 (或选择检查) 在当前文件 (在本地磁盘上) 及其之前已注册版本之间的差异在源代码管理系统。
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
参数
pvContext
[in] 源代码管理插件上下文结构。hWnd
[in] 的句柄到源代码管理插件能用作父级为所有对话框它提供的 IDE 窗口。lpFileName
[in] 此差别请求的文件的名称。fOptions
[in] 命令标志。 请参见 " 备注 " 了解详细信息。pvOptions
[in] 源代码管理 " 插件中的选项。
返回值
此函数的源代码管理插件实现应返回下列值之一:
值 |
说明 |
---|---|
SCC_OK |
工作和服务器版本相同。 |
SCC_I_FILESDIFFERS |
工作与该版本不同受源代码管理。 |
SCC_I_RELOADFILE |
文件或项目需要重新加载。 |
SCC_E_FILENOTCONTROLLED |
文件不受源代码管理。 |
SCC_E_NOTAUTHORIZED |
用户不允许执行此操作。 |
SCC_E_ACCESSFAILURE |
具有访问源代码管理系统的问题,可能是由于网络问题或争用。 建议使用重试。 |
SCC_E_NONSPECIFICERROR |
未指定的失败;文件差异未获取。 |
SCC_E_FILENOTEXIST |
未找到本地文件。 |
备注
此功能为两个不同用途。 默认情况下,它显示更改列表的文件。 源代码管理插件打开各自的窗口,在任何格式以选择,以在用户磁盘上的文件和文件之间的最新版本的差异受源代码管理。
或者, IDE 可能需要确定文件是否已更改。 例如, IDE 会需要确定检查文件是否是安全的,而不通知用户。 在这种情况下, IDE 在 SCC_DIFF_CONTENTS 标志传递。 源代码管理插件必须根据源代码管理文件检查磁盘上的文件,由字节的字节,并返回指示两个文件是否的值不同,不显示任何内容给用户。
作为性能优化,源代码管理插件可以用于基于校验和的替换或时间戳而不是逐字节比较 SCC_DIFF_CONTENTS调用的:比较的这些窗体是显然更快,但代价是不可靠。 并非所有的源代码管理系统可以支持这些替换比较方法,即,并且该插件可能必须由回内容进行比较。 所有源代码管理插件,必须至少,支持内容进行比较。
备注
快速差异标志互相排斥。它不是有效的将标志,但是,它是无效的同时通过多个。SCC_DIFF_QUICK_DIFF,是掩码并入任何标志,不能在测试,但是,它应将作为参数。
fOption |
含义 |
---|---|
SCC_DIFF_IGNORECASE |
不区分大小写的比较 (可用于 express 或 visual 类差异使用)。 |
SCC_DIFF_IGNORESPACE |
忽略空白 (可用于 express 或 visual 类差异使用)。 |
SCC_DIFF_QD_CONTENTS |
无提示地比较文件,由字节的字节。 |
SCC_DIFF_QD_CHECKSUM |
通过检查和无提示地比较文件,并且支持。 如果不支持,返回目录比较的流程。 |
SCC_DIFF_QD_TIME |
通过其时间戳无提示地比较文件,并且支持。 如果不支持,返回目录比较的流程。 |