Я разрабатываю проект с открытым исходным кодом, который предназначен как для компании под одним именем, так и для сообщества под другим именем. Я хотел бы иметь возможность легко передавать изменения от одного к другому, но имя и лицензия разные, поэтому я не знаю, как просто применять модификации от одного к другому. Приведем пример:Разработка проекта с двумя именами?
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentA
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentA
Теперь рассмотрим, что я модифицируя содержание projectTwo:
contentA -> contentB
я получаю:
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentA
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentB
Я хотел бы иметь возможность легко модифицируйте ProjectOne, но сохраняя собственную лицензию, название пакета и проекта ...
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentB
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentB
В моем проекте используется Maven для зависимостей, Netbeans как IDE и git для управления версиями. Есть ли трюк (ветвь, плагин ...), который может помочь мне сделать это?
Почему бы не разветвить проекты, чтобы иметь две версии? – Unihedron
Хорошо, кажется хорошим началом. Поэтому я развивал проект. Затем я меняю каждый «ProjectOne» на «ProjectTwo» во всех файлах моей вилки. Затем я хочу, чтобы все другие изменения были перепрограммированы из одного проекта в другой, за исключением первоначальной смены имен. Как я могу это сделать ? – Sharcoux
Если вы используете fork, вы закончите слияние новых функций с обоими. И тогда новая функция изменяет эти файлы, а затем будет распространяться. Предложение состоит в том, чтобы работать только с одним проектом и сценарием, что нужно скопировать (его операция копирования/вставки в конце, правда?), Так как вы не используете код ProjectB. Имеет ли это смысл? – Lovato