Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu işlev, geçerli dosya (yerel diskte) ile kaynak denetim sistemindeki son iade edilmiş sürümü arasındaki farkları görüntüler (veya isteğe bağlı olarak yalnızca denetler).
Sözdizimi
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Parametreler
pvContext
[in] Kaynak denetimi eklentisi bağlam yapısı.
Hwnd
[in] Kaynak denetimi eklentisinin sağladığı iletişim kutuları için üst öğe olarak kullanabileceği IDE penceresinin tanıtıcısı.
lpFileName
[in] Farkın istendiği dosya adı.
fOptions
[in] Komut bayrakları. Ayrıntılar için bkz. Açıklamalar.
pvOptions
[in] Kaynak denetimi eklentisine özgü seçenekler.
Dönüş değeri
Bu işlevin kaynak denetimi eklentisinin aşağıdaki değerlerden birini döndürmesi beklenir:
| Value | Açıklama |
|---|---|
| SCC_OK | Çalışan kopya ve sunucu sürümü aynıdır. |
| SCC_I_FILESDIFFERS | Çalışan kopya, kaynak denetimi altındaki sürümden farklıdır. |
| SCC_I_RELOADFILE | Bir dosya veya projenin yeniden yüklenmesi gerekir. |
| SCC_E_FILENOTCONTROLLED | Dosya kaynak denetimi altında değil. |
| SCC_E_NOTAUTHORIZED | Kullanıcının bu işlemi gerçekleştirmesine izin verilmiyor. |
| SCC_E_ACCESSFAILURE | Büyük olasılıkla ağ veya çekişme sorunlarından dolayı kaynak denetim sistemine erişilirken bir sorun oluştu. Yeniden deneme önerilir. |
| SCC_E_NONSPECIFICERROR | Özel olmayan hata; dosya farkı elde edilemedi. |
| SCC_E_FILENOTEXIST | Yerel dosya bulunamadı. |
Açıklamalar
Bu işlev iki farklı amaca hizmet eder. Varsayılan olarak, dosyada yapılan değişikliklerin listesini görüntüler. Kaynak denetimi eklentisi, kullanıcının diskteki dosyasıyla dosyanın en son sürümü arasındaki farkları kaynak denetimi altında görüntülemek için kendi penceresini açar.
Alternatif olarak, IDE'nin yalnızca bir dosyanın değişip değişmediğini belirlemesi gerekebilir. Örneğin, IDE'nin kullanıcıyı bilgilendirmeden bir dosyayı kullanıma almanın güvenli olup olmadığını belirlemesi gerekebilir. Bu durumda, IDE bayrağını SCC_DIFF_CONTENTS geçirir. Kaynak denetimi eklentisi, diskteki dosyayı kaynak denetimli dosyaya göre bayt bayt denetlemeli ve kullanıcıya hiçbir şey görüntülemeden iki dosyanın farklı olup olmadığını belirten bir değer döndürmelidir.
Performans iyileştirmesi olarak, kaynak denetimi eklentisi tarafından çağrılan SCC_DIFF_CONTENTSbayt bayt karşılaştırması yerine sağlama toplamına veya zaman damgasına dayalı bir alternatif kullanabilir: bu karşılaştırma biçimleri açıkça daha hızlıdır ancak daha az güvenilirdir. Tüm kaynak denetim sistemleri bu alternatif karşılaştırma yöntemlerini desteklemeyebilir ve eklentinin bir içerik karşılaştırmasına geri dönmesi gerekebilir. Tüm kaynak denetimi eklentilerinin en azından içerik karşılaştırmayı desteklemesi gerekir.
Not
Hızlı fark bayrakları birbirini dışlar. Bayrak geçirmek geçerli değildir, ancak aynı anda birden fazla bayrak geçirmek geçerli değildir. SCC_DIFF_QUICK_DIFF, tüm bayrakları birleştiren bir maskedir, test etmek için kullanılabilir, ancak hiçbir zaman parametre olarak geçirilmemelidir.
fOption |
Anlamı |
|---|---|
| SCC_DIFF_IGNORECASE | Büyük/küçük harfe duyarlı olmayan karşılaştırma (hızlı veya görsel fark için kullanılabilir). |
| SCC_DIFF_IGNORESPACE | Boşluğu yoksayar (hızlı veya görsel fark için kullanılabilir). |
| SCC_DIFF_QD_CONTENTS | Dosyayı sessizce bayt bayt karşılaştırır. |
| SCC_DIFF_QD_CHECKSUM | Desteklendiğinde dosyayı bir sağlama toplamı aracılığıyla sessizce karşılaştırır. Desteklenmiyorsa, içindekiler karşılaştırmasına geri döner. |
| SCC_DIFF_QD_TIME | Desteklendiğinde dosyayı zaman damgası aracılığıyla sessizce karşılaştırır. Desteklenmiyorsa, içindekiler karşılaştırmasına geri döner. |