On Wed, 12 Nov 2025 19:58:58 +0300 Paul Wolneykien wrote: > В Tue, 11 Nov 2025 21:36:19 +0300 > Alexander Lubyagin <[email protected]> пишет: > > > Добрый день. > > > > Возник такой вопрос. > > > > Во многих репозиториях Альта принят принцип - хранить исходники в > > подкаталоге %name/%name/ > > > > Как оформить первый коммит, чтобы из удалённого репозитория свежие > > коммиты подтягивались сразу в подкаталог по git fetch? > > В последнее время использую команду git subtree. > > Ранее же делал через -Xsubtree, то есть: > > git pull/merge --allow-unrelated-histories -Xsubtree=subdir/ ... > > После первого раза git потом сам туда складывает. Однако, чтобы любой > из данных способов сработал, необходимо, чтобы subdir/ уже существовал > _внутри git_. Для этого нужно сделать, например, вот так: > > mkdir subdir > touch subdir/.gitignore > git add subdir/.gitignore > git commit -m "Prepare subdir for git://project.path/repo.git" > > И дальше уже git subtree или git pull --allow.. -Xsubtree=...
У меня почти все репо с апстримными исходниками в subtree, но я просто готовлю subtree по инструкции с https://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html Никаких "touch subdir/.gitignore" при этом не требуется. Потом мержу апстрим как git merge -X subtree=<subdir> <тэг> Единственная проблема, которую я встречал при такой схеме: если в дереве исходников апстрима есть каталог, имя которого совпадает с именем subdir (а обычно это %name), то git'у может снести крышу при мерже. В этом случае я просто переименовываю subdir в %{name}-src. Впрочем, давно уже такого не видел, может git уже научился справляться с этим. -- WBR, Mikhail Efremov _______________________________________________ devel-newbies mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/devel-newbies
