Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi ini menampilkan (atau secara opsional hanya memeriksa) perbedaan antara file saat ini (pada disk lokal) dan versi terakhir yang diperiksa dalam sistem kontrol sumber.
Sintaks
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Parameter
pvContext
[di] Struktur konteks plug-in kontrol sumber.
hWnd
[di] Handel ke jendela IDE yang dapat digunakan plug-in kontrol sumber sebagai induk untuk kotak dialog apa pun yang disediakannya.
lpFileName
[di] Nama file yang perbedaannya diminta.
fOptions
[di] Bendera perintah. Lihat Keterangan untuk detailnya.
pvOptions
[di] Opsi khusus plug-in kontrol sumber.
Nilai hasil
Implementasi plug-in kontrol sumber dari fungsi ini diharapkan mengembalikan salah satu nilai berikut:
| Nilai | Deskripsi |
|---|---|
| SCC_OK | Salinan yang berfungsi dan versi server identik. |
| SCC_I_FILESDIFFERS | Salinan kerja berbeda dari versi di bawah kontrol sumber. |
| SCC_I_RELOADFILE | File atau proyek perlu dimuat ulang. |
| SCC_E_FILENOTCONTROLLED | File tidak berada di bawah kontrol sumber. |
| SCC_E_NOTAUTHORIZED | Pengguna tidak diizinkan untuk melakukan operasi ini. |
| SCC_E_ACCESSFAILURE | Ada masalah saat mengakses sistem kontrol sumber, mungkin karena masalah jaringan atau pertikaian. Coba lagi disarankan. |
| SCC_E_NONSPECIFICERROR | Kegagalan nonspesfik; perbedaan file tidak diperoleh. |
| SCC_E_FILENOTEXIST | File lokal tidak ditemukan. |
Keterangan
Fungsi ini melayani dua tujuan yang berbeda. Secara default, ini menampilkan daftar perubahan pada file. Plug-in kontrol sumber membuka jendelanya sendiri, dalam format apa pun yang dipilihnya, untuk menampilkan perbedaan antara file pengguna pada disk dan versi terbaru file di bawah kontrol sumber.
Atau, IDE mungkin hanya perlu menentukan apakah file telah berubah. Misalnya, IDE mungkin perlu menentukan apakah aman untuk memeriksa file tanpa memberi tahu pengguna. Dalam hal ini, IDE meneruskan SCC_DIFF_CONTENTS bendera. Plug-in kontrol sumber harus memeriksa file pada disk, byte byte, terhadap file yang dikontrol sumber dan mengembalikan nilai yang menunjukkan apakah kedua file berbeda tanpa menampilkan apa pun kepada pengguna.
Sebagai pengoptimalan performa, plug-in kontrol sumber dapat menggunakan alternatif berdasarkan checksum atau tanda waktu alih-alih perbandingan byte-byte yang dipanggil oleh SCC_DIFF_CONTENTS: bentuk perbandingan ini jelas lebih cepat tetapi kurang dapat diandalkan. Tidak semua sistem kontrol sumber dapat mendukung metode perbandingan alternatif ini, dan plug-in mungkin harus kembali ke perbandingan konten. Semua plug-in kontrol sumber harus, minimal, mendukung perbandingan konten.
Catatan
Bendera perbedaan cepat saling eksklusif. Ini berlaku untuk tidak meneruskan bendera, tetapi tidak valid untuk secara bersamaan meneruskan lebih dari satu bendera. SCC_DIFF_QUICK_DIFF, yang merupakan masker yang menggabungkan semua bendera, dapat digunakan untuk menguji, tetapi tidak boleh diteruskan sebagai parameter.
fOption |
Makna |
|---|---|
| SCC_DIFF_IGNORECASE | Perbandingan yang tidak peka huruf besar/kecil (dapat digunakan untuk perbedaan cepat atau visual). |
| SCC_DIFF_IGNORESPACE | Mengabaikan spasi kosong (dapat digunakan untuk perbedaan cepat atau visual). |
| SCC_DIFF_QD_CONTENTS | Secara diam-diam membandingkan file, byte byte. |
| SCC_DIFF_QD_CHECKSUM | Membandingkan file secara diam-diam melalui checksum saat didukung. Jika tidak didukung, kembali ke perbandingan konten. |
| SCC_DIFF_QD_TIME | Secara diam-diam membandingkan file melalui tanda waktunya ketika didukung. Jika tidak didukung, kembali ke perbandingan konten. |