{"thread":{"id":"56520","subject":"git repack -A -d doesn't remove objects found in alternates?","startedAt":"2021-09-17T08:56:31Z","lastAt":"2021-09-17T10:28:54Z","messageCount":3,"participants":["Uwe Kleine-König","Bryan Turner"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"436216","messageId":"20210917085623.rjpmqqhb5xap26jd@pengutronix.de","threadId":"56520","inReplyTo":null,"subject":"git repack -A -d doesn't remove objects found in alternates?","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2021-09-17T08:56:23Z","receivedAt":"2021-09-17T08:56:31Z","isPatch":false,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"Hello,\n\nI wonder if I do something wrong, or if I just don't understand\nsomething:\n\n\tukl@dude04:~/work$ git version\n\tgit version 2.30.2\n\n\tukl@dude04:~/work$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n\t...\n\tukl@dude04:~/work$ cd linux/\n\tukl@dude04:~/work/linux$ du -sh .git/objects\n\t2.6G    .git/objects\n\tukl@dude04:~/work/linux$ echo \"/ptx/work/user/git/linux.git/objects\" > .git/objects/info/alternates\n\n\tukl@dude04:~/work/linux$ git repack -A -d\n\t...\n\tukl@dude04:~/work/linux$ du -sh .git/objects/\n\t2.6G\t.git/objects/\n\nI would have expected a drastic size decrease from git repack after the\nalternate is added. Compare with:\n\n\tukl@dude04:~/work$ time git clone --reference /ptx/work/user/git/linux.git https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-with-reference\n\tCloning into 'linux-with-reference'...\n\tUpdating files: 100% (73605/73605), done.\n\n\tukl@dude04:~/work$ du -sh linux-with-reference/.git/objects/\n\t4.0K\tlinux-with-reference/.git/objects/\n\nCan you spot the bug (or the wrong expectation)?\n\nThanks\nUwe\n\n-- \nPengutronix e.K.                           | Uwe Kleine-König            |\nIndustrial Linux Solutions                 | https://www.pengutronix.de/ |\n"},{"id":"436217","messageId":"CAGyf7-E7PcRGiEd_U5bcw1na7H0LGDMw81s4SUDE=DH+4G3QYA@mail.gmail.com","threadId":"56520","inReplyTo":"20210917085623.rjpmqqhb5xap26jd@pengutronix.de","subject":"Re: git repack -A -d doesn't remove objects found in alternates?","fromName":"Bryan Turner","fromEmail":"bturner@atlassian.com","sentAt":"2021-09-17T09:08:58Z","receivedAt":"2021-09-17T09:10:57Z","isPatch":false,"sender":{"key":"bturner@atlassian.com","avatar":"https://gravatar.com/avatar/16bcf3167981c1ef7c804e502642366d888a35b0d0b0a4ca01fdc442aa1acb1e?d=mp&s=160"},"body":"On Fri, Sep 17, 2021 at 1:56 AM Uwe Kleine-König\n<u.kleine-koenig@pengutronix.de> wrote:\n>\n> Hello,\n>\n> I wonder if I do something wrong, or if I just don't understand\n> something:\n>\n>         ukl@dude04:~/work$ git version\n>         git version 2.30.2\n>\n>         ukl@dude04:~/work$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n>         ...\n>         ukl@dude04:~/work$ cd linux/\n>         ukl@dude04:~/work/linux$ du -sh .git/objects\n>         2.6G    .git/objects\n>         ukl@dude04:~/work/linux$ echo \"/ptx/work/user/git/linux.git/objects\" > .git/objects/info/alternates\n>\n>         ukl@dude04:~/work/linux$ git repack -A -d\n>         ...\n>         ukl@dude04:~/work/linux$ du -sh .git/objects/\n>         2.6G    .git/objects/\n>\n> I would have expected a drastic size decrease from git repack after the\n> alternate is added.\n\nYou're missing -l on your repack command. See git help pack-objects\nand look for --local. Without -l, repack includes copies of the\nobjects you're borrowing, so your pack size doesn't change.\n\nHope this helps!\nBryan\n"},{"id":"436222","messageId":"20210917102849.h7vru7j7dseoilps@pengutronix.de","threadId":"56520","inReplyTo":"CAGyf7-E7PcRGiEd_U5bcw1na7H0LGDMw81s4SUDE=DH+4G3QYA@mail.gmail.com","subject":"Re: git repack -A -d doesn't remove objects found in alternates?","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2021-09-17T10:28:49Z","receivedAt":"2021-09-17T10:28:54Z","isPatch":false,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"On Fri, Sep 17, 2021 at 02:08:58AM -0700, Bryan Turner wrote:\n> On Fri, Sep 17, 2021 at 1:56 AM Uwe Kleine-König\n> <u.kleine-koenig@pengutronix.de> wrote:\n> >\n> > Hello,\n> >\n> > I wonder if I do something wrong, or if I just don't understand\n> > something:\n> >\n> >         ukl@dude04:~/work$ git version\n> >         git version 2.30.2\n> >\n> >         ukl@dude04:~/work$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n> >         ...\n> >         ukl@dude04:~/work$ cd linux/\n> >         ukl@dude04:~/work/linux$ du -sh .git/objects\n> >         2.6G    .git/objects\n> >         ukl@dude04:~/work/linux$ echo \"/ptx/work/user/git/linux.git/objects\" > .git/objects/info/alternates\n> >\n> >         ukl@dude04:~/work/linux$ git repack -A -d\n> >         ...\n> >         ukl@dude04:~/work/linux$ du -sh .git/objects/\n> >         2.6G    .git/objects/\n> >\n> > I would have expected a drastic size decrease from git repack after the\n> > alternate is added.\n> \n> You're missing -l on your repack command. See git help pack-objects\n> and look for --local. Without -l, repack includes copies of the\n> objects you're borrowing, so your pack size doesn't change.\n> \n> Hope this helps!\n\nIt does. When adding -l the size reported by du goes down to 8K. Thanks\na lot.\n\nWhile refering to other manpages is easy to maintain, it's hard to read\nfor a user.\n\nBest regards\nUwe\n\n-- \nPengutronix e.K.                           | Uwe Kleine-König            |\nIndustrial Linux Solutions                 | https://www.pengutronix.de/ |\n"}]}