СВН ветка в ствол - PullRequest
       19

СВН ветка в ствол

0 голосов
/ 09 января 2019

Прежде всего, я должен сказать, что я не слишком разбираюсь во внутренней работе SVN, но мне было особенно трудно либо найти правильную информацию, либо действительно понять, что я получил. Пока что я могу сказать, что мы все используем последнюю версию TortoiseSVN под Windows, и нам нравится ее легкая функция объединения.

Извините, если я объясню больше, чем необходимо, я не знаю, могу ли я отклонить здесь какую-либо важную деталь ... Несколько лет назад наша группа выпустила ромак Sonic the Hedgehog на Sega Genesis / MegaDrive, Mobius Evolution 1 v3.6. У меня все еще есть копия исходного кода этой версии, но я не могу выпускать никаких «официальных» обновлений, потому что его ведущий создатель больше недоступен. После этой первой игры я получил задачу отвечать за продолжение Mobius2. В то же время я работал над улучшениями и исправлениями ошибок для Mobius1. Поскольку я не могу выпустить v3.7 с помощью «прямых» средств, я подумал о следующем: если предположить, что Mobius2 - это CartA, а Mobius1 - это CartB, он может работать как в S3 & K, где вы можете складывать CartB в CartA и «комбинировать» игры. , Игрок может связать Mobius1 v3.6 с Mobius2, и Mobius1 v3.7 может быть воспроизведен.

Это структура SVN:

trunk\<Mobius2>
branches\Mobius1\<Mobius1 v3.7>
branches\Mobius1Bkp\<Mobius1 v3.6>

Там, где мы живем, наши соединения медленные, поэтому мы стремимся сделать коммиты как можно меньшими, минимально необходимыми. Как работает Lock-On (основной): при подключении ПЗУ из CartB появляется с адреса 0x00200000, что означает, что, хотя все это доступно для чтения, мы не можем запустить любой из его кодов (все, что использует абсолютную адресацию, обязательно завершится сбоем). Поэтому CartA должна также содержать программу Mobius1 v3.7, но считывать музыкальные и художественные файлы из CartB (именно поэтому v3.6 все еще сохраняется, поэтому у нас все еще есть адреса ПЗУ для указанных файлов). В это время, когда мои друзья работают над Mobius2, я дорабатываю последние детали, поэтому я начинаю портировать v3.7 обратно. Программа Init и несколько библиотек здесь будут другими, и, скорее всего, мне придется впоследствии внести дополнительные изменения в репозиторий Mobius1.

Есть ли способ, я мог бы иметь ТОЛЬКО ЧАСТЬ последней ветки Mobius1, в Mobius2, сделать ее необязательной (сделать так, чтобы любой, кто не в настроении мог пропустить ее загрузку), нужно было бы обновить обе ... отдельно (?) и пропуская ненужные файлы, такие как старый скрипт сборки или PrgInit?

или, Вы бы предложили другое соглашение?

Большое спасибо!

...