Como faço para receber as últimas rótulo clearcase meio de programação de C #?
Pergunta
Eu estou tentando colocar informações sobre a versão para o meu quadro C # GUI recuperado do último rótulo ClearCase. Esta foi originalmente feito a partir do Visual Soursafe como abaixo.
vssDB = new VSSDatabaseClass();
vssDB.Open( databaseName, "vssadmin", "vssadmin" );
VSSItem item = vssDB.get_VSSItem( @"$\BuildDCP.bat", false );
foreach(VSSVersion vssVersion in item.get_Versions(0))
{
// Pull the first non-blank label and use that
if ( vssVersion.Label != "" )
{
labelID = vssVersion.Label.ToString();
break;
}
}
Eu estou tentando fazer algo semelhante usando ClearCase desde que mudou o nosso controle de código fonte de VSS para CC. Qualquer ajuda seria muito apreciada.
Obrigado!
Solução
Eu acredito que este poderia ser melhor alcançado através de um script, que seria chamado de seu programa C #.
Mas você pode ser capaz de chamar diretamente alguns objetos COM, através do CAL interface de fornecido com ClearCase.
A documentação para a interface pode ser acessada através ClearCase ajuda (Iniciar> Programas> Rational ClearCase> ClearCase Ajuda), onde há uma entrada para "Biblioteca de Automação ClearCase (CAL)". Um caminho alternativo é olhar no diretório ClearCase / bin para " cc_cal.chm ".
Em VB, com CAL API, que daria algo como:
Dim CC As New ClearCase.Application
Dim labelID As String
Set aVersion = CC.Version("[Path-To]\BuildDCP.bat");
Set someLabels = Ver.Labels;
If (someLabels.Count > 0) Then
' the first label listed is the most recently applied
labelID = someLabels.Item(1).Type.Name
EndIf
Outras dicas
Eu realmente gostaria que as interfaces COM melhor documentação, ou foram mais evidentes. Ou que o código para ClearCase Explorer ou Project Explorer foram open source.
Já fiz algumas coisas legais, mas eu praticamente comecei adicionando referências COM ao meu projeto C #, e então começou trepando com as interfaces I encontrados.
Boa sorte!