首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >版本控制命令

版本控制命令
EN

Server Fault用户
提问于 2018-02-23 10:41:51
回答 2查看 158关注 0票数 2

是否有人知道以下命令是否详细或列在任何表或配置文件中?

表: tbl_Version字段:命令

  • 列表项目
  • 编辑=2
  • 类型=4
  • 添加文件夹=5
  • 添加文件=7
  • 重命名=8
  • 重命名,编辑= 10
  • 删除= 16
  • 删除,重命名= 24
  • 取消删除= 32
  • 取消删除,编辑= 34
  • 分支= 68
  • 分支机构,删除= 84
  • 合并= 128
  • 合并,编辑= 130
  • 合并,键入,编辑= 134
  • 合并,重命名,编辑= 138
  • 合并,删除= 144
  • 合并、删除、重命名= 152
  • 合并,取消删除= 160
  • 合并、取消删除、编辑= 162
  • 合并,分支= 196
  • 合并,分支,编辑= 198
EN

回答 2

Server Fault用户

回答已采纳

发布于 2020-11-13 01:51:42

如果其他人试图查询tbl_Version (TFS 2017 Update3),则枚举位杰西展示应移到数据库中的一个位置。我不知道为什么会像杰西描述的那样设置ChangeType枚举,因为它显然会设置'None'=1而不是0,这违反了.NET设计指南CA1008和常识。这使得里克·韦布的价值观非常接近于纠正。因此,DB中“Command”的位标志是:

代码语言:javascript
复制
(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

下面是一些糟糕的SQL,可以将它们解码为选择中的空格分隔列表-

代码语言:javascript
复制
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
票数 1
EN

Server Fault用户

发布于 2018-03-17 13:30:36

它们的二进制标志(例如合并,Undelete is Merge+Undelete => 128+32 = 160)基值存储在Microsoft.TeamFoundation.VersionControl.Client.ChangeType (医生来了 )中,通过引用Microsoft.TeamFoundation.VersionControl.Client程序集或通过反映te源可以找到每个更改类型的基值:

代码语言:javascript
复制
[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:看起来你原来的表中有很多错误。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/898557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档