代码之家  ›  专栏  ›  技术社区  ›  user432024

我怎么知道谁签出了文件?

  •  0
  • user432024  · 技术社区  · 14 年前

    我希望为我的团队实现源代码管理。出现的一个外部要求是,“经理/领导”希望知道谁签出了哪个文件以及何时签出。不是真正的锁,他们只是想知道文件是什么时候被谁拿出来的。这也是一个节目停止的要求,是我无法控制的。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Christoph Strasen    14 年前

    作为一个开发人员,我会觉得有点不舒服,但是你的“经理”想要的是一个基于客户端的“间谍”程序。例如,这可以实现为eclipse插件,它收集关于打开和编辑什么文件的静态信息。

    好的项目管理采用低侵入性的方法来收集有关进度和有效性的信息。

        2
  •  4
  •   Jim T    14 年前

    免费的源代码管理系统不会给你这些信息,因为它们是在与服务器断开连接的情况下工作的—你可以“获取”一个文件,但在你来签入之前,你不必告诉服务器你已经更改了它。这本身就是一个经过深思熟虑的特性,因为它意味着您可以在路上、在家里等地工作,而不必被束缚到中央存储库。

    而且,没有一个更现代的分布式系统,如git或mercurial,甚至可以开始向您提供这些信息,存储库在您的机器上,而不是集中的,并且返回到原始的链接是最脆弱的。考虑一下-您有5个本地分支,您是报告所有文件都是针对原始分支修改的,还是只报告活动分支?你可以从已经克隆的repo中克隆repo,你需要遵循多少抽象级别才能得到“主”repo?谁来决定,你将如何配置主控器是什么?Git等人可以非常优雅地处理所有这些复杂性,但是“谁签出了这个文件”这个问题在这种情况下几乎没有意义。

    像TFS和Perforce这样的老顽固确实允许这样做。但我很好奇为什么他们需要这个功能,仅仅因为有人拥有一个修改过的文件副本在管理方面并不意味着什么,分支仍然可以使用存储库安全性非常有效地保护,任何任务跟踪系统,如trac或redmine,都会告诉你谁在做什么,并与svn完美集成。

    可能会有第三方应用程序查找工作副本并将状态信息上载到中央报表服务器,但我还没有看到。甚至值得做一个。