Summary: | gear: сборка из git worktree | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey Sheplyakov <asheplyakov> |
Component: | gear | Assignee: | Dmitry V. Levin <ldv> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | glebfm, iv, ldv, legion, vseleznv |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Alexey Sheplyakov
2021-09-23 01:05:57 MSK
Пожалуйста, запушьте куда-нибудь этот репозиторий, и дайте на него ссылку. Попробуйте лучше 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). |