[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 3 | 1 | 2
Назад Вниз Каталог Обновить

Вопрос для знатоков GIT и любителей потрахать мозг Аноним 16/11/16 Срд 02:27:50  876482  
branching-illus[...].png (17Кб, 778x502)
55e4c75510c933a[...].jpg (18Кб, 300x300)
Дано:

1. github репозиторий с оригинальным часто-обновляемым софтом, назовем его EBASOFT_OPENSOURCE
2. SVN платный форк этого EBASOFT_OPENSOURCE + платные приват плюшки, назовем его EBASOFT_SVN которые продают за денежки, и автор забил сливать коммиты с EBASOFT_OPENSOURCE в EBASOFT_SVN
3. Уже на базе EBASOFT_SVN (оно же EBASOFT_OPENSOURCE + плюшки) инициализирован свой GIT репозиторий EBASOFT_MYREPO


Кодобаза не сильно отличается (5-6% отличается, не более) между EBASOFT_OPENSOURCE, EBASOFT_MYREPO, EBASOFT_SVN.

Текущая проблема:
============
Автор EBASOFT_SVN забил обновлять свой софт, а EBASOFT_OPENSOURCE далеко шагнул в развитии, разница между коммитами которые нужно слить около 6 месяцев (или около 200+ коммитов).

Нужно:
=====
Каких-то хуем слить все патчи из EBASOFT_OPENSOURCE и накатить на EBASOFT_MYREPO в полуавтоматическом либо автоматическом режиме.

В чем собственно проблема? В том, что блядь используется одна кодобаза, но репозитории все абсолютно разные, и имеют совершенно разную структуру и не знают о существовании друг друга по коммитхистори, следовательно простые git format-patch && git am не пройдут.

Что можно делать безболезненно:
=====================
Открывать страницу EBASOFT_OPENSOURCE и начиная от тех изменений (определяются по отсутствию функционала вручную), и каждый недостающий коммит от старого к новому добавлять вручную копируя строки кода прямо из редактора в свой EBASOFT_MYREPO, причем в 99% случаев все коммиты стают как родные, т.е. все + находятся, все - так же, и тупо копи-пастой все вручную делается на ура. Но раз обычный search & replace работает нормально, то почему GIT не справиться с этим?

Нужно:
=====
Нужно короче автоматизировать процесс выдерания коммитов из EBASOFT_OPENSOURCE от старого к новому, а потом поштучно применять его в EBASOFT_MYREPO, причем еще раз уточню важную деталь: все эти репозитории ничего не знают с точки зрения GIT друг о друге абсолютно! Они все инициализированы отдельно в разное время, и не знают о коммитах друг друга, единственное что их объеденяет это кодобаза, 90-95% кода идентично между всеми тремя репозитория, ну за исключением обновлений, которые и хотелось бы забрать из EBASOFT_OPENSOURCE в EBASOFT_MYREPO путем выдергивания коммитов в порядке от старого к новому, и таким способом поддерживать в актуальном состоянии свою репу с изменениями.

Собственно - как такое реализовать? Кто-то сталкивался с подобным? Руками - дело дрянь, т.е. можно, но очень и очень долго, и причем повторяются одни и те же действия из разу в раз, но хочется почувствовать силу GIT ведь строки вручную с помощью поиска я то нахожу, почему их GIT не может так же находить, и применять патчи безболезненно как и я? (сейчас он так не может в виду того, что гит забинжен на репу EBASOFT_OPENSOURCE)

Кто и как решает подобные проблемы?


Аноним 16/11/16 Срд 11:45:20  876564
Чому бы тебе не сделать ветку с того коммита из опенсорс, с которого сделан форк. Потом можно одним большим комитом накатить изменения форка ну или кучкой нормальных, у тебя же есть свн лог. Так у тебя будет хотя бы общая точка, можно будет черипикнуть что-нибудь или rebase.

2-недели-в-гите-не-знаю-что-говорю
Аноним 16/11/16 Срд 12:46:51  876589
>>876564

630+ тысяч строк кода на Си, около 30 тысяч строк кода кастомных изменений разбросаны по всему коду в 200+ файлах. Даже с Araxis Merge вручную переносить весь код от этого уебана на новую ветку - это чревато. Плюс этот конь раз в пол года все же обновляет эмуль, а мне эти пол года очень критичны.
Аноним 16/11/16 Срд 12:49:28  876592
Видимо нашел: https://git.wiki.kernel.org/index.php/GraftPoint

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 3 | 1 | 2
Назад Вверх Каталог Обновить

Топ тредов
Избранное