2013-11-19 3 views
0

У меня есть пакет, который я пытаюсь объединить в другое дерево. Я создал связку сgit fetch на комплекте не производит вывод

git bundle create changes.bundle b88452317246ec2893c66b..HEAD 

Когда на цели я выдаю

git fetch -v changes.bundle 

нет вывода на всех и ничего не меняется.

В другом хранилище на одной и той же системе точно такая же процедура работает отлично. В чем разница? Я использую Git 1.7.1 на RHEL 6.1

+0

Попробуйте запустить 'git bundle verify./Changes.bundle' и обратите внимание на то, что указывает' HEAD'. Кроме того, было устранено несколько проблем с момента выхода 1.7.1. Один из них связан с созданием «git bundle create», создающим плохую связку с длинными темами (я бы ожидал ошибки), и проблема, когда 'git fetch' не производил выходные данные для большого пакета. Я все еще ожидаю увидеть «HEAD -> FETCH_HEAD» в выводе на последнем, но вполне возможно, что он не показал его из-за ошибки. Можете ли вы также запустить 'git rev-parse FETCH_HEAD' после запуска' git fetch'? Соответствует ли это 'HEAD' в комплекте? – jszakmeister

+0

Спасибо за помощь. Вот выход из мерзавца пачки проверить: $ мерзавца расслоение проверить ../fitnesse.bundle Пучок содержит 1 Ref fe6107724d0b4c5e38e2b5a69db11bd8f27bc43d ГОЛОВОК Расслоения требует этих 1 исх 3a977d5a1479d87a4b9ff152e1f9631119b89311 Initial совершить ../fitnesse.bundle в порядке Ссылка на фиксацию верна. С git rev-parse FETCH_HEAD Я получаю fatal: неоднозначный аргумент 'FETCH_HEAD': неизвестная версия или путь теперь в рабочем дереве. Используйте '-' для разделения путей от изменений – user2615350

ответ

2

Я вернулся и скомпилировал v1.7.1 из Git, чтобы попробовать несколько вещей. Похоже, что это была ошибка в Git. Фактическая фиксация, исправленная этой ошибкой, была 3ee1757baeecb6fe6c8b2446b3afe0519584b63f. Проблема заключается в том, что команда fetch приводила к неправильному изменению аргумента URL-адреса, когда была настроена ветка удаленного отслеживания. Исправление произошло в Git v1.7.3.

Вы можете решить проблему, предоставив refspec. Вероятно, проще всего сделать бы это:

$ git fetch changes.bundle HEAD:tmp-branch 
$ git merge --ff --ff-only tmp-branch 
$ git branch -d tmp-branch 

Это будет копить изменения направиться в новую ветвь под названием tmp-branch. Быстро перетащите текущую ветку, чтобы включить ее (она не удастся, если она не сможет ускорить перемотку вперед ... решать вам это путем слияния или перезагрузки). Затем последняя команда удаляет временную ветку.

+0

Это исправлено. Благодаря! – user2615350

Смежные вопросы