Масштабирование Legacy Powerbuilder с GIT или?
Я оцениваю различные варианты управления версиями/источниками для нашего наследия
Приложение Powerbuilder (теперь в PB11 будет перенесено на устаревшее 12
скоро). К этому моменту весь контроль версий с очень ограниченным источником
контроль был выполнен внутри компании, где код можно
много путешествующих консультантов, но изменения, как правило,
базы с помощью определенных владельцев модулей кода. Этот рабочий процесс был
когда компания была маленькой, но по мере того, как мы росли, стало больше и
более сложной. Это очень большое приложение. Я дам вам
номера, чтобы получить представление о масштабе, о котором мы говорим.
До 40 PBLS с сотнями объектов в каждом. Около 500 МБ кода.
Около 100 консультантов постоянно находятся в дороге, любой из них может быть
делая изменения базы, которые затем передаются владельцам кода.
Итак, после прочтения и оценки различных вариантов, я был действительно
в восторге от систем управления распределенной версией. Я был еще больше
когда я обнаружил, что на самом деле есть прокси-сервер GITSCC, созданный
PushOk, чтобы заставить Powerbuilder работать с GIT. Когда я попробовал это с
небольшое приложение, я был приятно удивлен, что он сработал и
работали относительно хорошо, за исключением некоторых причуд. Однако что было
интересно/тревожно, что я не могу найти ни одного сообщения в сети
кто-нибудь говорит об использовании GITSCC с Powerbuilder. Даже
На форуме PushOK GITSCC было только одно сообщение (не-Powerbuilder)
пока я не создал еще два.
Однако, как только я поставил наше основное приложение под GIT с помощью GITSCC, я
заметили основные проблемы с производительностью, обновляющие статусы PBL.
Итак, теперь несколько вопросов, которые, я надеюсь, кто-то может мне помочь:
-
Есть ли кто-нибудь, кто успешно использует GIT с Powerbuilder. Если
так, что ваш рабочий процесс?
-
Когда я обновляю статусы PBL, я заметил, что есть два
операции, которые очень трудоемки:
-
В журнале будет сказано: "Получение расширенной информации о состоянии для
файлы:. Это выполняется одним объектом при
время с каждым объектом занимает около 1 секунды. Как вы можете себе представить, мы
говоря о часах, если мы освежаем тысячи объектов.
-
Иногда я получаю подобное поведение, но с сообщением
"выполнение diff". То же самое - около секунды на объекты. принимает
навсегда. На вкладке управления источником свойств рабочей области я
отключить "выполнить diff on status update".
Я не получаю это поведение каждый раз, я нажимаю на PBL, но как только он
начинает делать это, лучше быть готовым к длинному обеду.
Любой способ избежать/улучшить это поведение. Это будет показательный стоппер, как
как я любил GIT. Я видел некоторых людей, имеющих схожие проблемы с
другие системы управления версиями, поэтому я думаю, что это либо что-то
делать с Powerbuilder или прокси. Все, что я могу настроить в pb.ini
или в других местах для повышения производительности?
-
Есть ли кто-нибудь, кто использует другие распределенные системы контроля версий?
Есть ли способ заставить Mercurial работать с PB? Я не мог найти
прокси для него.
-
Наконец, есть еще одна система, которая, по вашему мнению, будет хорошо работать
с нашим документооборотом?
Я попытался получить ответы от PushOK, но пока их поддержка не отвечает. Я также попробовал форум управления источниками Powerbuilder, но с таким количеством членов в этой группе я надеюсь получить больше удачи в SO.
Любая помощь очень ценится!
Ответы
Ответ 1
Наконец, есть ли еще одна система, которая, по вашему мнению, будет хорошо работать с нашим документооборотом?
Если вы готовы изучить использование Subversion, тогда агент SVN является плагином MS-SCCI, который объединяет PowerBuilder и Subversion.
Здесь ссылка описывает, как она работает.
Ответ 2
Powerbuilder печально известен для переупорядочения кода в экспортированных исходных файлах. Это не очень хорошо сочетается с другими изменениями в DVCS. Автоматическое слияние имеет хорошие шансы повредить файл экспорта PowerBuilder. Слияние вручную является утомительным и подверженным ошибкам с помощью обычных инструментов сравнения. Единственный инструмент, который я знаю об этом, может правильно объединить файлы PB Classic, это ProDiff (nee PBDelta). До сих пор я не мог думать о рабочем процессе, используя DVCS с PowerBuilder Classic, который не более болезнен, чем то, что вы делаете сейчас.
Ответ 3
Я использовал Git для управления множеством различных технологий и документов. У вас не должно быть проблем.
Убедитесь, что люди часто нажимают и часто выбирают. Это гарантирует, что объекты будут распространяться часто, поэтому, когда вы хотите провести интенсивную операцию, вам не придется ждать завершения гигантской выборки.
Придерживайтесь Git над Mercurial. Это можно рассматривать как мнение, но я не уверен, что что-то там даст вам больше гибкости и возможностей, чем git.
Я очень рекомендую входить в канал # git irc. Там всегда много полезных людей.
Надеюсь, что это поможет.
Ответ 4
То, на что я обращаю внимание, - это приложение моста TFS к Git на Github (из всех мест) и хочу его раскошелиться и заставить работать на VSS. Из того, что я понимаю, в PowerBuilder все то же самое, но мост делает вещи в Git, но не цитируйте меня.
Я думаю, что VSS похож на TFS, за исключением того, что обе они обходятся корпорациям в миллионы долларов в день (вместе взятые) в виде потери производительности или поврежденных баз данных. Если кто-то чувствует, что я сказал, что это преувеличение, я открыт для критики, а не эксперт.