[devel] git и пустые каталоги

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Окт 17 19:51:11 MSD 2008


On Fri, Oct 17, 2008 at 06:29:38PM +0300, Led wrote:
> On Friday, 17 October 2008 18:12:52 Dmitry V. Levin wrote:
> > On Fri, Oct 17, 2008 at 05:41:37PM +0300, Led wrote:
> > > Как в git обеспечить сохранение пустых каталогов?
> >
> > Непосредственно в git этого, скорее всего, не добиться.
> > Мне не известно способа заставить git-write-tree включить пустой каталог.
> > См. тж.
> > http://git.or.cz/gitwiki/GitFaq#head-1fbd4a018d45259c197b169e87dafce2a3c6b5
> >f9
> 
> Где-то так я и знал...

Тому, кто придумал git, было лень реализовать все заложенные в git возможности.

[...]
> > > В вариант с
> > > touch .gitignore в эти каталоги не подходит, потому что в этом случае:
> > > 1) .gitignore попадают в %buildroot и, соответственно, в пакет
> >
> > Погрепав contents_index, будем считать, что это удовлетворённый FR:
> > http://git.altlinux.org/people/ldv/packages/?p=rpm.git;h=maint
> 
> Спасибо. Можно надеяться, что это появится в ближайшее время в репозитариях?

Завернуть в пакет?  Когда это понадобится?

> > > 2) при каждом обновлении из апстрима перед коммитом придётся вручную
> > > делать что-то наподобие:
> > > find . -type d -empty -name ebin -exec touch \{}/.gitignore \;
> >
> > Зачем -name ebin?
> 
> Ну, в моём случае, это каталоги именем "ebin", просто разбросаны по дереву и с 
> разным уровнем вложенности.
> 
> > Цитирую /usr/bin/gear-srpmimport:
> >
> > find "$subdir" -type d -empty -exec touch -- '{}/.gitignore' ';'
> >
> > Т.е. можно это делать автоматически.
> 
> Автоматически этом ожно сделать из src.rpm, получавтоматически - из тарболов. 
> Как это сделать при импорте из апстримной SCM?

Пропатчить используемое средство импорта, или сделать к нему обёртку.

> > > А если это не дискретные обновления из апстрима, а импорт из апстримовой
> > > SCM?
> >
> > Добавление .gitignore при импорте лучше делать автоматически.
> 
> А exclude этих .gitignore при генерации тарбола для src.rpm из git'a можно 
> сделать автоматически?

Вопрос интересный.  Если речь идёт о gear, то извлечение тарболла из git
производится с помощью "git archive --format=tar", который .gitignore
исключать не умеет.
Но это не значит, что желаемого эффекта нельзя добиться...


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081017/0f12c03a/attachment-0002.bin>


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