Как отлаживать старые версии программного обеспечения? - PullRequest
1 голос
/ 10 июля 2009

Примечание. В настоящее время используется Perforce в качестве инструмента CM.

В настоящее время я делаю несколько отладочных выпусков программного обеспечения [только файлы отладки (.pdb) и двоичные файлы (.dll и .exe)]. При каждом выпуске я проверяю все файлы, используемые для генерации двоичных файлов, в наш инструмент CM (базовый уровень). Затем я извлекаю файлы и продолжаю вносить изменения. В настоящее время, если существует проблема с одним из выпусков, такая, что нам необходимо отладить его, мне придется вернуть код обратно к используемой версии.

Мой вопрос: как мне отладить старые версии? Если я создаю ветку на основе только что созданной мной базовой линии, то я могу легко собрать предыдущую версию для отладки, но как быть дальше? Я не хочу переходить каждый раз, когда делаю базовый уровень (уверен, что не хочу этого делать).

Я знаю, что с VHDL вы можете создавать сборки с контрольными точками и использовать инструменты Xilinx для отладки любой встроенной версии VHDL. Есть ли аналогичный способ, которым мы можем сделать это в VS (возможно, с помощью файлов .pdb и некоторых внешних инструментов)?

Как вы делаете базовые ревизии, чтобы можно было легко отлаживать старую версию?

Ответы [ 3 ]

2 голосов
/ 10 июля 2009

Эрик Синк имеет фантастический Source Control HOWTO , который охватывает эту тему (и многое другое).

Я очень рекомендую прочитать это, потому что этот парень знает свое дело.

Вас больше всего заинтересует Глава 6: История и Глава 7: Ветви .

Этот материал действительно помог мне, когда я изучал стратегии контроля версий и выпуска программного обеспечения.

1 голос
/ 10 июля 2009

С p4 вам не нужно создавать ветку, чтобы идти «в прошлое». Все, что вам нужно сделать, это синхронизировать с соответствующим тегом или номером изменения. Например, если вам нужно было воссоздать версию 1.1 ProductX, а последним изменением в p4 было изменение номер 2000, вы можете сделать следующее:

p4 sync //depot/ProductX/...@2000

или, если использовался тег, такой как «Release1.1», вы можете сделать это:

p4 sync //depot/ProductX/...@Release1.1

или, если вы не можете понять это, вы можете даже попытаться синхронизировать данные в определенную дату. Такие как:

p4 sync //depot/ProductX/...@2009/02/01:12:15:00

Для получения дополнительной информации в p4 относительно версий файла, попробуйте это:

p4 help revisions
0 голосов
/ 10 июля 2009

предупреждение - было некоторое время для меня и выступления:

Что касается перформанса, я бы, наверное, пошел вперед и "пометил" каждый релиз (в перформансе тегирование файлов создает метку)

Затем вы можете проверить тег для его отладки. Если , вам нужно внести изменения и выпустить «исправление» для этой старой версии, вы можете создать ветку из этого тега, а не из HEAD.

Пометка довольно проста, "p4 tag -l release2.0 //depot/bch/..."

Ветвление из тега не так уж сложно, вам нужно создать новую ветвь и затем интегрировать из метки источника: "p4 integrate -b [branchname] -s //depot/bch/...@release2.0 «

Обратите внимание, что вы также можете пометить предыдущие (исторические) версии кода или создать ветки из предыдущих коммитов.

...