Решения для синхронизации файлов Eclipse / Aptana - PullRequest
8 голосов
/ 08 апреля 2010

Наша команда разработчиков использует Eclipse + Aptana для своей веб-разработки.В настоящее время большинство из них отображают свои проекты Eclipse непосредственно на веб-сервер.Я бы предпочел, чтобы они создали локальный проект и использовали его для синхронизации с каталогом проекта веб-сервера, над которым они работают.

Проблема в том, что нет хороших решений, которые просто ужасны, учитывая популярность этих двух.

Плагин FileSync для Eclipse является только односторонним.Это означает, что если другой разработчик вносит изменения в файл на сервере, другой разработчик даже не уведомляется и может перезаписать это изменение.

Параметр «Передача файлов» в Aptana 2.0 не поддерживает какую-либо синхронизацию, простозагрузка / выгрузка файлов вручную.

Функция синхронизации в Aptana 1.5.1 не позволяет объединять файлы, когда они различаются.Вы можете обновить только один или другой.Однако он позволяет вам просматривать различия (но только если вы щелкнете правой кнопкой мыши и выберите), и в этом изменении вы не сможете вносить какие-либо изменения.

Я нашел способ разрешить загрузку файлов на ихСинхронизируйте репозитории в Aptana, используя Eclipse Monkey.Однако это не работает, если пользователь сохраняет несколько файлов одновременно, «Сохранить все», опять же, это не работает.Кроме того, нет уведомлений, если пользователь открывает локальный файл с обновленной копией на сервере.Я попытался добавить один, используя Eclipse Monkey, но я не смог найти какой-либо слушатель в Eclipse API, чтобы сделать это, и любая документация по Eclipse Monkey далека и немногочисленна.

Мое единственное решение на данный момент это простопозволить им продолжать сопоставлять данные непосредственно с сервером или попросить их выполнить ручную загрузку, прежде чем они сделают какую-либо работу (но опять же, что если кто-то загрузит изменение сразу после того, как они это сделают).

У кого-нибудь есть какие-нибудь идеи?

Ответы [ 2 ]

4 голосов
/ 08 апреля 2010

апрель 2010

Добавьте EGit в настройку Eclipse + Aptana и:

  • пусть разработчики отправят в локальное репо свои разработки (см. Также этот пост )
  • позволяет вашему локальному проекту обновляться git pull из того же локального чистого репо (создание / обновление) локального рабочего каталога с объединенными / обновленными источниками (или с помощью ловушки после обновления, как описано в my предыдущая ссылка SO )
  • пусть ваш локальный Aptana + Eclipse (+ EGit) ссылается на этот локальный рабочий каталог, также используемый вашим веб-сервером.

Короче говоря, когда вы говорите о синхронизации файлов + слияниях, это задание для (D) VCS ( Система контроля версий : Централизованная или Распределенная VCS )


окт 2011: как xmedeko упоминает в комментариях, Aptana3 имеет свой собственный плагин Git .
И это не очень совместимо с EGit: см. ошибка 1988 .

1 голос
/ 11 июня 2012

Если добавить к ответу VonC (что является правильным ИМХО) то, что, вероятно, лежит в основе этого сценария, так это то, что принятый вами процесс сам по себе неверен, за исключением используемых инструментов.

Если я правильно понял, вы не должны разрешать или выполнять прямую загрузку из версии проекта для разработки на веб-сервер. Объединение не является задачей для инструментов удаленной синхронизации, и это должно произойти задолго до этапа развертывания (загрузка на веб-сервер практически развертывание).

У вас должен быть выделенный репозиторий, взятый с некоторого момента в истории разработки (согласно вашей временной шкале выпуска), точки, где слияние уже произошло. Затем разверните его (с помощью синхронизации файлов, если хотите, но это не обязательно) на локальном / промежуточном веб-сервере.

Выполните там любой тест, который вы запускаете на активном веб-сайте (то есть интеграционные и / или функциональные тесты). Если есть какие-либо ошибки и исправления, есть разные способы действительно применить исправления к хранилищу кода разработки и размещения. Только после этого вы размещаете промежуточный репозиторий на рабочем веб-сервере (опять же, средства синхронизации являются одним из способов сделать это).

...