Есть ли альтернативы Floobits с GIT/CVS, такие как редактирование логов
Я люблю Floobits, но для этого проекта мне нужна альтернатива, которая отслеживает, кто и когда вносит изменения в документ, особенно потому, что мы делаем этот проект как часть степени, а преподаватели хотят, чтобы отслеживать, кто содействие командной работе.
Они предложили GIT и CVS(Subversion) по понятным причинам (широко используются, отраслевой стандарт и т. Д.), Но, честно говоря, я ненавижу эти системы, потому что они не работают, когда вам нужно, чтобы несколько человек могли редактировать код в то же время. Отсюда мое открытие и использование Floobits. Я знаю, что вы можете запускать Floobits и GIT параллельно (с поддерживаемой IDE, мы будем использовать IDE, встроенную в Jetbrains, мы, вероятно, будем использовать Java, поэтому, вероятно, это будет IntelliJ), но когда мы сделаем коммит в GIT, все изменения будут быть зачисленным на тот, кто сделал толчок. Так что.... это не вариант.
Не нужны мнения. Просто решение проблемы, конечно, я не первый человек, который столкнулся с этой проблемой!?
Я буду принимать взломы, которые включают пользовательские настройки сервера, если настройка "конечного пользователя" не слишком сложна.
1 ответ
Итак, на данный момент нет ни протокола, ни службы, обладающей функциями, необходимыми для соответствия приведенному выше описанию (я собирался просто отредактировать свой вопрос, но это действительно как ответ на решение, хотя бы до тех пор, пока такой человек, как я, фактически не реализует прототип.)
На этом этапе хорошим решением был бы облачный редактор, работающий на асинхронной серверной системе, такой как Node.js (cloud9 работает аналогично тому, что требуется), где было бы возможно поддерживать синхронность на уровне редактора независимо от каждого сотрудника. изменения в их копии файлов. Система была бы отладкой боли, но однажды работающая
Каждый новый пользователь может: 1. Войти с помощью учетной записи GIT/CVS/Mercurial. 2. Среда будет клонировать копию последнего кода. 3. Затем они могут редактировать в режиме реального времени и видеть другие изменения по мере их внесения. 4. Затем выполняйте коммиты и извлекайте файлы, основываясь исключительно на коде, содержащемся в их копии файлов, при этом они по-прежнему могут видеть другие не зафиксированные изменения (такие изменения должны быть помечены как таковые, заблокированы, чтобы предотвратить параллельное редактирование, если это не было предложено первоначальный автор [ограниченное совместное программирование] и помеченный идентификатором автора оригинала.
Компоненты системы как предложено:
- Сервер Node.js (простой)
- HTML-синхронизированный редактор в реальном времени (легко)
- Интеграция GIT для каждого пользователя с соответствующим разделением синхронизированных копий файлов с сохранением изменений, внесенных в режиме реального времени. (не просто)
- Объедините 2 и 3 в единую систему (я делаю изменение: моя копия файлов обновляется, а общая среда редактирования отображает заблокированный участок кода с исходным кодом соответствующих пользователей параллельно с внесенными мною изменениями (разница в GIT) разрешение в стиле GUI); другие вносят изменения: мой код не затронут, но я вижу изменения, которые они внесли, однако я не могу внести изменения в свою копию этого блока кода)
В будущем
- Разрешить параллельные изменения в одном и том же блоке кода и разрешить всем пользователям видеть все различные изменения для каждого раздела кода, которые не были зафиксированы в центральном хранилище. Все пользователи имеют доступ к практически неограниченному количеству форков основной кодовой базы, но они содержат код только для определенного раздела документа, а не для всего проекта.
Простейшее разрушение, которого я могу достичь, если вы все еще не получаете его. (Я перечитываю это, и моя голова кружится). Мы используем две параллельные системы управления версиями.
- Верхний уровень (редактор) принимает изменения по мере их внесения и делает их доступными для всех пользователей, показывая, кто внес соответствующие изменения.
- Второй уровень (традиционный метод) поддерживает разделение кода каждого пользователя и фиксирует изменения только после того, как изменения пользовательского запроса будут объединены с центральным хранилищем.
Теоретически, так работает существующая система, но... нет простого способа просмотра разветвлений кода других людей, пока они еще редактируют. Если вы не используете веб-системы, такие как Github или Stash. И даже тогда вы не сможете увидеть код до тех пор, пока они не перейдут к своему форку, и я снова и снова видел файлы, которые настолько устарели для центрального репо, что GIT не может разрешить изменения, сделанные на вилке с другие изменения, которые уже были объединены, потому что номера строк и код изменились так сильно.
Во всяком случае, это мое решение проблемы. Я знаю, что многие люди довольны нынешними несинхронными системами, которые уже используются, но... Исходя из моего опыта совместной работы в UNI, существует огромная потребность в некоторой форме среды синхронного редактирования, в то же время предлагая подотчетность обеспечивается существующими системами GIT/CVS/Mercurial.