Крупномасштабный Legacy Powerbuilder с GIT или? - PullRequest
15 голосов
/ 08 июня 2011

Я оцениваю различные варианты контроля версий / источников для нашего наследия Приложение Powerbuilder (в PB11 теперь будет переходить на устаревшую версию 12 скоро). К этому моменту все управление версиями с очень ограниченным источником контроль был сделан внутри компании, где код может быть изменен многочисленные туристические консультанты, но изменения, как правило, подталкивают в база определенными владельцами кода модуля. Этот рабочий процесс был в порядке для в то время как когда компания была маленькой, но по мере того, как мы росли, более сложной. Это очень большое приложение. Я дам тебе цифры, чтобы понять масштаб, о котором мы говорим. До 40 PBLS с сотнями объектов в каждом. Около 500 МБ кода. Около 100 консультантов постоянно в дороге, любой из них может быть внесение базовых изменений, которые затем передаются владельцам кода.

Так что после прочтения и оценки различных вариантов я был действительно В восторге от распределенных систем контроля версий. Я был еще больше взволнован, когда я обнаружил, что на самом деле есть прокси GITSCC, сделанный PushOk, чтобы заставить Powerbuilder работать с GIT. Когда я попробовал это с небольшое приложение, я был приятно удивлен, что это сработало и работал относительно хорошо, за исключением некоторых причуд. Однако что было интересно / тревожно, что я не могу найти ни одного поста в сети кто-нибудь говорил об использовании GITSCC с Powerbuilder. Даже На форуме PushOK GITSCC было только одно сообщение (не для Powerbuilder) пока я не создал еще два. Однако, как только я поместил наше основное приложение под GIT, используя GITSCC, я заметил серьезные проблемы с производительностью при обновлении статусов PBL.

Итак, пара вопросов, с которыми, я надеюсь, кто-то может мне помочь:

  1. Есть ли кто-нибудь, кто успешно использует GIT с Powerbuilder. Если Итак, каков ваш рабочий процесс?

  2. Когда я обновляю статусы PBL, я заметил, что есть два операции, которые очень трудоемки:

    • В журнале будет указано «Получение расширенной информации о состоянии для файлы: Это выполняется один объект на время с каждым объектом занимает около 1 секунды. Как вы можете себе представить, мы говорить о часах, если мы освежаем тысячи объектов.

    • Иногда я получаю похожее поведение, но с сообщением "выполнение различий". То же самое - около секунды на объекты. принимает навсегда. На вкладке управления исходным кодом свойств рабочей области я делаю отключить "выполнять изменение при обновлении статуса". Я не получаю такое поведение каждый раз, я нажимаю на PBL, но как только он начинает это делать, тебе лучше быть готовым к долгому обеду. Любой способ избежать / улучшить это поведение. Это будет шоу-пробкой, как так же, как я любил GIT. Я видел, что у некоторых людей были похожие проблемы с другие системы контроля версий, так что я думаю, что это либо делать с Powerbuilder или прокси. Все, что я могу настроить в pb.ini или другие места для улучшения производительности?

  3. Есть ли кто-нибудь, кто использует другие распределенные системы контроля версий? Есть ли способ заставить Mercurial работать с PB? Я не мог найти ни одного прокси для этого.

  4. Наконец, есть ли другая система, которая, по вашему мнению, будет работать хорошо с нашим рабочим процессом?

Я пытался получить некоторые ответы от PushOK, но до сих пор их поддержка не отвечала. Я также пробовал форум по управлению исходными кодами Powerbuilder, но с таким небольшим количеством членов в этой группе я надеюсь, что мне повезет больше на SO.

Любая помощь очень ценится!

Ответы [ 4 ]

6 голосов
/ 30 мая 2012

Наконец, есть ли другая система, которая, по вашему мнению, будет хорошо работать с нашим рабочим процессом?

Если вы готовы изучить использование Subversion, тогда Agent SVN - это подключаемый модуль MS-SCCI, который объединяет PowerBuilder и Subversion.

Вот ссылка описывает, как это работает.

3 голосов
/ 09 июня 2011

Powerbuilder известен тем, что переставляет код в экспортированных исходных файлах.Это не очень хорошо сочетается с изменениями других людей в DVCS.Автоматическое объединение может повредить файл экспорта PowerBuilder.Слияние вручную утомительно и подвержено ошибкам с помощью обычных инструментов сравнения.Единственный известный мне инструмент, который может правильно объединить файлы PB Classic, - это ProDiff (урожденная PBDelta).До сих пор я не мог придумать рабочий процесс с использованием DVCS с PowerBuilder Classic, который не был бы более болезненным, чем то, что вы делаете сейчас.

0 голосов
/ 25 мая 2019

Я смотрю на приложение TFS to Git bridge на Github (из всех мест) и хочу его разветвить и заставить работать на VSS.Из того, что я понимаю, в PowerBuilder все то же самое, но мост заставляет вещи происходить в Git, но не цитируйте меня.

Я думаю, что VSS похож на TFS, за исключением того, что оба они стоят корпорациям миллионыдолларов в день (вместе взятые) в результате потери производительности или поврежденных баз данных.Если кто-то чувствует, что я сказал, что это преувеличение, я открыт для критики, а не эксперт.

0 голосов
/ 08 июня 2011

Я использовал Git для управления множеством различных технологий и документов.У вас не должно быть проблем.

Убедитесь, что люди часто толкают и часто берут.Это обеспечит частое распределение объектов, поэтому, когда вы захотите выполнить интенсивную операцию, вам не нужно будет ждать окончания гигантской выборки.

Придерживайтесь Git поверх Mercurial.Это может восприниматься как мнение, но я не уверен, что что-либо из этого даст вам больше гибкости и возможностей, чем git.

Я бы настоятельно рекомендовал подключиться к каналу #git irc.Там всегда много полезных людей.

Надеюсь, это поможет.

...