【问题标题】:Eclipse / Aptana File Sync SolutionsEclipse / Aptana 文件同步解决方案
【发布时间】:2011-02-05 10:51:45
【问题描述】:

我们的开发团队使用 Eclipse + Aptana 进行 Web 开发工作。目前,他们中的大多数正在将他们的 Eclipse 项目直接映射到 Web 服务器。我宁愿他们创建一个本地项目并使用它来同步到他们正在处理的 Web 服务器项目目录。

问题是没有任何好的解决方案,考虑到两者的受欢迎程度,这令人震惊。

Eclipse 的 FileSync 插件只有一种方式。这意味着如果另一个开发人员对服务器上的文件进行了更改,另一个开发人员甚至不会收到通知,并且可能会覆盖更改。

Aptana 2.0 中的文件传输选项不支持任何类型的同步,仅支持手动上传/下载文件。

Aptana 1.5.1 中的同步选项不允许您在文件不同时合并文件。您只能更新其中一个。但是,它确实允许您查看差异(但仅当您右键单击并选择时)并且在该差异中您无法进行任何更改。

我确实找到了一种方法,允许使用 Eclipse Monkey 将文件上传到他们在 Aptana 中的同步存储库。但是,如果用户一次保存多个文件,“全部保存”,它就不起作用了,它又不起作用。此外,如果用户在服务器上打开具有更新副本的本地文件,则不会发出通知。我尝试使用 Eclipse Monkey 添加一个,但我在 Eclipse API 中找不到任何类型的侦听器来执行此操作,而且任何 Eclipse Monkey 文档之间都相差甚远。

此时我唯一的解决方案是让他们继续直接映射到服务器或要求他们在执行任何工作之前进行手动下载(但如果有人在他们这样做后立即上传更改怎么办)。

有人有什么想法吗?

【问题讨论】:

    标签: eclipse file-io synchronization aptana


    【解决方案1】:

    2010 年 4 月

    EGit 添加到您的 Eclipse+Aptana 设置中,并且:

    • 让开发人员将他们的开发成果推送到local bare repo(另请参阅this post
    • 让您的本地项目通过git pull 从同一个本地裸仓库更新(创建/更新)与源合并/更新的本地工作目录(或使用my previous SO link 中描述的更新后挂钩)
    • 让您的本地 Aptana+Eclipse(+EGit) 引用该本地工作目录,您的 Web 服务器也使用该目录。

    简而言之,当您谈到文件同步 + 合并时,这是 (D)VCS 的工作(Version Control System: CentralizedDistributed VCS


    2011 年 10 月:正如 xmedeko 在 cmets 中提到的那样,Aptana3 有自己的 Git plugin
    而且它与 EGit 不太兼容:请参阅 bug 1988

    【讨论】:

    • 更新:Aptana 3 拥有自己的 Git 插件。恕我直言,比 EGit 更好。
    • @xmedeko:好点。我已经编辑了答案以反映本机 git 插件。
    【解决方案2】:

    添加到 VonC 答案(恕我直言,这是正确的),这种情况下可能存在的原因是,除了使用的工具之外,您采用的 流程 本身并不正确。

    如果我理解得很好,您不应该允许也不执行从项目的开发版本直接上传到 Web 服务器的操作。合并不是远程同步工具的工作,它应该在部署阶段之前发生(上传到 Web 服务器实际上是部署)。

    您应该有一个从开发历史中的某个时间点(根据您的发布时间表)获取的专用存储库,该时间点已经发生了合并。然后在本地/暂存 Web 服务器上部署它(如果需要,可以通过文件同步,但这不是强制性的)。

    在那里执行您在正在运行的网站上运行的任何测试(即集成和/或功能测试)。如果有任何错误和修复,那么有不同的方法可以将修复实际应用于开发和暂存代码存储库。只有在那之后,您才能将暂存存储库部署到生产 Web 服务器(同样,同步工具是一种方法)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多