[devel] git и пустой каталог (syslog-ng 3.6.1)

Sergey Afonin asy на altlinux.ru
Вт Дек 9 13:18:27 MSK 2014


On Saturday 06 December 2014, Sergey Y. Afonin wrote:

> Причём, раньше этот самый ./modules/afmongodb/libmongo-client в тарбол
> попадал.

Немного ещё почитал... Пока получается, что пустой каталог для сабмодуля
попадает в репозитарий нормальным образом только при клонировании (ну
или втаскивании изменений из репозитария с сабмодулями). Поломанное 
состояние выглядит как-то так:

Это в исходном состоянии (3.4.7):

$ git submodule status
-ec9066dcc66b33e3767b4729f86844549f004657 lib/ivykis
-7142f05e2aaf61b47cf0472d9e9f468d08a4fdc0 modules/afamqp/rabbitmq-c
-9cbb488fd41464ae85fd1870235300197cbc24ac modules/afmongodb/libmongo-client

А это после git pull git://github.com/balabit/syslog-ng syslog-ng-3.6.1

$ git submodule status
-ec9066dcc66b33e3767b4729f86844549f004657 lib/ivykis
-259c5c0b5fe87c2db41e7a989cc0ab5865170d81 lib/jsonc
-7142f05e2aaf61b47cf0472d9e9f468d08a4fdc0 modules/afamqp/rabbitmq-c
U0000000000000000000000000000000000000000 modules/afmongodb/libmongo-client

видно, что добавился lib/jsonc, а modules/afmongodb/libmongo-client
поломался.

Далее, можно сделать так:

rm -rf ./modules/afmongodb/libmongo-client
git submodule add https://github.com/algernon/libmongo-client.git ./modules/afmongodb/libmongo-client
git submodule deinit -f ./modules/afmongodb/libmongo-client  # тут каталог очистится
git submodule init ./modules/afmongodb/libmongo-client
git add ./modules/afmongodb/libmongo-client

git commit -am "recovered libmongo-client submodule"
[master b7088fb] recovered libmongo-client submodule
 1 file changed, 1 insertion(+)
 create mode 160000 modules/afmongodb/libmongo-client

Видно, что каталог попал в git, и пустой.

В итоге (на самом деле, это после "git submodule add ..." уже так
отображается):

$ git submodule status
-ec9066dcc66b33e3767b4729f86844549f004657 lib/ivykis
-259c5c0b5fe87c2db41e7a989cc0ab5865170d81 lib/jsonc
-7142f05e2aaf61b47cf0472d9e9f468d08a4fdc0 modules/afamqp/rabbitmq-c
-97960a3bcfcae767f9012e9ddc067219f9ef89f1 modules/afmongodb/libmongo-client

Коммит выглядит вот так:

==========================================================
commit b7088fbafc0f1df0d7a5f83b1911791bf7ec0539
Author: Sergey Y. Afonin <asy на altlinux.org>
Date:   Tue Dec 9 12:40:22 2014 +0400

    recovered libmongo-client submodule

diff --git a/modules/afmongodb/libmongo-client b/modules/afmongodb/libmongo-client
new file mode 160000
index 0000000..97960a3
--- /dev/null
+++ b/modules/afmongodb/libmongo-client
@@ -0,0 +1 @@
+Subproject commit 97960a3bcfcae767f9012e9ddc067219f9ef89f1
==========================================================

-- 
С уважением, Сергей Афонин.


Подробная информация о списке рассылки Devel