В настоящее время я пытаюсь переместить наш большой репозиторий Subversion, около 25 ГБ, включая историю, в GIT, и, похоже, я столкнулся с двумя проблемами. Один из них, я думаю, я решил, но я покрою оба за полноту, если я прикручу первое исправление;Svn2Git - Push Large GIT Repo To Remote
Репозиторий Subversion не появляется следовать систематическом для разветвления, это выглядит как шаблон изменилось за эти годы, так что для начала я использовал опцию rootistrunk получить весь репозиторий мерзавцу:
svn2git http://svnurl/repo --rootistrunk --authors authors.txt
Это сработало, однако репо было слишком большим, чтобы нажать на удаленный, и я получил следующую ошибку; [дистанционное отклонение] master -> master (максимальная длина запроса превышена)
Чтобы обойти это, я использовал следующий метод, чтобы получить кусок репо Subversion в надежде, что смогу получить 500 коммитов за один раз и обойти большой вопрос упаковки;
svn2git http://svnurl/repo --rootistrunk --authors authors.txt --revision 1:500
я потом толкнул, и она работала, я побежал git svn fetch -r 501:1000
, чтобы получить следующие 500 фиксаций, но когда я пытаюсь нажать после этой последней выборки я получаю сообщение: «Все уточненный», несмотря на тот факт, что этого не может быть.
Я просмотрел файлы справки для git и svn2git в надежде, что смогу узнать, что я сделал неправильно, но после нескольких дней исследований у меня все еще нет решения, я новичок в git вероятно, я пропустил что-то очевидное для старой шляпы. Может ли кто-нибудь пролить свет на то, что я делаю неправильно, пожалуйста? Если я сделал ложное предположение, и я делаю все это неправильно, я был бы рад услышать это, поскольку это не удивит меня на этом этапе!
В настоящее время я пытаюсь вставить проект TFS 2013 и репозиторий Stash, оба показывают одно и то же поведение, поэтому я должен был сделать что-то не так на стороне GIT. Первый push работает в обоих случаях, только второй, который не хочет принимать новые файлы. Сервер, на котором я выполняю push из запусков Ubuntu, TFS находится в Windows Server 2012, а Stash - в другом поле Ubuntu.
Любые советы приветствуются, я озадачен в минуту и не знаю, куда идти дальше.
Спасибо, Киган
Спасибо Ayr_Ton, я дам скидку. Увы, сохранение истории - тяжелое требование для этого проекта, хотя я буду убеждать их. –
Если я правильно понимаю, rebase объединит все изменения с 500 -> head в одно коммит? Не уверен, что я могу продать это компании в качестве опции.:/ –
Он вытащит все фиксации из вашего последнего обновления в HEAD. Не только одно совершение. Как, если вы импортировали первые 500 коммитов, вы будете переустанавливать с 501 на HEAD. –