By Rich Manalang, Developer Relations, Atlassian
Несколько недель назад я занимался реструктуризацией кода, написанного моим коллегой из Боулдера (сам я нахожусь в Сан-Франциско).
Я вообще-то довольно нетерпеливый, поэтому мне хотелось, чтобы коллега сразу посмотрел на те изменения, что я вношу. Сразу - то есть без всяких лишних церемоний и официальных бизнес-процессов, которые принято называть "ревью кода" и т.п. Я понял, что мне бы хотелось, чтобы коллега просто видел мой экран с кодом, видел, какие я вношу изменения в реальном времени. Я мог бы сделать следующее:
- Предложить ему сеанс демонстрации моего рабочего стола.
- Скопировать код на какой-нибудь хост-сайт и обсудить его через HipChat (сервис группового чата).
- Закоммитить измененный код в репозиторий Stash и послать коллеге запрос на подтверждение.
Один из этих вариантов вполне устроил бы большинство разработчиков, но не меня. Мы с Бобом и так детально обсуждаем изменения кода через HipChat, добавление возможности писать код совместно – вот это было бы идеально.
Воплощение в жизнь
Ситуация, описанная выше, случается со мной не в первый раз. Вообще-то она случается постоянно, и я уверен, не только со мной. Я давно мечтал о редакторе, который позволял бы совместное написание кода в реальном времени. Многие пытались создать нечто подобное, но, на мой взгляд, все было не то.
Так что несколько недель назад, когда мы с коллегой Тимом Петерсеном обсуждали, чем бы в этот раз заняться в рамках квартального ShipIt, я предложил решить именно эту проблему. Всего один день совместной работы, и мы предложили решение.
Stash Realtime Editor позволяет в реальном времени редактировать файлы напрямую из интерфейсов Stash, никаких копирований-клонирований, никаких IDE, никаких локальных редакторов. Вы можете поделиться ссылкой с коллегой и редактировать или проверять код вместе. После того, как нужные изменения сделаны, вы можете сразу закоммитить их в Stash без необходимости выполнять push в репозиторий. Ваш коммит будет сохранен отдельной веткой (branch) и впоследствии можно будет провести слияние простым pull-запросом.
Stash Realtime Editor встраивает real-time редактор напрямую в Stash, используя легендарный сервис Firebase и их крутой редактор Firepad, построенный на базе operaional transform (OT - теоретическая основа для управления конкуренцией в контексте группового редактирования).
OT делает real-time редактирование файлов надежным и предсказуемым и позволяет пользователю видеть, чем заняты другие пользователи (например, выделение, подчеркивание, правка и так далее).
Stash Realtime Editor продолжает работать даже при отсутствии сети. Предположим, вы работали с кем-нибудь над файлом, потом отключили ноутбук и продолжили вашу работу по пути домой. Дома, после подключения к сети, вы можете синхронизировать все сделанные в дороге изменения, и они будут синхронизированы именно так, как вы ожидали.
Stash Realtime Editor – бесплатная надстройка для Stash. Ищите на Atlassian Marketplace…
Оригинал статьи на сайте Atlassian: http://blogs.atlassian.com/2013/04/meet-the-stash-realtime-editor-add-on/