Шукаєте інструмент для автоматичної двосторонньої синхронізації SFTP з локальною папкою


9

Я використовую OS X для розробки і хочу натиснути зміни на сервер розробників на кожному ⌘ + S.
Коли я перевіряю іншу гілку, я хочу, щоб локальна папка була відповідно оновлена.

Тому я зрозумів, що мені потрібно автоматичне рішення з двосторонньою синхронізацією .

Мій редактор на вибір - Sublime Text (що приголомшливо, ви повністю повинні це перевірити).
Я розпочав свій пошук із плагіна Sublime Text SFTP від Вілла Бонда, але виявив його нестабільним та повільним.

Тоді я напав на проблему з панічною передачею .
Це приголомшливо красиво. Однак і мені це не допомогло.

Transmit пропонує два варіанти:

  • двостороння синхронізація між локальною та віддаленою папкою;
  • підключити SFTP до файлової системи.

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

Монтаж SFTP чудовий - на жаль, він має основні недоліки: пошук файлів передбачувано повільний і , здається, немає можливості сказати Transmit, що файли змінилися на сервері . Щоб переглянути віддалені зміни, вам потрібно відключити та встановити знову. Це робить гілки неможливими для роботи.

Зараз я справді розгублений, і мені не здається витрачати пару годин на неправильне рішення. Я відкритий для пропозицій щодо інструменту для поліпшення мого робочого процесу.

Ось що я знайшов поки що. Я не впевнений, що хтось із них насправді може дивитися віддалену папку за змінами.

  • написання деякого AppleScript для синхронізації Передавати обидва способи кожні десять секунд;
  • використання rsyncта дії папок ;
  • використання rsyncіFSEvent ;
  • використання DoubleDown (відкритий код);
  • придбання FolderWatch (комерційний);
  • робити щось інше.

Зауважте, що я шукаю рішення, яке працює нестандартно . Я не хочу засіб, який не може обробляти нові / змінені / видалені файли чи папки, не поширюючись з його вихідним кодом.


Чому б просто не використовувати хороший IDE, який може допомогти вам це зробити?
Thorbjørn Ravn Andersen

Відповіді:


5

Старе питання, але ось моя відповідь:

Я використовую інструмент Unix під назвою Unison . Це інструмент командного рядка, який дозволяє здійснювати двосторонню синхронізацію.

Добре в тому, що він налаштований дуже сильно: ігноруйте певні імена файлів, каталогів, синхронізуйте кілька папок, яка сторона виграє в конфлікті, багато іншого.

Погано в тому, що ви не повинні боятися командного рядка, і сервер, і клієнт повинні встановити Unison; обидві установки повинні бути однаковою версією та побудовані з однаковою версією OCAML.

Але я використовував його кілька разів на годину щодня у робочий день, і це було приголомшливо - це дуже швидко, дуже легко звільнитися з командного рядка.


1

Чи думали ви використовувати щось на зразок Git? Хостинг файлів на GitHub або налаштування власного сервера git.

Це має допомогти: /programming/455698/best-visual-client-for-git-on-mac-os-x


1
Я використовую Git, однак у мене немає ноутбука для роботи на своєму ноутбуці, тому для перевірки кожної найменшої зміни я маю виконувати фіксацію та натискання. Це робить історію фіксації безглуздою і дещо нудною, хоча це саме те, що я зараз роблю, а ST2 & Github для Mac роблять досвід трохи веселішим і менш болісним.
День

1
Чи допомагає будь-яке з них? stackoverflow.com/questions/2275010 / ... або stackoverflow.com/questions/5054174 / ...
afragen

Я обов'язково погляну на ці питання, дякую тонну.
День

0

Наступний AppleScript дозволяє синхронізувати віддалену папку з локальною папкою за допомогою програми Transmit

https://github.com/lmullen/AppleScript---Transmit---sync-local-directory-to-FTP-directory

На жаль, за замовчуванням, здається, синхронізувати віддалену папку з локальною, і те, що я хочу, - навпаки: завантажити оновлені файли з сервера на мій комп'ютер.


^ github сторінка повертається 404
f01

0

Дуже давнє запитання, але, можливо, моя власна відповідь допомагає. Я також використовував SublimeText (я думаю, я все ще десь отримав його), тому що мені подобається те, як він так швидко відкриває файли - особливо на старих Macs. Однак для більш серйозної роботи кращий ІДЕ, безумовно, краще відповідає вашим вимогам.

Оскільки ви добре в придбанні нового / іншого програмного забезпечення, спробуйте Coda Panic спробувати. Вам вже сподобався Transmit, який також є продуктом від Panic. Coda сидить між SublimeText та надскладними IDE, як-от скажімо, Eclipse, і він може робити все, що завгодно - тримати синхронізацію папок між вашим локальним комп’ютером та віддаленим сервером, публікувати та синхронізувати на вимогу, а також додатково зберігати ваш локальні дані також синхронізовані з GitHub, Google Code або будь-якою іншою популярною системою версій на основі Git або SVN.

Coda трохи постраждав від продуктивності в минулому (а саме в рендеринга коду в кольорі при швидкій прокрутці), але поточні версії були повністю оновлені і майже такі ж швидкі, як і SublimeText. Він також базується на плагінах - плагін PHP / JavaScript / HTML є обов'язковим, оскільки функції перевірки внутрішнього коду Coda у порівнянні не є зоряними. І сьогодні ви можете використовувати налаштування сервера передачі на Coda та навпаки, а також на будь-якому пристрої iOS, яким ви можете володіти, за допомогою своїх розумних додатків, які синхронізують налаштування між собою.

Це майже звучить як пропаганда для паніки ... Я б не згадав про Coda, якби ви не згадали про Transmit!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.