файлы подмодулей git tracking из "супер проекта" - PullRequest
1 голос
/ 14 января 2012

У меня есть большой старый git-репозиторий, который я разделил на модули. Моя проблема в том, что когда я пытаюсь применить патч, созданный, когда мы не используем субмодуль, в суперпроекте нет трека файлов субмодуля.

Вот мои шаги:

$ git clone git@192.168.0.249:super-project
$ cd super-project
$ git clone git@192.168.0.249:my_submodule
$ git submodule add ./my_submodule
$ git submodule init
$ git submodule sync
$ git submodule update
$ git add .gitmodules 
$ git commit -a
$ git am ~/patches/* 

Applying: <PATCH NAME>
error: <PATH TO FILENAME>: does not exist in index
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".

Ответы [ 2 ]

1 голос
/ 14 января 2012

Посмотрите на git-slave для координации работы, которая выходит за пределы подмодулей.

в противном случае, просто

git submodule add url path/you/want
git submodule update --init --recursive
git add -A
git commit -m "added submodule"
1 голос
/ 14 января 2012

Я думаю, вам нужно применять патчи только внутри подмодулей.Если вы разделите проект таким образом, что некоторые отдельные файлы исправлений теперь ссылаются на несколько подмодулей, то вам может понадобиться отредактировать файлы исправлений (возможно, написав скрипт, если их много).Или вы можете попробовать применить файлы исправлений «небрежно», используя программу patch вместо git и игнорируя частичные сбои, которые будут происходить в зависимости от того, какой подмодуль имеет какие файлы назначения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...