错误代码
当源代码管理插件 API 函数返回错误时,它应为以下错误代码之一。 所有错误均为负数、警告或信息性错误代码为正,成功为 0。
错误代码 | 值 | 说明 |
---|---|---|
SCC_I_SHARESUBPROJOK |
7 | 插件支持通过两个步骤从源代码管理添加文件。 有关详细信息,请参阅 SccSetOption。 |
SCC_I_FILEDIFFERS |
6 | 本地文件与源代码管理数据库中的文件不同(例如, SccDiff 可能会返回此值)。 |
SCC_I_RELOADFILE |
5 | 源代码管理操作期间更改了本地文件;如果可能,IDE 应重新加载该文件。 |
SCC_I_FILENOTAFFECTED |
4 | 该文件不受影响。 |
SCC_I_PROJECTCREATED |
3 | 项目是在源代码管理操作期间创建的(例如,在指定标志时调用 SccOpenProject 期间 SCC_OP_CREATEIFNEW )。 |
SCC_I_OPERATIONCANCELED |
2 | 已取消操作。 |
SCC_I_ADV_SUPPORT |
1 | 插件支持指定命令的高级选项。 有关详细信息,请参阅 SccGetCommandOptions。 |
SCC_OK |
0 | 成功。 |
SCC_E_INITIALIZEFAILED |
-1 | 错误:初始化失败。 |
SCC_E_UNKNOWNPROJECT |
-2 | 错误:项目未知。 |
SCC_E_COULDNOTCREATEPROJECT |
-3 | 错误:无法创建项目。 |
SCC_E_NOTCHECKEDOUT |
-4 | 错误:未检查文件。 |
SCC_E_ALREADYCHECKEDOUT |
-5 | 错误:文件已检查出。 |
SCC_E_FILEISLOCKED |
-6 | 错误:文件已锁定。 |
SCC_E_FILEOUTEXCLUSIVE |
7 - | 错误:文件被独占检查出。 |
SCC_E_ACCESSFAILURE |
-8 | 访问源代码管理系统时出现问题,可能是因为网络或争用问题。 建议重试。 |
SCC_E_CHECKINCONFLICT |
-9 | 错误:检查发生冲突。 |
SCC_E_FILEALREADYEXISTS |
-10 | 错误:该文件已存在。 |
SCC_E_FILENOTCONTROLLED |
-11 | 错误:该文件不在源代码管理下。 |
SCC_E_FILEISCHECKEDOUT |
-12 | 错误:文件已检查出。 |
SCC_E_NOSPECIFIEDVERSION |
13- | 错误:没有指定的版本。 |
SCC_E_OPNOTSUPPORTED |
-14 | 错误:不支持该操作。 |
SCC_E_NONSPECIFICERROR |
15- | 非特定错误。 |
SCC_E_OPNOTPERFORMED |
16- | 错误,未执行操作。 |
SCC_E_TYPENOTSUPPORTED |
-17 | 错误:源代码控制系统不支持该文件的类型,例如二进制文件。 |
SCC_E_VERIFYMERGE |
-18 | 文件已自动合并,但尚未检查,因为它正在等待用户验证。 |
SCC_E_FIXMERGE |
-19 | 由于必须手动解析的合并冲突,文件已自动合并,但尚未检查。 |
SCC_E_SHELLFAILURE |
20- | Shell 故障导致的错误。 |
SCC_E_INVALIDUSER |
-21 | 错误:用户无效。 |
SCC_E_PROJECTALREADYOPEN |
-22 | 错误:项目已打开。 |
SCC_E_PROJSYNTAXERR |
-23 | 项目语法错误。 |
SCC_E_INVALIDFILEPATH |
-24 | 错误:文件路径无效。 |
SCC_E_PROJNOTOPEN |
-25 | 错误:项目未打开。 |
SCC_E_NOTAUTHORIZED |
26- | 错误:用户无权执行此操作。 |
SCC_E_FILESYNTAXERR |
-27 | 文件语法错误。 |
SCC_E_FILENOTEXIST |
-28 | 错误,本地文件不存在。 |
SCC_E_CONNECTIONFAILURE |
-29 | 错误:连接失败。 |
SCC_E_UNKNOWNERROR |
-30 | 未知错误。 |
SCC_E_BACKGROUNDGETINPROGRESS |
-31 | 后台获取操作当前正在进行中。 |
为快速检查提供的宏
IS_SCC_ERROR(rtn) (((rtn) < 0) ? TRUE : FALSE)
IS_SCC_SUCCESS(rtn) (((rtn) == SCC_OK) ? TRUE : FALSE)
IS_SCC_WARNING(rtn) (((rtn) > 0) ? TRUE : FALSE)
备注
当作为参数传递的本地文件在工作文件夹中不存在时,所有源代码管理插件 API 函数(SccAdd、SccCheckin 和 SccDiff 除外)都有望成功。 例如,IDE 可能会对工作文件夹中不存在但存在于源代码管理系统中的文件发出对 SccCheckout 或 SccUn 的调用检查out。 此调用将成功。 只有在工作文件夹中或源代码管理系统中没有文件时,函数才会失败。
某些函数(如 SccAdd
和 SccCheckin
)应在工作文件夹中的文件不存在时专门返回 SCC_E_FILENOTEXIST
。 如果函数对源代码管理系统中的有效文件名进行操作,则当工作文件不存在时,其他函数应成功。
即使插件在某些操作期间已将文件标记为只读,源代码管理插件也不应对工作文件夹中的文件的权限做出任何假设。 可以在插件控件之外移动、删除和更改工作文件夹中的文件。