Таки наиболее удобный вариант. На локальной машине держится репозиторий на mercurial. На сервере запущен apache с php и прочими вещами. NetBeans работает с автозаливкой при сохранении файла (каждый файл при любом изменении автоматически перезаписывает копию на удалённом сервере).
Профит — можно подключаться с любого устройства в пределах вашей сети (ноутбук с netbeans, десктоп и прочее).
Загрузка по SFTP занимает доли секунды (в локальной сети и того меньше).
Единственный минус такого решения состоит в потенциально возможной неразберихе среди файлов проекта на удалённом сервере при откате на старую ревизию в hg.
Для того, чтобы действия подобного рода были защищены от читерства/подмены, достаточно сделать обмен данными с сервером наподобие игры в «пинг-понг».
Мораль в том, что на клиенте пользователь выполнил некоторое действие, при этом у клиента есть некий временный токен (не идентификатор сессии). Клиент передаёт запросом GET/POST/etc. серверу сообщение о действии с включённым в сообщение токеном.
В это время в базе хранится информация о последнем действии с последним токеном от клиента. Если токен последнего действия и переданный клиентом совпадают — то генерируется новый токен. Свежеполученная информация о действии пишется в базу.
Ответ клиенту выдаётся со свежесгенерированным токеном. И так далее.
Для 90%-ой защиты добавляются таймауты токенов и создаётся механизм дальнейшего взаимодействия сервера с клиентом в случае прохождения таймаута.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Профит — можно подключаться с любого устройства в пределах вашей сети (ноутбук с netbeans, десктоп и прочее).
Загрузка по SFTP занимает доли секунды (в локальной сети и того меньше).
Единственный минус такого решения состоит в потенциально возможной неразберихе среди файлов проекта на удалённом сервере при откате на старую ревизию в hg.