SccDiff 函数

此功能公开 (或选择检查) 在当前文件 (在本地磁盘上) 及其之前已注册版本之间的差异在源代码管理系统。

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

通过其时间戳无提示地比较文件,并且支持。 如果不支持,返回目录比较的流程。

请参见

概念

源代码管理插件 API 函数