2010-04-07 54 views
8

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

问题是,没有任何好的解决方案,只因两者的普及而令人震惊。

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

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

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

我确实找到了一种方法,允许使用Eclipse Monkey将文件上传到Aptana中的同步存储库。但是,如果用户一次保存多个文件即“全部保存”,则不起作用,但它不起作用。此外,如果用户打开服务器上具有更新副本的本地文件,则不会发出通知。我试图使用Eclipse Monkey添加一个,但我无法在Eclipse API中找到任何类型的监听器来执行此操作,并且任何Eclipse Monkey文档都很少,而且几乎没有。

我现在唯一的解决方案就是让他们继续直接映射到服务器,或者让他们在做任何工作之前做一个手动下载(但是如果某人在他们做了这些之后上传了一个更改) 。

任何人有任何想法?

回答

4

2010年4月

添加EGit到Eclipse +的Aptana设置和:

  • 让开发商推到local bare repo他们的发展(见this post
  • 让您的本地项目是从git pull更新git pull从相同的本地裸回购(创建/更新)本地工作目录与合并/更新的来源(或通过使用后更新挂钩my previous SO link
  • 让您的本地Aptana + Eclipse(+ EGit)引用本地工作目录,也可以使用您的Web服务器。

总之,当你说话的文件同步+合并的,这是一个(d)工作VCS(Version Control SystemCentralizedDistributed VCS


2011年10月:为xmedeko提到的评论,Aptana3有自己的Git plugin
它与EGit不太兼容:请参阅bug 1988

+0

更新:Aptana 3拥有自己的Git插件。恕我直言,比EGIT更好。 – xmedeko 2011-10-12 07:14:49

+0

@xmedeko:好点。我编辑了答案以反映该原生git插件。 – VonC 2011-10-12 07:38:21

1

添加到VonC答案(这是正确的恕我直言),可能是这种情况下可能是你采用的进程本身是不正确的,除了使用的工具。

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

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

在那里执行您在网站上运行的任何测试(即集成和/或功能测试)。如果修复了任何缺陷&,那么在开发staging代码库中实际应用修补程序的方法也不尽相同。只有在此之后,才能将暂存存储库部署到生产Web服务器上(同样,同步工具也是一种方法)。