Как использовать 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