Comandos de controle de versão do Team Foundation

Comandos de controle de versão do Team Foundation

Alguém sabe se os seguintes comandos estão detalhados ou listados em alguma tabela ou arquivo de configuração?

Tabela: tbl_Version Campo: Comando

  • Item da lista
  • Editar = 2
  • Tipo = 4
  • Adicionar pasta = 5
  • Adicionar arquivo = 7
  • Renomear = 8
  • Renomear,editar = 10
  • Excluir = 16
  • Excluir, renomear = 24
  • Recuperar = 32
  • Recuperar,editar = 34
  • Filial = 68
  • Filial, excluir = 84
  • Mesclar = 128
  • Mesclar, editar = 130
  • Mesclar, digitar, editar = 134
  • Mesclar, renomear, editar = 138
  • Mesclar, excluir = 144
  • Mesclar, excluir, renomear = 152
  • Mesclar, cancelar exclusão = 160
  • Mesclar, cancelar exclusão, editar = 162
  • Mesclar, ramificar = 196
  • Mesclar, ramificar, editar = 198

Responder1

Caso alguém esteja tentando consultar tbl_Version (TFS 2017 Update3), os bits enummostrado por Jessédeve ser deslocado um lugar no banco de dados. Não sei por que o enum ChangeType seria configurado como Jesse descreve, pois violariaDiretriz de design .NET CA1008e bom senso, aparentemente definindo 'None' = 1 em vez de 0. Isso faz com queValores de Rick Webmuito perto de corrigir. Os sinalizadores de bit da coluna 'Command' no banco de dados são, portanto:

(None = 0)
Add = 1,
Edit = 2,
Encoding = 4,
Rename = 8,
Delete = 16,
Undelete = 32
Branch = 64,
Merge = 128,
Lock = 256,
Rollback = 512,
SourceRename = 1024,
Property = 4096

Aqui estão alguns SQL ruins para decodificá-los como uma lista separada por espaços em seu SELECT-

SELECT TOP 10 RTRIM(
    CASE WHEN Command & 1 = 1 THEN 'Add ' ELSE '' END
    + CASE WHEN Command & 2 = 2 THEN 'Edit ' ELSE '' END
    + CASE WHEN Command & 4 = 4 THEN 'Encoding ' ELSE '' END
    + CASE WHEN Command & 8 = 8 THEN 'Rename ' ELSE '' END
    + CASE WHEN Command & 16 = 16 THEN 'Delete ' ELSE '' END
    + CASE WHEN Command & 32 = 32 THEN 'Undelete ' ELSE '' END
    + CASE WHEN Command & 64 = 64 THEN 'Branch ' ELSE '' END
    + CASE WHEN Command & 128 = 128 THEN 'Merge ' ELSE '' END
    + CASE WHEN Command & 256 = 256 THEN 'Lock ' ELSE '' END
    + CASE WHEN Command & 512 = 512 THEN 'Rollback ' ELSE '' END
    + CASE WHEN Command & 1024 = 1024 THEN 'SourceRename ' ELSE '' END
    + CASE WHEN Command & 2048 = 2048 THEN 'UNKNOWN ' ELSE '' END
    + CASE WHEN Command & 4096 = 4096 THEN 'Property ' ELSE '' END
    + CASE WHEN Command & 8192 = 8192 THEN 'UNKNOWN ' ELSE '' END
    + CASE WHEN Command & 16384 = 16384 THEN 'UNKNOWN ' ELSE '' END
    ) 'Commands' 
FROM tbl_Version

Responder2

Eles são um sinalizador binário (por exemplo, Merge, Undelete é Merge+Undelete => 128+32 = 160) os valores base são armazenados no Microsoft.TeamFoundation.VersionControl.Client.ChangeType(documentos aqui) e o valor base de cada tipo de mudança pode ser encontrado referenciando a Microsoft.TeamFoundation.VersionControl.Clientmontagem ou refletindo as fontes:

[Flags]
public enum ChangeType
{
    Add = 2,
    Branch = 128,
    Delete = 32,
    Edit = 4,
    Encoding = 8,
    Lock = 512,
    Merge = 256,
    None = 1,
    Property = 8192,
    Rename = 16,
    Rollback = 1024,
    SourceRename = 2048,
    Undelete = 64
}

PS: parece que sua tabela original contém vários erros.

informação relacionada