Kody błędów
Gdy funkcja interfejsu API wtyczki kontroli kodu źródłowego zwraca błąd, oczekuje się, że jest to jeden z poniższych kodów błędów. Wszystkie błędy są ujemne, ostrzeżenia lub kody błędów informacyjnych są pozytywne, a powodzenie to 0.
Kod błędu | Wartość | Opis |
---|---|---|
SCC_I_SHARESUBPROJOK |
7 | Wtyczka obsługuje dodawanie plików z kontroli źródła w dwóch krokach. Aby uzyskać więcej informacji, zobacz SccSetOption. |
SCC_I_FILEDIFFERS |
6 | Plik lokalny różni się od pliku w bazie danych kontroli źródła (na przykład SccDiff może zwrócić tę wartość). |
SCC_I_RELOADFILE |
5 | Plik lokalny został zmieniony podczas operacji kontroli źródła; jeśli to możliwe, środowisko IDE powinno ponownie załadować plik. |
SCC_I_FILENOTAFFECTED |
100 | Nie ma to wpływu na plik. |
SCC_I_PROJECTCREATED |
3 | Projekt został utworzony podczas operacji kontroli źródła (na przykład podczas wywołania polecenia SccOpenProject po SCC_OP_CREATEIFNEW określeniu flagi). |
SCC_I_OPERATIONCANCELED |
2 | Operacja została anulowana. |
SCC_I_ADV_SUPPORT |
1 | Wtyczka obsługuje zaawansowane opcje dla określonego polecenia. Aby uzyskać więcej informacji, zobacz SccGetCommandOptions. |
SCC_OK |
0 | Powodzenie. |
SCC_E_INITIALIZEFAILED |
-1 | Błąd: inicjowanie nie powiodło się. |
SCC_E_UNKNOWNPROJECT |
-2 | Błąd: projekt jest nieznany. |
SCC_E_COULDNOTCREATEPROJECT |
–3 | Błąd: nie można utworzyć projektu. |
SCC_E_NOTCHECKEDOUT |
-4 | Błąd: plik nie jest wyewidencjonowany. |
SCC_E_ALREADYCHECKEDOUT |
-5 | Błąd: plik jest już wyewidencjonowany. |
SCC_E_FILEISLOCKED |
-6 | Błąd: plik jest zablokowany. |
SCC_E_FILEOUTEXCLUSIVE |
7\. | Błąd: plik jest wyewidencjonowany wyłącznie. |
SCC_E_ACCESSFAILURE |
-8 | Wystąpił problem podczas uzyskiwania dostępu do systemu kontroli źródła, prawdopodobnie z powodu problemów z siecią lub rywalizacją. Zalecane jest ponowienie próby. |
SCC_E_CHECKINCONFLICT |
-9 | Błąd: wystąpił konflikt podczas ewidencjonu. |
SCC_E_FILEALREADYEXISTS |
-10 | Błąd: plik już istnieje. |
SCC_E_FILENOTCONTROLLED |
-11 | Błąd: plik nie jest pod kontrolą źródła. |
SCC_E_FILEISCHECKEDOUT |
-12 | Błąd: plik jest wyewidencjonowany. |
SCC_E_NOSPECIFIEDVERSION |
-13 | Błąd: nie ma określonej wersji. |
SCC_E_OPNOTSUPPORTED |
-14 | Błąd: operacja nie jest obsługiwana. |
SCC_E_NONSPECIFICERROR |
–15 | Nieokreślony błąd. |
SCC_E_OPNOTPERFORMED |
-16 | Błąd, operacja nie została wykonana. |
SCC_E_TYPENOTSUPPORTED |
-17 | Błąd: typ pliku, na przykład binarny, nie jest obsługiwany przez system kontroli kodu źródłowego. |
SCC_E_VERIFYMERGE |
-18 | Plik został automatycznie scalony, ale nie został sprawdzony, ponieważ oczekuje na weryfikację użytkownika. |
SCC_E_FIXMERGE |
-19 | Plik został scalony automatycznie, ale nie został zaewidencjonowany z powodu konfliktu scalania, który musi zostać rozwiązany ręcznie. |
SCC_E_SHELLFAILURE |
-20 | Błąd spowodowany niepowodzeniem powłoki. |
SCC_E_INVALIDUSER |
-21 | Błąd: użytkownik jest nieprawidłowy. |
SCC_E_PROJECTALREADYOPEN |
-22 | Błąd: projekt jest już otwarty. |
SCC_E_PROJSYNTAXERR |
-23 | Błąd składni projektu. |
SCC_E_INVALIDFILEPATH |
-24 | Błąd: ścieżka pliku jest nieprawidłowa. |
SCC_E_PROJNOTOPEN |
-25 | Błąd: projekt nie jest otwarty. |
SCC_E_NOTAUTHORIZED |
-26 | Błąd: użytkownik nie ma autoryzacji do wykonania tej operacji. |
SCC_E_FILESYNTAXERR |
-27 | Błąd składni pliku. |
SCC_E_FILENOTEXIST |
-28 | Błąd, plik lokalny nie istnieje. |
SCC_E_CONNECTIONFAILURE |
-29 | Błąd: wystąpił błąd połączenia. |
SCC_E_UNKNOWNERROR |
-30 | Nieznany błąd. |
SCC_E_BACKGROUNDGETINPROGRESS |
-31 | Operacja pobierania w tle jest obecnie w toku. |
Makra udostępniane do szybkiego sprawdzania
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)
Uwagi
Wszystkie funkcje interfejsu API wtyczki kontroli źródła (z wyjątkiem SccAdd, SccCheckin i SccDiff) powinny zakończyć się powodzeniem, gdy pliki lokalne, które są przekazywane jako argumenty, nie istnieją w folderze roboczym. Na przykład środowisko IDE może wydać wywołanie polecenia SccCheckout lub SccUncheckout w pliku, który nie istnieje w folderze roboczym, ale istnieje w systemie kontroli źródła. To wywołanie powiedzie się. Tylko wtedy, gdy w folderze roboczym nie ma pliku lub w systemie kontroli źródła funkcja powinna zakończyć się niepowodzeniem.
Niektóre funkcje, takie jak SccAdd
i SccCheckin
, powinny zostać zwrócone SCC_E_FILENOTEXIST
, gdy plik w folderze roboczym nie istnieje. Inne funkcje powinny zakończyć się powodzeniem, gdy plik roboczy nie istnieje, jeśli funkcje działają na prawidłowej nazwie pliku w systemie kontroli źródła.
Wtyczka kontroli źródła nie powinna zawierać żadnych założeń dotyczących uprawnień do pliku w folderze roboczym, nawet jeśli wtyczka oznaczyła plik tylko do odczytu podczas niektórych operacji. Plik w folderze roboczym można przenosić, usuwać i zmieniać poza kontrolką wtyczki.