Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 一个项目涉及多少人?基于版本控制系统_Svn_Git_Mercurial_Metrics_Bazaar - Fatal编程技术网

Svn 一个项目涉及多少人?基于版本控制系统

Svn 一个项目涉及多少人?基于版本控制系统,svn,git,mercurial,metrics,bazaar,Svn,Git,Mercurial,Metrics,Bazaar,您如何知道有多少开发人员参与了使用版本控制系统的项目?我的一个朋友找到了在git日志中查找答案的方法: git log | grep Author: | sort -u | cut –delimiter=” ” -f2 | sort -u | wc -l 在git中有直接的方法吗?其他版本控制系统如Subversion、Bazaar或Mercurial怎么样?我也不知道Mercurial有什么简单的方法,仔细搜索它的所有文档也没有发现任何东西。因此,这里有一个*nix命令,类似于您的朋友为Me

您如何知道有多少开发人员参与了使用版本控制系统的项目?我的一个朋友找到了在git日志中查找答案的方法:

git log | grep Author: | sort -u | cut –delimiter=” ” -f2 | sort -u | wc -l

在git中有直接的方法吗?其他版本控制系统如Subversion、Bazaar或Mercurial怎么样?

我也不知道Mercurial有什么简单的方法,仔细搜索它的所有文档也没有发现任何东西。因此,这里有一个*nix命令,类似于您的朋友为Mercurial找到的命令:

hg log | grep user: | cut -c 14- | sort -u | uniq | wc -l

顺便说一句,我认为git的命令有错误,第二个
sort-u
应该被uniq替换

更简单的git版本是:

git log --pretty=tformat:%an | sort -u | wc -l
或者,如果您关心唯一的电子邮件地址:

git log --pretty=tformat:%ae | sort -u | wc -l
颠覆罪

svn log -q svn://path/to/repo | cut -f 3 -d " "  | sort -u
吉特 这个命令非常有用。这总结了典型的
git日志输出

$ git shortlog -sn
   119  tsaleh
   113  Joe Ferris
    70  Ryan McGeary
    45  Tammer Saleh
    45  Dan Croak
    19  Matt Jankowski
    ...
传递到
wc
查看唯一用户名的数量:

$ git shortlog -sn | wc -l
      40

Bazaar有一个统计插件,可以获取关于项目贡献者的不同信息:


对于mercurial,有一个扩展可以做到这一点:


hg-chorn
按更改的行进行排序,如果您想要更改集计数,请使用
hg-chorn-c

Mercurial内置了一种功能强大的模板语言(请参见
hg-help-templates
)。因此,您可以获得项目中所有人员的列表,而无需启用客户流失扩展:

hg log --template '{author}\n' | sort -u
如果人们更改了他们的电子邮件地址(但在其他方面保持了他们的姓名不变),那么您可以稍微处理一下
作者
模板关键字:

hg log --template '{author|person}\n' | sort -u

然后在上面的命令中添加合适的
wc-l

@Charles Bailey:再看看,已经做了两次了@tonfa:我不知道,应该更仔细地研究扩展。我同意,第一个
排序-u
在这个问题上是多余的,但我仍然认为它没有任何问题。但是您还将
sort-u
的输出传输到
uniq
,所以我想知道您为什么不信任
sort-u
?哦!我的错不知道-u选项!