Кто-либо действительно использует супер мерзавца / подпроекты?

Сначала установите пакет newtonsoft.json в Visual Studio, используя NuGet Package Manager, затем добавьте следующий код:

ClassName ObjectName = JsonConvert.DeserializeObject < ClassName > (jsonObject);
21
задан Makis 15 June 2009 в 13:38
поделиться

3 ответа

Используя подмодуль, вы определяете в своем рабочем пространстве Git (то есть в своем репозитории Git «суперпроекта») конфигурацию .
Под «конфигурацией» я имею в виду «список тегов или узла SHA-1, необходимых для работы в вашем рабочем пространстве».
(и под работой я имею в виду любые «усилия по разработке», которые вы делаете в своей рабочей области: классическая компиляция, или исправление, или слияние, или развертывание, или…).
Это тот случай, когда вы клонируете суперпроект и " git update " ваши подмодули: вы проверяете точные репозитории SHA1, которые ранее были зафиксированы в суперпроекте (записанном как gitlink в индекс ).

Другой режим - это когда вы работаете над вашим суперпроектом и над одним или несколькими субмодулями.
Это означает, что для данного подмодуля вы проверили конкретную ветку (вы больше не используете отдельный HEAD для содержимого этих подмодулей, а скорее указатель на конец ветки).
Затем «проталкивание подмодуля» означает обновление удаленного репозитория, содержащего этот подмодуль (и только этот).

Фактический трюк в этом последнем сценарии (который может заслужить ловушку, если вы хотите его) - это когда вы нажимаете суперпроект: вы должны быть уверены, что сначала разместили все свои подмодули.

Из учебного пособия по подмодулю :

Всегда публикуйте изменение подмодуля перед публикацией изменений в суперпроекте, который ссылается на это. Если вы забудете опубликовать изменение подмодуля, другие не смогут клонировать репозиторий (суперпроекта)

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

13
ответ дан 29 November 2019 в 21:32
поделиться

Если вы имеете в виду подмодули, то конечно.

Подмодули не знают и не должны знать везде, где они используются. Например, у меня есть один подмодуль, который используется в нескольких проектах, о которых я знаю (и, вполне возможно, в нескольких, которых я не знаю).

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

3
ответ дан 29 November 2019 в 21:32
поделиться

FWIW, мы пытаемся перейти на git, и наш проект ( bitweaver , система управления контентом) представляет собой высокомодульную систему с почти 160 репозиториями ). «Сборка» обычно содержит два десятка или более суб-репозиториев. Мы использовали «виртуальные модули» в CVS, и это сработало для нас фантастически, однако у CVS есть свои ограничения для промежуточных коммитов.

Подмодули Git имеют некоторые серьезные ограничения, и вам определенно следует оценить реализацию Mercurial, поскольку она, безусловно, более удобна и гибка для внешних / модульных проектов (т.е. поддерживает другие системы VCS, даже HgGit).

Вот самые большие проблемы:

  1. Каждый подмодуль жестко связан с конкретный коммит, когда вы «git submodule add» в суперпозитории. Это автор дизайн, и искал в качестве преимущества git, поэтому я не ожидал, что это изменится в ближайшее время. Это больно в система, подобная нашей, где коммиты всегда происходят в подмодули. Вы должны обновить супер проект, чтобы не отставать, или обновлять ваши дополнительные репо, которые нужно освоить после начальное обновление подмодуля. (видеть supergit ниже для нашего решения).

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

  3. Различные подводные камни , которые могут быть мучительными, особенно вещи, которые «незаметно перезаписывают изменения».

supergit

Мы написали сценарий вызова сценария оболочки , который справляется с некоторыми проблемами. Он выполняет клонирование, инициализацию подмодуля, обновление и мастер проверки одним махом.Он также будет выполнять команды git для всех каталогов в супер-репо индивидуально (своего рода массовая обработка git).

HTH, удачи.

12
ответ дан 29 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

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