Как использовать Git-репозиторий в качестве взорвавшейся войны?

Я в следующей ситуации...

Я привык иметь возможность извлекать субпроект сервера Subversion в JBoss как взорванную войну: в моем случае я вызываю каталог Blah.war, помещаю его в C:\jboss-6.1.0.Final\server\default\ разверните \Blah.war, и JBoss сразу его подберет.

У меня проблемы с этим с Git. Репозиторий SVN, из которого я берусь, выложен следующим образом:

.../Project/trunk/Services
.../Project/trunk/Web

Если я проверю весь проект в папке deploy /, в верхней части не будет каталога.war. Очевидно, я не могу проверить make trunk / в моем каталоге deploy /. Я думал об использовании какой-то символической ссылки, но не вижу, как это работает в Windows.

У кого-нибудь есть идеи, как это сделать? Я слышал хорошие новости о DVCS, но Git бесполезен для меня, если я не могу справиться с вариантом использования сервера.

1 ответ

Решение

Это хорошая иллюстрация различия гранулярности между репозиторием SVN и git репо:

  • Вы можете поместить все в репозиторий SVN и оформить заказ только той части, которая вас интересует.
  • Вы должны оформить все мерзавцы

Так что в идеале Сервисы и сеть должны быть двумя репозиториями.


Обратите внимание, что наличие одного git repo вне jboss и символической ссылки может работать даже в Windows, которая поддерживает символическую ссылку (с mklink).


Наконец, если вам не нужны несколько репозиториев или символических ссылок, вы можете сделать редкую проверку, используя git read-tree, как описано в этом сообщении в блоге " Использование Git Sparse Checkout ", Брайан Койнер ( briancoyner )

cd C:\jboss-6.1.0.Final\server\default\deploy\
git init Blah.war
cd Blah.war
git config core.sparsecheckout true
echo Web >> .git/info/sparse-checkout
git remote add -f origin /url/to/your/repo.git
git pull origin master
Другие вопросы по тегам