Come trovare i file estratti
-
06-07-2019 - |
Domanda
Sto usando Visual Source Safe 6.0d (requisito di lavoro) e ho cercato di hackerare insieme un piccolo script di shell per permettermi di rimuovere facilmente un albero dei sorgenti o avvisarmi se i file sono stati estratti così Posso essere sicuro di non cancellare per errore il lavoro. Esiste un modo per sapere se i file sono stati estratti oltre a controllare il bit di sola lettura sui file stessi?
- VSS non sembra scrivere alcun file (ho preso un'istantanea della directory prima e dopo aver verificato un file e non c'era alcuna differenza nei file elencati)
- Non riesco a trovare nulla da Google.
- Ho anche verificato le differenze tra vssver.scc e non ho trovato nulla.
Intendiamoci, verificare la presenza di file scrivibili non è la cosa peggiore al mondo, ma sembra che VSS renda scrivibili diversi file nella struttura dei sorgenti (* .ncb, * .scc, * .sln) senza che io abbia verificato qualcosa fuori. Posso semplicemente escludere i file ma sto cercando di trovare una soluzione un po 'più elegante.
Soluzione
Forse la tecnica più efficace è chiedere a SourceSafe stesso cosa è stato estratto e / o se sono stati estratti singoli file di interesse. Mentre mi rendo conto che non è ovvio come farlo in un piccolo script di shell, raccomanderei l'uso di PowerShell per questo.
SourceSafe espone un Modello a oggetti di automazione OLE (noto anche come modello a oggetti COM) e PowerShell può parlare con oggetti COM. Se non hai familiarità con queste cose, è molto da imparare ma alla fine ne vale la pena.
In alternativa, se PowerShell è troppo estraneo, VBScript può anche essere usato per controllare gli oggetti COM.
Altri suggerimenti
È possibile utilizzare COM per verificare se un file è stato estratto. Dai un'occhiata al IVSSItem.IsCheckedOut . Per ulteriori informazioni sull'uso di VSS tramite COM, consultare:
http://msdn.microsoft.com /en-us/library/4d44xhsd%28VS.80%29.aspx