Как заменить подмодуль git на вендор в коде? - PullRequest
1 голос
/ 12 мая 2011

В последнее время я избавляюсь от подмодулей git. Иногда я добавляю новые файлы там, где был субмодуль.

Я ищу хороший способ удалить подмодуль и добавить в него некоторые файлы, не создавая проблем слияния для пользователей.

Вот о чем я говорю:

Это коммит, в котором я удалил определение подмодуля и добавил несколько файлов в качестве замены:

$:~/src/github/huerlisi/mailyt$ git show d1e7e1276fdccb37f775c8f656077e490a0b7be8
commit d1e7e1276fdccb37f775c8f656077e490a0b7be8
Author: Simon Hürlimann (CyT) <simon.huerlimann@cyt.ch>
Date:   Wed May 11 22:07:49 2011 +0200

    Vendor in formtastic sass, drop git submodule.

diff --git a/.gitmodules b/.gitmodules
index 24f8f38..e6177d1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
 [submodule "vendor/plugins/fetcher"]
        path = vendor/plugins/fetcher
        url = git://github.com/huerlisi/fetcher.git
-[submodule "app/stylesheets/partials/formtastic"]
-       path = app/stylesheets/partials/formtastic
-       url = git://github.com/activestylus/formtastic-sass.git
diff --git a/app/stylesheets/partials/formtastic b/app/stylesheets/partials/formtastic
deleted file mode 160000
index 1b920cb..0000000
--- a/app/stylesheets/partials/formtastic
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1b920cb2db627cb7cf11cf4d3cea373a774a6fd3
diff --git a/app/stylesheets/partials/formtastic/_formtastic_base.sass b/app/stylesheets/partials/formtastic/_formtastic_base.sass
new file mode 100644
index 0000000..b01ac8e
--- /dev/null
+++ b/app/stylesheets/partials/formtastic/_formtastic_base.sass
@@ -0,0 +1,652 @@
+//
+// FORMTASTIC SASS
+// Flexible styling for formtastic forms

Слияние этого коммита с моим рабочим каталогом с проверенным подмодулем дает такую ​​ошибку:

~/src/github/huerlisi/mailyt$ git pull
remote: Counting objects: 35, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 24 (delta 16), reused 0 (delta 0)
Unpacking objects: 100% (24/24), done.
From github.com:huerlisi/mailyt
   2d055d6..82a45be  master     -> origin/master
 * [new branch]      notmuch    -> origin/notmuch
Updating 2d055d6..82a45be
error: The following untracked working tree files would be overwritten by merge:
        app/stylesheets/partials/formtastic/_formtastic_base.sass
Please move or remove them before you can merge.
Aborting

Удаление каталога app / stylesheets / partials / formtastic вручную перед выполнением слияния. Но я бы хотел, чтобы мои коллеги-программисты могли просто тянуть и кодировать.

1 Ответ

2 голосов
/ 12 мая 2011

Вы ничего не можете сделать для них со своей стороны. Поскольку подмодули являются полными репозиториями с ref log и rerere историями, pull не избавится от них. Ни один не будет слияния. Они должны будут явно выполнить rm -rf для них, когда они внесут эти изменения. Это сделано для того, чтобы избавить людей от случайного стирания их работы и / или журналов ссылок и т. Д.

Надеюсь, это поможет

...