OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 20 Март, 2019 22:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 09:34 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2559
Откуда: Россия, Ярославль
Выделено: viewtopic.php?p=62263#p62263

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 09:40 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
какие мучения?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 09:53 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2559
Откуда: Россия, Ярославль
файлы в аттачах


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 09:56 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
Для вас так мучительно клацнуть на аттач? :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 10:04 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
Ладно, я стебаюсь :D

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 10:35 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
ilovb писал(а):
это, извините, лекарство от вымышленной проблемы
Значит, не у меня одного такие подозрения :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 10:59 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
ilovb писал(а):
Спасибо за совет конечно. Но это, извините, лекарство от вымышленной проблемы
Контроль версий исходников решает вымышленные проблемы? Вы это серьёзно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 11:23 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
Если быть точными, то необходимый для более-менее коллективной работы инструмент - это сетевое хранилище для коллективной работы. Его функции - хранение, получение данных аутентифицированными пользователями, загрузка пользователями изменений с защитой от возможных конфликтов.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 11:28 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
Иван Кузьмицкий писал(а):
... решает вымышленные проблемы? Вы это серьёзно?


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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 11:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Info21 писал(а):
ilovb писал(а):
это, извините, лекарство от вымышленной проблемы
Значит, не у меня одного такие подозрения :)
Уточнение: "Проблема вымышлена", пока разработчик один --- сам написал, сам выложил. Как в данном случае.

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 11:59 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2559
Откуда: Россия, Ярославль
А для ББ критическим местом является бинарный формат хранения сосдоков и, соответственно, невозможность diff'а


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 12:06 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
А для ББ критическим местом является бинарный формат хранения сосдоков и, соответственно, невозможность diff'а
Это не критическое место, а решаемая проблема, для которой нету готового решения.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 12:33 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2559
Откуда: Россия, Ярославль
в SVN воткнётся? а в другие cvs'ки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 13:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
Как насчет такой схемы: сидит ББ, к сети подключенный.
У него там все модули и доки с одинаковым именем пронумерованы.

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 13:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Я пришёл к выводу, что и при одиночной разработке полезно использовать системы контроля версий. Раньше страдал ерундой: запаковывал рабочие варианты каждого дня разработки в архив именованный с суффиксом даты, а в случае нужды отката - распаковывал из них. В случае, если была необходимость работы с другого компьютера, архивы нужно было копировать и на него. А потом ещё принимать в учёт синхронизацию между двумя машинами.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 13:49 
Модератор
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 14:00 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Внешние инструменты Diff - тоже вариант. Но зачём усложнять? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 14:12 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4230
Откуда: Россия, Орёл
Если мне склероз не изменяет, то в А2 применяют приладу (плагин) к WinMerge, которая позволяет сравнивать при помощи оного исходники А2, которые тоже не в текстовом виде. А используют они SVN для работы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 14:16 

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


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Апрель, 2011 15:08 

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


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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB