2010-04-29 33 views
4

我有一个运行颠覆的存储库。有些用户没有定期进行提交。我想每周向那些在上周没有提交的人发出提醒。有没有办法确定每个用户上次提交日期的时间是?如何找出每个用户的最后一次提交是否被颠覆?

+2

我敢肯定是有办法做到这一点(别人就能建议如何),但它使我紧张地听到“人不犯,我们应更频繁地做。”我可以理解你不希望他们懒惰,但很多编程都是关于思考和理解问题。他们可能也有分支,所以他们在那里进行而不是到树干。我想我只是说要小心这样做的原因。程序员也喜欢被信任。 – JasCav 2010-04-29 18:34:40

+0

如果这是一个每周的事情,它不会。也许每周都太多了。每月如何? – llaskin 2010-04-29 19:12:15

回答

3

没有试图解决您是否应该做不做,下面会给你唯一的用户列表谁DATE1DATE2

svn log -r'{DATE1}:{DATE2}' | grep -E '\|' | cut -f2 -d'|' | sort | uniq 

之间的承诺在哪里DATE1DATE2被格式化为yyyymmdd

我相信,一旦你有谁犯用户的列表,你就会知道是谁做还不如,你可以对一个完整列表(例如diff committed_users.txt all_users.txt)进行比较。

4

当心你测量什么,因为你会在黑桃接受它。

两种技术是可能的。你可以编写一个小程序来调用“svn log”并提取相关的开发人员名字和最后的提交时间。您可以将脚本添加到相应的提交后挂钩,该挂钩可以从每周重新生成的电子邮件列表中删除开发人员,也可以在稍后处理的文件中替换开发人员的最后提交时间。

的主要问题是,通过测量提交,你会得到更多的提交。游戏系统的玩家将会大大降低提交的质量。我预见评论只会在不久的将来承诺或承诺最微不足道的性质。

+3

+1“当心你衡量的东西......” – 2010-04-29 18:46:14

+3

虽然我通常与你不想跟踪提交过宗教或坏(甚至怀疑)代码力提交同意这一观点,我知道我的工作大量的项目开发者花了数周甚至数周的时间没有提交或更新他们的代码,在测试截止日期之前承诺,并因此在关键时间导致了广泛的痛苦集成失败。所以我同情至少需要关注哪些开发人员没有提交的需求,以便开发人员可以找出他们为什么没有提交。 – 2010-04-29 18:51:38

+0

这不是每周一次的电子邮件。这更多的是Jim讨论的情况,碰撞和非交付问题经常发生,并试图找到解决问题的方法。 – llaskin 2010-04-29 19:11:47

相关问题