IBagtragačSnabdevač interfejs

TortoiseSVN 1.5 i kasnije mogu koristiti jezičke koji implementiraju IBagtagačSnabdevač interfejs. Interfejs obezbeđuje nekoliko metoda čiji jezičci se mogu koristiti da interaguju sa problem tragačem.

HRESULT ValidateParameters (
            // Predački prozor za bilo koji UI koji ga zahteva da
   //bude prikazan u toku vrednovanja.
  [in] HWND hParentWnd, 
    
           // Parametar string koji treba da bude vrednovan.
  [in] BSTR parameters, 

  // Da li je string valjan?
  [out, retval] VARIANT_BOOL *valid
);

Ovaj metod je pozvan iz dijaloga podešavanja gde korisnik može dodati i konfigurisati jezičak. String parametri se mogu koristiti jezičkom da se dobije dodatna zahtevana informacija, npr. URL ka problem tragaču, dnevnik informacija, itd. Jezičak treba da verifikuje string parametrima i prikazuje dijalog greške ako string nije valjan. Parametar hParentWnd treba da se koristi za svaki dijalog jezičak se prikazuje kao predački prozor. Plagin mora vratiti ISTINU ako vrednovanje string parametara bude zadovoljavajuće. Ako plagin vrati LAŽ dijalog podešavanja ne može dopustiti korisniku da doda jezičak u putanju radne kopije.

HRESULT GetLinkText (
     // Predački prozor za svaki (pogrešan) UI koji traži da bude prikazan.
  [in] HWND hParentWnd,

 // Parametar string, upravo u slučaju kada vam je potrebno
 // da se obratite vašem veb servisu (npr.) da nađete koji je korektan tekst.
 [in] BSTR parameters,
   
 // Koji tekst želite da prikažete? 
 //Koristite tekuću lokalnu nit.
  [out, retval] BSTR *linkText 
 );

Jezičak može dati string koji se koristi u TortoiseSVN dijalogu urezivanja za dugmiće koji pozivaju jezičke, npr. "Izaberi problem" ili "Izaberi kartu". Budite sigurni da string nije suviše dugačak, drugačije to ne može biti ubačeno u dugme. Ako metod vraća grešku (npr. E_NOTIMPL), podrazumevani tekst se koristi za dugme.

HRESULT GetCommitMessage (
   // Predački prozor za UI snabdevača.
  [in] HWND hParentWnd,
 
    //Parametri za vašeg snabdevača.
  [in] BSTR parameters,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,
  
  // Tekst već prisutan u poruci urezivanja.
  // Vaš snabdevač treba da uključi ovaj tekst u novu poruku,
  // gde odgovara.
  [in] BSTR originalMessage,

// Novi tekst za poruku urezivanja.
// Ovo zamenjuje originalnu poruku.
  [out, retval] BSTR *newMessage
);

Ovo je glavnimetod za jezičke.Ovaj metod se poziva iz TortoiseSVNdijaloga urezivanja kada korisnikklikne na dugme jezička.

String parametrije string koji je korisnik uneou dijalogu podešavanja kada konfiguriše jezičak. Obično jezičak će koristiti ovo danađe URL problem tragača i/ili login informacije ili više.

String zajedničkiKoren sadrži predačku putanju svih stavki izabranih da sakupe dijalog urezivanja. Primetimo da to nije korena putanja svih stavki koje je korisnik izabraoudijalogu urezivanja.Za grana/oznaka dijalogovo je putanja koja ćebiti kopirana.

Parametar putanjaLista sadrži oblast putanja (kao stringove) koje je korisnik izabrao za urezivanje.

Parameta originalnaPoruka sadrži tekst unet u boks dnevnika poruka u dijalogu urezivanja.Ako korisnik još nije uneobilo kakav tekst ovaj stringće biti prazan.

Povratni string novaPoruka je kopirana u boks uređenja dnevnika poruka udijalogu urezivanja, zamenjujući štgod da je tamo. Ako jezičak ne menja string originalna Poruka mora opet vratiti isti string, s druge strane svaki tekst koji je korisnik uneo biće izgubljen.