Под «частичным» я подразумеваю ветви в моем репозитории SVN были скопированы не из транка /, а из подкаталога транка /.Вот макет репозитория SVN:
trunk/
core
projectA
projectB
...
branches/
core_new_feature (branched from "core" on trunk)
another_branch
...
Я запустил свой локальный репозиторий и получил:
mkdir git-svn-repo
cd git-svn-repo
git svn init -s svn+ssh://me@svn-server/path/to/repository
git fetch
<wait four days>
Теперь я пытаюсь работать с веткой "core_new_feature".git branch -a показывает:
* master
remotes/core_new_feature
... (a bunch of other branches)
Итак, я пытаюсь:
git checkout --track -b git_new_feature remotes/core_new_feature
Git извлекает файлы и, похоже, работает.Тем не менее, когда я пытаюсь просмотреть мою недавно проверенную ветку (ls local-git-root / core /), я получаю странность.В частности, я не вижу свой исходный код или какие-либо из существующих изменений в ветви SVN core_new_feature.Все, что я вижу в core /, - это несколько пустых каталогов, кажущееся случайным незначительное влияние моего выходящего дерева исходных текстов в core.
Однако источник "core_new_feature" доступен в local-git-root / src / - это просто в корне моего репозитория git.projectA и projectB сверху исчезли.
Мне нужно, чтобы изменения в svn-ветке «core_new_feature» переместились в правильное местоположение (а именно local-git-root / core /), а для другихпроекты не исчезают
Очевидно, что здесь я упускаю какой-то важный шаг, но я просмотрел все примеры, которые смог найти, и, похоже, ни один из них не решает эту проблему.Может быть, мне нужно настроить свой локальный репозиторий иначе?
Для справки, вот мой файл .git / config:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[svn-remote "svn"]
url = svn+ssh://me@svn-server/path/to/repository
fetch = repository/trunk:refs/remotes/trunk
branches = repository/branches/*:refs/remotes/*
tags = repository/tags/*:refs/remotes/tags/*
[branch "core_new_feature"]
remote = .
merge = refs/remotes/core_new_feature
В моем репозитории используются стандартные ветки / теги / trunk / layout.Я запускал команды, используя оболочку git-bash, которую предоставляет msysgit.Версия 1.7.4.
Заранее благодарен за любую помощь.