Bitflags used by specific commands
The behavior of a number of functions in the Source Control Plug-in API can be modified by setting one or more bits in a single value. These values are known as bitflags. The various bitflags used by the Source Control Plug-in API are detailed here, grouped by the function that uses them.
Checked out flag
This flag can be set for either the SccAdd or SccCheckin.
Flag | Value | Description |
---|---|---|
SCC_KEEP_CHECKEDOUT |
0x1000 | Keep the file checked out. |
Add flags
These flags are used by the SccAdd.
Flag | Value | Description |
---|---|---|
SCC_FILETYPE_AUTO |
0x00 | The source control plug-in is expected to automatically detect whether the file is text or binary. |
SCC_FILETYPE_TEXT |
0x01 | File type is text. |
SCC_FILETYPE_BINARY |
0x04 | File type is binary. Note: SCC_FILETYPE_TEXT and SCC_FILETYPE_BINARY flags are mutually exclusive. Set exactly one or neither. |
SCC_ADD_STORELATEST |
0x02 | Store latest version only (no deltas). |
Diff flags
The SccDiff uses these flags to define the scope of a diff operation. The SCC_DIFF_QD_xxx
flags are mutually exclusive. If any one of them is specified, then no visual feedback is to be given. In a "quick diff" (QD), the plug-in does not determine how the file is different, only if it is different. If none of these flags is specified, a "visual diff" is done; detailed file differences are computed and displayed. If the requested QD is not supported, the plug-in moves to the next best one. For instance, if the IDE requests a checksum, and the plug-in does not support it, the plug-in does a full-contents check (still much faster than a visual display).
Flag | Value | Description |
---|---|---|
SCC_DIFF_IGNORECASE |
0x0002 | Ignore case differences. |
SCC_DIFF_IGNORESPACE |
0x0004 | Ignore white-space differences. Note: The SCC_DIFF_IGNORECASE and SCC_DIFF_IGNORESPACE flags are optional bitflags. |
SCC_DIFF_QD_CONTENTS |
0x0010 | QD by comparing entire file contents. |
SCC_DIFF_QD_CHECKSUM |
0x0020 | QD by checksum. |
SCC_DIFF_QD_TIME |
0x0040 | QD by file date/time stamp. |
SCC_DIFF_QUICK_DIFF |
0x0070 | This is a mask used to check all the QD bitflags. It should not be passed into a function; the three QD bitflags are mutually exclusive. QD always means no display of UI. |
PopulateList flag
This flag is used by the SccPopulateList in the fOptions
parameter.
Flag | Value | Description |
---|---|---|
SCC_PL_DIR |
0x00000001L | The IDE is passing directories, not files. |
PopulateDirList flags
These flags are used by the SccPopulateDirList in the fOptions
parameter.
Option Value | Value | Description |
---|---|---|
SCC_PDL_ONELEVEL | 0x0000 | Examine only one level of directories for directories (this is the default). |
SCC_PDL_RECURSIVE | 0x0001 | Recursively examine all directories under each given directory. |
SCC_PDL_INCLUDEFILES | 0x0002 | Include file names in the examination process. |
OpenProject flags
These flags are used by the SccOpenProject in the dwFlags
parameter.
Option Value | Value | Description |
---|---|---|
SCC_OP_CREATEIFNEW | 0x00000001L | If project doesn't exist in source control, create it. If this flag is not set, prompt user for project to create (unless SCC_OP_SILENTOPEN flag is specified). |
SCC_OP_SILENTOPEN | 0x00000002L | Do not prompt user to create a project; just return SCC_E_UNKNOWNPROJECT . |
Get flags
These flags are used by the SccGet and the SccCheckout.
Flag | Value | Description |
---|---|---|
SCC_GET_ALL |
0x00000001L | The IDE is passing directories, not files: Get all files in these directories. |
SCC_GET_RECURSIVE |
0x00000002L | The IDE is passing directories: Get these directories and all their subdirectories. |
nOption values
These flags are used by the SccSetOption in the nOption
parameter.
Flag | Value | Description |
---|---|---|
SCC_OPT_EVENTQUEUE |
0x00000001L | Set status of the event queue. |
SCC_OPT_USERDATA |
0x00000002L | Specify user data for SCC_OPT_NAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
0x00000003L | The IDE can handle cancel. |
SCC_OPT_NAMECHANGEPFN |
0x00000004L | Set a callback for name changes. |
SCC_OPT_SCCCHECKOUTONLY |
0x00000005L | Disable source control plug-in UI checkout and do not set working directory. |
SCC_OPT_SHARESUBPROJ |
0x00000006L | Add from the source control system to specify a working directory. Try to share into the associated project if it is a direct descendant. |
dwVal bitflags
These flags are used by the SccSetOption in the dwVal
parameter.
Flag | Value | Description | Used by nOption value |
---|---|---|---|
SCC_OPT_EQ_DISABLE |
0x00L | Suspends event queue activity. | SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_ENABLE |
0x01L | Enables event queue logging. | SCC_OPT_EVENTQUEUE |
SCC_OPT_HCM_NO |
0L | (Default) Has no cancel mode; plug-in must supply if desired. | SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_YES |
1L | IDE handles cancel. | SCC_OPT_HASCANCELMODE |
SCC_OPT_SCO_NO |
0L | (Default) OK to check out from plug-in UI; working directory is set. | SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_YES |
1L | No plug-in UI checkout, no working directory. | SCC_OPT_SCCCHECKOUTONLY |