Как сохранить общедоступные и частные версии мерзавца repo в синхронизации?

javax.json-api-1.0.jar содержит только API, который существует для зависимости времени компиляции. Но если вы хотите запустить свое приложение, вам нужны provider / impl классы.

org.glassfish:javax.json - это необходимая банка, в которой содержатся оба класса api + impl.


    org.glassfish
    javax.json
    1.0.4

См. Эту тему для более подробной информации .

28
задан Callmeed 16 June 2009 в 00:05
поделиться

2 ответа

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

  • определил публичную часть как независимый репозиторий (который вы можете нажимать, когда вам нужно)
  • определил частную часть как другой независимый репозиторий
  • использовал подмодули для включения вашей публичной части в вашем частном репозитории

. Таким образом, вы работаете со всей системой (публичное приложение Rails + частная система оплаты), но отправляете только публичную часть на GitHub, и вы можете переместить всю систему (частную + публичную) в другую частный репозиторий (например, на резервной машине).


Если частный код смешан с публичным ... тогда см. Talljoe 'ответ или ответ Якуба Наребски .

3
ответ дан 28 November 2019 в 03:39
поделиться

Самым простым решением было бы иметь частную ветку в вашем «частном» репозитории, то есть ветку, которая просто не помещается в публичный репозиторий.

Для этого вам, вероятно, потребуется либо указать все ветки, которые вы хотите отправить в общедоступный репозиторий, в конфигурации (вместо использования глобального зеркального отображения refspec + refs / *: refs / * ), либо осторожно нажать ветки вы хотите опубликовать и полагаться на поведение Git при нажатии совпадающих ветвей (тех, которые присутствуют на удаленной стороне), установив для параметра «push.default» текущее значение по умолчанию «сопоставление».

Если вы случайно нажмете свою частную ветвь, вы можете удалите его в удаленном репозитории (если он не настроен на запрет) с помощью "git push < remote >: refs / Heads / < «общедоступный» с изменениями, которые могут быть опубликованы для всего мира, «частный», которым вы не хотите делиться с другими или делиться только с выбранной группой людей, и, возможно, некоторые ветки функций, такие как «ticket-234» или «add-frobnicator» , которые не готовы увидеть даже выбранная группа. Этот репозиторий не является пустым, так как он не опубликован.

У него будет что-то вроде следующей конфигурации для отправки в «частный» репозиторий. Обратите внимание, что здесь явно задано поведение «сопоставления ветвей», см. git-pull страницу руководства:

[remote "private"]
        url = user@example.com:/srv/private/git/repo.git
        push = +:

« Частный репозиторий » - это открытый открытый репозиторий, доступный только избранным людям, например, он доступен для загрузки только через SSH. У него есть только готовые филиалы, то есть «государственные» и «частные» филиалы; либо эти ветки присутствовали при создании «частного» репозитория, либо были явно вытеснены («git push private ») из «рабочего» репозитория. Отправка из «рабочего» репозитория отправляет (передает) только соответствующие ветки, то есть только «открытые» и «частные» ветки.

«Частный репозиторий» имеет после обновления или после получения набор хуков, который перемещает «общедоступную» ветку только в «общедоступный репозиторий» (см. Ниже), если она была отправлена ​​туда (ну, он может безоговорочно).

" Открытый репозиторий "- это общедоступный открытый репозиторий, доступный для всех, например, он размещен на GitHub, и / или Gitorious, и / или repo.or.cz, или, возможно, обслуживается через git: // протокол с использованием git-daemon. Он содержит только «общедоступную» ветвь и использует update или pre-receive либо для принятия списка ветвей (здесь допускается только «общедоступная» ветка), либо для отклонения черного списка ветвей. (в этом примере нажатие на / создание «частной» ветки будет отклонено). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

public 'ветвь, и он использует update или pre-receive либо для принятия списка ветвей (здесь принимается только «общедоступная» ветка), либо для отклонения черного списка ветвей (в этом примере нажатие на / создание «частной» ветки будет отклонено). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

public 'ветвь, и он использует update или pre-receive либо для принятия списка ветвей (здесь принимается только «общедоступная» ветка), либо для отклонения черного списка ветвей (в этом примере нажатие на / создание «частной» ветки будет отклонено). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

и он использует update или pre-receive либо для принятия списка ветвей (здесь принимается только «общедоступная» ветка), либо для отклонения черного списка ветвей (в этом примере нажимает / создает "частный" филиал будет отклонен). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

и он использует update или pre-receive либо для принятия списка ветвей (здесь принимается только «общедоступная» ветка), либо для отклонения черного списка ветвей (в этом примере нажимает / создает "частный" филиал будет отклонен). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

или отклонить черный список веток (в этом примере нажатие на / создание «частной» ветки будет отклонено). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

или отклонить черный список веток (в этом примере нажатие на / создание «частной» ветки будет отклонено). Он обновляется автоматически при отправке в «частный» репозиторий.

Эта настройка может быть слишком сложной для ваших нужд; "частный" репозиторий в вашем случае может не понадобиться. В таком случае конфигурация в «рабочем репозитории» для прямой отправки в «публичный репозиторий» будет выглядеть так:

[repository "public"]
        url = ssh://example.com/srv/git/repo.git
        push = refs/heads/public:refs/heads/public

Надеюсь, этот пример поможет; однако, пожалуйста, прочтите документацию и не используйте ее вслепую.

32
ответ дан 28 November 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: