Я являюсь одним из действующих разработчиков проекта FreeGLUT на sourceforge. Этот код хранится в SVN-репо, но для стимулирования вклада других я хочу сделать репозиторий git. У меня уже есть git-svn клон svn trunk up на github в настоящее время на github (сделано через SmartGit, что на самом деле несовместимо с git-svn на самом деле).replay git фиксируется на репо с другим корнем
Я сделал это путем клонирования https://svn.code.sf.net/p/freeglut/code/trunk/freeglut
. Тем не менее, теперь я обнаружил, что должен был клонировать https://svn.code.sf.net/p/freeglut/code
и иметь мост svn SmartGit, чтобы определить ветви и багажник.
Я сделал этот новый правильный клон локально. Теперь проблема: у меня уже есть несколько коммитов в моей локальной репликации git старого/неправильного клона. Я хотел бы перенести их на новое репо, но поскольку корневые каталоги на диске не совпадают, простая стратегия перерасчета, описанная в here, не будет работать (я думаю).
Я мог бы сделать это с исправлениями, так как git apply
имеет аргумент --directory
, чтобы префикс пути в файлах патча, которые могли бы заставить все работать, но тогда мне пришлось бы совершить фиксацию с помощью commit. По крайней мере, я не нашел способ поместить несколько коммитов в один файл патча (без раздавливания) и воспроизвести их все поверх моего HEAD
.
Как лучше всего решить мою проблему?
Возможный дубликат [Применение коммитов из одного поддерева в другое в том же репо] (http://stackoverflow.com/questions/19326233/applying-commits-from-one-subtree-to-another-in-same-repo) – jthill
@jthill, вы правы, это похоже на дубликат. Я не рассматривал эти поисковые термины ... –
Почему бы и нет, это не о SAME REPO, а о другом. – Andy