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