代码之家  ›  专栏  ›  技术社区  ›  Felipe Pessoto

如何查看修改过的文件,但未从服务器提交?

  •  3
  • Felipe Pessoto  · 技术社区  · 15 年前

    在SourceSafe中,我可以知道是否有人修改了文件但没有提交,因为该文件将被锁定。

    默认情况下,SVN不使用锁,这很好,但是我怎么知道是否有人修改了任何文件,忘记提交?

    在我的工作中,我们在开发机器上编译DLL并发送到staging,我知道与Subversion服务器集成的构建服务器解决了这个问题,但我现在不想这样做。

    PS:我关心的是用old.cs编译一个项目,因为程序员可能没有提交。

    5 回复  |  直到 12 年前
        1
  •  5
  •   Community CDub    8 年前

    这不是SVN的工作方式。

    Subversion使用源代码管理的编辑合并提交方式。任何人都可以更改任何文件。提交时,如果存在冲突,可以合并更改(自动或手动)

    有关锁定和编辑合并提交的更多讨论,请参见:

    VSS to Subversion

        2
  •  1
  •   Gabriel Solomon    15 年前

    您可以进行一个内部过程,在每个人开始修改文件之前,他向SVN服务器请求一个锁。这样每个人都会收到他正在处理的文件的更新。

    但这将消除颠覆的好处,因为在颠覆中,更多的人可以同时处理同一个文件,并合并结果。

        3
  •  0
  •   Josh Stodola    15 年前

    有一个 Check For Modifications 命令您可以在更新后运行,除非我误解了您。

        4
  •  0
  •   Agent_9191    15 年前

    这种部署方式在Subversion中不能很好地工作。您声明您还不想将构建服务器放置到位,因此在部署之前,您必须依赖所有开发人员执行一组一致的步骤,以便在发送到临时阶段时不会丢失任何内容。我要解决的问题是创建一个构建脚本,该脚本将执行以下操作(仅用于发布到临时阶段):

    • 从颠覆中取下最新的
    • 生成所有输出
    • 运行单元测试
    • 将所有修改文件提交回SVN
    • 将程序集推到临时
    • 推后配置更改/环境就绪

    这样,未提交的更改就不会存在于登台中的任何内容中。

        5
  •  0
  •   silk    15 年前

    你可以使用 svn status 看看你有没有 地方的 未斜接的更改。

    要知道是否有人有一些未经限制的更改,您需要说服/贿赂/支付/恐吓其他人每天运行测试,或者将其放入cron或其他调度程序中。当然,你会对他们出于某种原因(例如,一些尚未完成、工作不正常的事情等)而离开的文件感到震惊。