OberonCore
https://forum.oberoncore.ru/

Применимость системы контроля версий
https://forum.oberoncore.ru/viewtopic.php?f=26&t=3384
Страница 1 из 4

Автор:  Пётр Кушнир [ Понедельник, 11 Апрель, 2011 09:34 ]
Заголовок сообщения:  Применимость системы контроля версий

Выделено: viewtopic.php?p=62263#p62263

да что за мучения, неужели SVN или Mercurial это такие трудноосваиваемые вещи! :D

Автор:  ilovb [ Понедельник, 11 Апрель, 2011 09:40 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

какие мучения?

Автор:  Пётр Кушнир [ Понедельник, 11 Апрель, 2011 09:53 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

файлы в аттачах

Автор:  ilovb [ Понедельник, 11 Апрель, 2011 09:56 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

Для вас так мучительно клацнуть на аттач? :D

Автор:  ilovb [ Понедельник, 11 Апрель, 2011 10:04 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

Ладно, я стебаюсь :D

Спасибо за совет конечно. Но это, извините, лекарство от вымышленной проблемы

Автор:  Info21 [ Понедельник, 11 Апрель, 2011 10:35 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

ilovb писал(а):
это, извините, лекарство от вымышленной проблемы
Значит, не у меня одного такие подозрения :)

Автор:  Иван Кузьмицкий [ Понедельник, 11 Апрель, 2011 10:59 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

ilovb писал(а):
Спасибо за совет конечно. Но это, извините, лекарство от вымышленной проблемы
Контроль версий исходников решает вымышленные проблемы? Вы это серьёзно?

Автор:  Илья Ермаков [ Понедельник, 11 Апрель, 2011 11:23 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

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

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

В итоге, всё же, Subversion приходится использовать, пока нет чего-то своего.

Автор:  ilovb [ Понедельник, 11 Апрель, 2011 11:28 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

Иван Кузьмицкий писал(а):
... решает вымышленные проблемы? Вы это серьёзно?


В ДАННОМ случае ДА.

SmartLight написана за 15 минут из нужды. Это тулза из разряда "сделаю-ка я себе выдвигалку dvd, чтоб пальцем не тянуться"

Что тут контролировать то?

ps Я по работе сейчас почти каждый день пишу утилиты 1к - 1.5к строк кода. 2-3 версии и на полку. Не требует оно контроля версий

Автор:  Евгений Темиргалеев [ Понедельник, 11 Апрель, 2011 11:31 ]
Заголовок сообщения:  Re: Smart - всякие полезности, облегчающие кодинг в BlackBox

Info21 писал(а):
ilovb писал(а):
это, извините, лекарство от вымышленной проблемы
Значит, не у меня одного такие подозрения :)
Уточнение: "Проблема вымышлена", пока разработчик один --- сам написал, сам выложил. Как в данном случае.

Для коллективной работы всё меняется местами с точностью до наоборот. Неиспользование системы контроля версий усложняет работу на порядки.

Бывают случаи "однонаправленной" коллективной работы. Когда с одной стороны один разработчик работает сам по себе, а с другой, на базе его результатов идёт некая производная работа. Проблемы тут те же, но в силу однонаправлености их объективно и заслуженно расхлёбывает другая сторона.

P.S. В иделе, как упомянул тов. Ермаков, система контроля версий работает "внизу" автоматически. Пока это не доступно, приходится тратить немного усилий на её задействование вручную. В случае коллективной работы эти усилия окупаются сторицей.

Автор:  Пётр Кушнир [ Понедельник, 11 Апрель, 2011 11:59 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

А для ББ критическим местом является бинарный формат хранения сосдоков и, соответственно, невозможность diff'а

Автор:  Евгений Темиргалеев [ Понедельник, 11 Апрель, 2011 12:06 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Пётр Кушнир писал(а):
А для ББ критическим местом является бинарный формат хранения сосдоков и, соответственно, невозможность diff'а
Это не критическое место, а решаемая проблема, для которой нету готового решения.

Алгоритм "F9" для составных документов --- частичное решение. Но diff --- покрывает.

P.S. Вариант использовать готовый plain-text diff --- гнать ему ББ-й исходник через трубу конвертером. А?

Автор:  Пётр Кушнир [ Понедельник, 11 Апрель, 2011 12:33 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

в SVN воткнётся? а в другие cvs'ки?

Автор:  Info21 [ Понедельник, 11 Апрель, 2011 13:12 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Как насчет такой схемы: сидит ББ, к сети подключенный.
У него там все модули и доки с одинаковым именем пронумерованы.

Если, скажем, чел засылает туда измененный док, то ББ его принимает, дает номер и садит поверх старых.
Если это модуль, то ББ его компилит, и если не компилится -- дает отлуп.
Иначе оставляет сей модуль с новым номером и текущим моментом.

Аналогично если засылается последовательность модулей: компилируется всё тупо в том порядке, который чел указал, и если некомпайл, то отлуп и перекомпиляция/восстановление старых, попавших под новую компиляцию (список же под рукой), снова в том же порядке.

Можно опцию про проверку интерфейсов (по умолчанию запрещать изменение; отследить легко).

И всё. Никаких diff. Юзай F9, кому надо сравнивать. Только возможность получения старых версий -- по дате или по номеру etc.

Польза diff при живых модулях неочевидна, а сложность порядочная, только путаться.
А всё остальное описанное -- вполне straightforward и не трудно, мне кажется.

Автор:  Роман М. [ Понедельник, 11 Апрель, 2011 13:45 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Я пришёл к выводу, что и при одиночной разработке полезно использовать системы контроля версий. Раньше страдал ерундой: запаковывал рабочие варианты каждого дня разработки в архив именованный с суффиксом даты, а в случае нужды отката - распаковывал из них. В случае, если была необходимость работы с другого компьютера, архивы нужно было копировать и на него. А потом ещё принимать в учёт синхронизацию между двумя машинами.

Так что лучшим выходом из положения является как раз система контроля версий. Я установил на домашний комп VisualSVN. В одной папке находится хранилище всех разработок (серверная часть) и регулярно выполняю запасную копию её на другие носители данных. В отдельной папке находятся рабочие версии (клиентская часть) разработок. Каждое изменение версии заносится в историю. Откаты версий - проще простого. Поскольку исходные коды храню в текстовых файлах в кодировке UTF-8, то всё прозрачно для любых систем контроля версий. В составных документах BlackBox храню лишь документацию и команды.
Более того, с VisualSVN появилась возможность получать доступ для просмотра файлов разработок через "сетевой смотритель" (тобишь, веб-броузер).

Автор:  Евгений Темиргалеев [ Понедельник, 11 Апрель, 2011 13:49 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Пётр Кушнир писал(а):
в SVN воткнётся? а в другие cvs'ки?
http://svnbook.red-bean.com/nightly/ru/ ... tools.diff
Наверное и без трубы можно (просто выгрузить соотв. конвертером), потом потом сравнивать стандартным diff-м.

В других, вероятно, diff-тулза настраивается аналогично...

Автор:  Роман М. [ Понедельник, 11 Апрель, 2011 14:00 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Внешние инструменты Diff - тоже вариант. Но зачём усложнять? :)

Автор:  Борис Рюмшин [ Понедельник, 11 Апрель, 2011 14:12 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Если мне склероз не изменяет, то в А2 применяют приладу (плагин) к WinMerge, которая позволяет сравнивать при помощи оного исходники А2, которые тоже не в текстовом виде. А используют они SVN для работы.

Автор:  Иван Кузьмицкий [ Понедельник, 11 Апрель, 2011 14:16 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Роман М. писал(а):
Я пришёл к выводу, что и при одиночной разработке полезно использовать системы контроля версий. Раньше страдал ерундой: запаковывал рабочие варианты каждого дня разработки в архив именованный с суффиксом даты, а в случае нужды отката - распаковывал из них. В случае, если была необходимость работы с другого компьютера, архивы нужно было копировать и на него. А потом ещё принимать в учёт синхронизацию между двумя машинами.


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

Автор:  ilovb [ Понедельник, 11 Апрель, 2011 15:08 ]
Заголовок сообщения:  Re: Применимость системы контроля версий

Иван Кузьмицкий писал(а):
... Бывало, всплывает старый клиент, который не обновлялся очень давно, с какой-нибудь проблемой. А у меня актуальна уже новая версия. Ему просто так не накатишь эту, новую - надо сперва воспроизвести проблему у себя (а без архива сборок это невозможно!), решить её, учесть накопленные различия и только тогда предлагать обновление.


А мы вообще мало надеемся на старые архивы. Удаленно или в натуре у клиента проблемы решаем

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/