{"thread":{"id":"10921","subject":"StGIT 0.13 recognizes but not list packed StGIT controlled branches","startedAt":"2007-11-18T23:05:49Z","lastAt":"2007-11-19T18:26:07Z","messageCount":8,"participants":["Jakub Narebski","Junio C Hamano","Catalin Marinas"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"60255","messageId":"200711190005.49990.jnareb@gmail.com","threadId":"10921","inReplyTo":null,"subject":"StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-11-18T23:05:49Z","receivedAt":"2007-11-18T23:05:49Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"I use Stacked GIT 0.13 with git 1.5.3.5 (and Python 2.4.3).\nStGIT does recognize old StGIT branches (and converts them),\nbut \"stg branch -l\" list only one branch. I guess that is\ncause by the fact that all the rest of branches are packed.\n\nSo the question is: how to unpack branches, and how to prevent\nbranches from being packed by \"git-gc\"?\n\nAnother StGIT question: how to check if given branch is controlled\nby StGIT (needed for my bash prompt)?\n\n-- \nJakub Narebski\nPoland\n"},{"id":"60258","messageId":"7vpry7t88g.fsf@gitster.siamese.dyndns.org","threadId":"10921","inReplyTo":"200711190005.49990.jnareb@gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-19T00:00:15Z","receivedAt":"2007-11-19T00:00:15Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> So the question is: how to unpack branches, and how to prevent\n> branches from being packed by \"git-gc\"?\n\nI am afraid that is a wrong question.  How long have we had the\npacked-refs anyway?\n\nThe question is \"How to get the list of refs from a Porcelain if\nit wants to be compatible with GIT v1.4.4-rc1 (Nov 7, 2006) and\nlater?\", and the answer is for-each-ref.\n\nHaving said that, you could explode it by hand like this:\n\n\tgit for-each-ref --format='%(objectname) %(refname)' refs/heads |\n\twhile read sha1 refname\n        do\n        \ttest -f \"$GIT_DIR/$refname\" || \n               \tgit update-ref \"$refname\" \"$sha1\"\n\tdone                \n"},{"id":"60292","messageId":"b0943d9e0711190320r28224763t5a6c9ed7758a12b3@mail.gmail.com","threadId":"10921","inReplyTo":"200711190005.49990.jnareb@gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2007-11-19T11:20:38Z","receivedAt":"2007-11-19T11:20:38Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 18/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n> I use Stacked GIT 0.13 with git 1.5.3.5 (and Python 2.4.3).\n> StGIT does recognize old StGIT branches (and converts them),\n> but \"stg branch -l\" list only one branch. I guess that is\n> cause by the fact that all the rest of branches are packed.\n\nHave you tried the latest StGIT snapshot. We added support for this\nand it will be available in 0.14 (to be released pretty soon).\n\n> Another StGIT question: how to check if given branch is controlled\n> by StGIT (needed for my bash prompt)?\n\n'stg branch -l' lists the branches and marks those controlled by\nStGIT. For a simple test, just use a command which would fail on\nnon-stgit branches (stg id base). Yet another way is to check for the\npresence of '.git/patches/<branch>'.\n\n-- \nCatalin\n"},{"id":"60294","messageId":"200711191257.09158.jnareb@gmail.com","threadId":"10921","inReplyTo":"b0943d9e0711190320r28224763t5a6c9ed7758a12b3@mail.gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-11-19T11:57:07Z","receivedAt":"2007-11-19T11:57:07Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Catalin Marinas wrote:\n> On 18/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n>\n> > I use Stacked GIT 0.13 with git 1.5.3.5 (and Python 2.4.3).\n> > StGIT does recognize old StGIT branches (and converts them),\n> > but \"stg branch -l\" list only one branch. I guess that is\n> > cause by the fact that all the rest of branches are packed.\n> \n> Have you tried the latest StGIT snapshot? We added support for this\n> and it will be available in 0.14 (to be released pretty soon).\n\nWould it work with Python 2.4.3? Yes, I know I should upgrade my\nLinux distribution (I use now Aurox 11.1, which is based on Fedora\nCore 4)...\n \n> > Another StGIT question: how to check if given branch is controlled\n> > by StGIT (needed for my bash prompt)?\n> \n> 'stg branch -l' lists the branches and marks those controlled by\n> StGIT. For a simple test, just use a command which would fail on\n> non-stgit branches (stg id base). Yet another way is to check for the\n> presence of '.git/patches/<branch>'.\n\nThanks. 'stg id base' is quite a lot slower than \n'test -e \"$(git rev-parse --git-dir)/patches/$branch\"', and it _does_\nmatter in prompt creating.\n\n-- \nJakub Narebski\nPoland\n"},{"id":"60299","messageId":"b0943d9e0711190515x3f58748bm224366ddb292755d@mail.gmail.com","threadId":"10921","inReplyTo":"200711191257.09158.jnareb@gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2007-11-19T13:15:37Z","receivedAt":"2007-11-19T13:15:37Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 19/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n> Catalin Marinas wrote:\n> > On 18/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n> >\n> > > I use Stacked GIT 0.13 with git 1.5.3.5 (and Python 2.4.3).\n> > > StGIT does recognize old StGIT branches (and converts them),\n> > > but \"stg branch -l\" list only one branch. I guess that is\n> > > cause by the fact that all the rest of branches are packed.\n> >\n> > Have you tried the latest StGIT snapshot? We added support for this\n> > and it will be available in 0.14 (to be released pretty soon).\n>\n> Would it work with Python 2.4.3? Yes, I know I should upgrade my\n> Linux distribution (I use now Aurox 11.1, which is based on Fedora\n> Core 4)...\n\nYes, it works with Python 2.4. We deprecated the Python 2.3 support.\n\n-- \nCatalin\n"},{"id":"60338","messageId":"200711191843.43247.jnareb@gmail.com","threadId":"10921","inReplyTo":"b0943d9e0711190515x3f58748bm224366ddb292755d@mail.gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-11-19T17:43:41Z","receivedAt":"2007-11-19T17:43:41Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Mon, 19 November 2007, Catalin Marinas wrote:\n> On 19/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n>> Catalin Marinas wrote:\n>>>\n>>> Have you tried the latest StGIT snapshot? We added support for this\n>>> and it will be available in 0.14 (to be released pretty soon).\n>>\n>> Would it work with Python 2.4.3? Yes, I know I should upgrade my\n>> Linux distribution (I use now Aurox 11.1, which is based on Fedora\n>> Core 4)...\n> \n> Yes, it works with Python 2.4. We deprecated the Python 2.3 support.\n\nI was worried that it would require Python 2.5 (IIRC some stgit RPM\nhad it in requires)\n\n\nBy the way, does StGIT write something meaningful by default in reflog\nmessages? Because now my reflog looks like this:\n\n2162:[autoconf@git]# git reflog\n407d6dc... HEAD@{0}: \n5a46eb5... HEAD@{1}: \n[...]\nea55960... HEAD@{15}: \n8f5d6b4... HEAD@{16}: \n15bb3f6... HEAD@{17}: checkout: moving from master to autoconf\n8aff795... HEAD@{18}: pull origin: Merge made by recursive.\n\nIt would be really nice if StGIT wrote something meaningfull when\nupdating ref, like \"stg refresh: <something>\", or \"stg rebase: <sth>\"...\n\n-- \nJakub Narebski\nPoland\n"},{"id":"60340","messageId":"b0943d9e0711190951u412b2c1apf6d7d48abdd59c07@mail.gmail.com","threadId":"10921","inReplyTo":"200711191843.43247.jnareb@gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2007-11-19T17:51:07Z","receivedAt":"2007-11-19T17:51:07Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 19/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n> By the way, does StGIT write something meaningful by default in reflog\n> messages? Because now my reflog looks like this:\n\nNo, it leaves it up to GIT to write whatever it finds appropriate.\n\n> It would be really nice if StGIT wrote something meaningfull when\n> updating ref, like \"stg refresh: <something>\", or \"stg rebase: <sth>\"...\n\nThere is the 'stg log [<patch>]' command which shows the changes to a\nspecific patch. You can run it with -d (for the diff) or -g (to invoke\ngitk).\n\n-- \nCatalin\n"},{"id":"60346","messageId":"200711191926.07869.jnareb@gmail.com","threadId":"10921","inReplyTo":"b0943d9e0711190951u412b2c1apf6d7d48abdd59c07@mail.gmail.com","subject":"Re: StGIT 0.13 recognizes but not list packed StGIT controlled branches","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-11-19T18:26:07Z","receivedAt":"2007-11-19T18:26:07Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Catalin Marinas wrote:\n> On 19/11/2007, Jakub Narebski <jnareb@gmail.com> wrote:\n>>\n>> By the way, does StGIT write something meaningful by default in reflog\n>> messages? Because now my reflog looks like this:\n> \n> No, it leaves it up to GIT to write whatever it finds appropriate.\n\nBut StGIT uses plumbing (or in the future perhaps PyGIT library).\nAnd plumbing does not write by itself reflog messages. It is left\nfor porcelain (and StGIT being patch management interface is\nporcelain) to provide reflog message in GIT_REFLOG_ACTION.\n\n>> It would be really nice if StGIT wrote something meaningfull when\n>> updating ref, like \"stg refresh: <something>\", or \"stg rebase: <sth>\"...\n> \n> There is the 'stg log [<patch>]' command which shows the changes to a\n> specific patch. You can run it with -d (for the diff) or -g (to invoke\n> gitk).\n\nIf I remember correctly StGIT is made to be more friendly to and with\ncore-git. Providing reflog messages for \"git reflog\" / \"git log -g\"\nwould be nice.\n\nBesides 'stg log [<patch>]' is a bit orthogonal: it describes history\nof a patch, and I want history of HEAD or of branch head (with things\nlike refresh, new (!), goto, float / sink, rebase (!)).\n\n-- \nJakub Narebski\nPoland\n"}]}