При попытке запустить сборку из git worktree: $ gear-hsh -v выводится сообщение о якобы отсутствующем tag: $ gear-hsh -v mkdir: created directory '/tmp/.private/asheplyakov/gear.2QhBFuXH/out' gear: .gear/rules line 1: Name "xorg-server-20210922" not found in tag list gear: .gear/rules line 1: Failed to make archive Хотя на самом деле он есть: $ cat .gear/tags/list 735dbde48294f9d0a8c3d791c44df14da9b91fc0 xorg-server-20210922 $ git show 735dbde48294f9d0a8c3d791c44df14da9b91fc0 | sed -re '/^diff --git/,$ { d }' commit 735dbde48294f9d0a8c3d791c44df14da9b91fc0 Author: Michel Dänzer <mdaenzer@redhat.com> Date: Fri Sep 17 11:55:52 2021 +0200 xwayland/present: Move xwl_present_reset_timer call out of xwl_present_flip xwl_present_reset_timer checks if the pending flip is synchronous, so we need to call it after adding the pending flip to the flip queue. Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1219 Fixes: b2a06e0700fa "xwayland/present: Drop sync_flip member of struct xwl_present_window" Tested-by: Olivier Fourdan <ofourdan@redhat.com> Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Пожалуйста, запушьте куда-нибудь этот репозиторий, и дайте на него ссылку.
#285718 EPERM #2 sisyphus gear.git=2.5.1-alt1
Попробуйте лучше http://git.altlinux.org/people/vseleznv/packages/?p=gear.git;a=commitdiff;h=worktree
(In reply to Dmitry V. Levin from comment #1) > Пожалуйста, запушьте куда-нибудь этот репозиторий, и дайте на него ссылку. git clone -b p9 git://git.altlinux.org/gears/x/xorg-server.git cd xorg-server git worktree add --track -b sisyphus ../xorg-server-sisyphus origin/sisyphus cd ../xorg-server-sisyphus gear-hsh -v
(In reply to Dmitry V. Levin from comment #3) > Попробуйте лучше > http://git.altlinux.org/people/vseleznv/packages/?p=gear.git;a=commitdiff; > h=worktree Сомневаюсь, что лучше. Сходу видно, что при таком способе используется index от основной working copy: http://git.altlinux.org/people/vseleznv/packages/?p=gear.git;a=blob;f=gear;h=05f1f1a0c6fbffe6d069532877b54a520447163c;hb=worktree#l847 echo $(git rev-parse --git-common-dir)/index /home/asheplyakov/tmp/xorg-server/.git/index А следовало бы использовать index текущего worktree: echo $(git rev-parse --git-dir)/index /home/asheplyakov/tmp/xorg-server/.git/worktrees/xorg-server-sisyphus/index
(In reply to Alexey Sheplyakov from comment #5) > (In reply to Dmitry V. Levin from comment #3) > > Попробуйте лучше > > http://git.altlinux.org/people/vseleznv/packages/?p=gear.git;a=commitdiff; > > h=worktree > > Сомневаюсь, что лучше. > > Сходу видно, что при таком способе используется index от основной working > copy: То есть мне-то без разницы, я не использую --commit, но вот тем, кто использует -- будет сюрприз.
У меня не было возможности тольком посмотреть, но, может быть, тогда лучше использовать git rev-parse --git-path objects в create_temporary_git_object_directory()?
(In reply to Dmitry V. Levin from comment #7) > У меня не было возможности тольком посмотреть, но, может быть, тогда лучше > использовать git rev-parse --git-path objects в > create_temporary_git_object_directory()? Переделал, но не особо проще. В worktree выдаёт абсолютный путь: $ pwd /home/asheplyakov/work/xorg-sisyphus $ git rev-parse --git-path objects /home/asheplyakov/work/xorg-server/.git/objects А в обычном репозитории (или основном worktree) - относительный: $ pwd /home/asheplyakov/work/xorg-server $ git rev-parse --git-path objects .git/objects Так что не особо проще
Уважаемый сопровождающий пакета gear! Сделайте, будьте добры, что-нибудь с этим багом. Если Вам не нравится исправление из задания 285718 - пожалуйста, объясните, что там не так, или предложите своё. #285718 EPERM #6 sisyphus gear.git=2.5.1-alt1
Прошу прощения за задержку. На мой взгляд, git rev-parse --git-path objects всё-таки проще: https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=commit;h=2.5.0-alt1-5-gcbe4d61
gear-2.5.1-alt1 -> sisyphus: Fri Jan 14 2022 Dmitry V. Levin <ldv@altlinux> 2.5.1-alt1 - gear-rules.5: added references to git glob syntax (closes: #39804). - gear-store-tags: fixed the warning about specsubst directive (closes: #39898). - gear-edit-spec: do not invoke an editor when no spec file was found (closes: #40023). - gear: added git worktree support (closes: #40990).