{"thread":{"id":"10128","subject":"Problems using StGit and -rt kernel patchset","startedAt":"2007-10-03T14:19:26Z","lastAt":"2007-10-05T17:28:52Z","messageCount":3,"participants":["Clark Williams","Catalin Marinas"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"54712","messageId":"4703A4EE.3000002@gmail.com","threadId":"10128","inReplyTo":null,"subject":"Problems using StGit and -rt kernel patchset","fromName":"Clark Williams","fromEmail":"clark.williams@gmail.com","sentAt":"2007-10-03T14:19:26Z","receivedAt":"2007-10-03T14:19:26Z","isPatch":false,"sender":{"key":"clark.williams@gmail.com","avatar":null},"body":"-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA1\n\nHello all,\n\nI've been working on the -rt patch series for the kernel and would like to to use\nStGit to manage the patches. Unfortunately I've had limited success, so I thought I'd\nask the git/stgit community if what I'm doing is wrong.\n\nI clone Linus's tree to a common directory, then clone it locally to work:\n\n$ git clone -s -l /home/src/linux-2.6.git scratch.git\n$ cd scratch.git\n$ stg init\n$ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc8\n$ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc8-rt1/series\n<fix the things quilt lets through and stg barfs on, like malformed email addresses>\n<watch 368 patches be applied and committed>\n<work work work>\n<get a new patch queue>\n$ (cd /home/src/linux-2.6.git && git pull)\n$ stg pull\n$ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc9\n$ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc9-rt1/series\nChecking for changes in the working directory ... done\nstg import: env git-commit-tree 520b9d0db6a1142271a68b2b38cca002be40f6cb -p\nda0a81e98c06aa0d1e05b9012c2b2facb1807e12 failed (fatal:\nda0a81e98c06aa0d1e05b9012c2b2facb1807e12 is not a valid 'commit' object)\n\nAt this point I'm clueless as to:\n\n1. What I've done wrong\n2. How to recover/debug this\n\nI really like using stgit to manage the patch queue with each patch as a commit, so\nI'd prefer to figure out how to either use stgit properly, or fix whatevers going wrong.\n\nThanks,\nClark\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.7 (GNU/Linux)\nComment: Using GnuPG with Fedora - http://enigmail.mozdev.org\n\niD8DBQFHA6TuqA4JVb61b9cRAl12AJ0V3SNg9hO4cnFhefRS/mWdGF696ACeNspM\na+aLdBeFCHCPeyypUr6AwJQ=\n=Z2eU\n-----END PGP SIGNATURE-----\n"},{"id":"54951","messageId":"1191591921.7321.63.camel@pc1117.cambridge.arm.com","threadId":"10128","inReplyTo":"4703A4EE.3000002@gmail.com","subject":"Re: Problems using StGit and -rt kernel patchset","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@arm.com","sentAt":"2007-10-05T13:45:21Z","receivedAt":"2007-10-05T13:45:21Z","isPatch":false,"sender":{"key":"catalin.marinas@arm.com","avatar":null},"body":"Clark,\n\nWhat version of StGIT are you using? You might use a too new GIT with an\nolder StGIT or maybe there are just some bugs in StGIT.\n\nOn Wed, 2007-10-03 at 09:19 -0500, Clark Williams wrote:\n> I've been working on the -rt patch series for the kernel and would like to to use\n> StGit to manage the patches. Unfortunately I've had limited success, so I thought I'd\n> ask the git/stgit community if what I'm doing is wrong.\n> \n> I clone Linus's tree to a common directory, then clone it locally to work:\n> \n> $ git clone -s -l /home/src/linux-2.6.git scratch.git\n> $ cd scratch.git\n> $ stg init\n> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc8\n> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc8-rt1/series\n> <fix the things quilt lets through and stg barfs on, like malformed email addresses>\n\nIf git-quiltimport behaves better with malformed patches, use it and run\n'stg uncommit -n 368' afterwards (the 'uncommit' takes some other useful\noptions as well, see --help).\n\n> <watch 368 patches be applied and committed>\n> <work work work>\n\nDo you modify any of the -rt patches or you create new ones?\n\n> <get a new patch queue>\n> $ (cd /home/src/linux-2.6.git && git pull)\n> $ stg pull\n> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc9\n> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc9-rt1/series\n> Checking for changes in the working directory ... done\n> stg import: env git-commit-tree 520b9d0db6a1142271a68b2b38cca002be40f6cb -p\n> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 failed (fatal:\n> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 is not a valid 'commit' object)\n\nI'm not sure why the first import worked. It seems that StGIT uses the\ntag id (da0a81e9) rather than the corresponding commit id (3146b39c). I\nremember having this problem in the past when creating branches and I\nfixed StGIT to always get the corresponding commit id. Using\n'v2.6.23-rc9^{commit}' as the 'branch' argument rather than just the tag\nshould fix the problem.\n\n> At this point I'm clueless as to:\n> \n> 1. What I've done wrong\n\nProbably nothing (just hidden features of StGIT :-))\n\n> 2. How to recover/debug this\n\nYou can recreate the branch with the commit rather than tag id. With a\nsufficiently new StGIT, you could use 'stg rebase <id>' on the branch. I\nassume that no patch was pushed because import failed (though the first\nimported patch might be in an undefined state and can be removed).\n\nCatalin\n"},{"id":"54987","messageId":"47067454.3060003@gmail.com","threadId":"10128","inReplyTo":"1191591921.7321.63.camel@pc1117.cambridge.arm.com","subject":"Re: Problems using StGit and -rt kernel patchset","fromName":"Clark Williams","fromEmail":"clark.williams@gmail.com","sentAt":"2007-10-05T17:28:52Z","receivedAt":"2007-10-05T17:28:52Z","isPatch":false,"sender":{"key":"clark.williams@gmail.com","avatar":null},"body":"-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA1\n\nCatalin Marinas wrote:\n> Clark,\n> \n> What version of StGIT are you using? You might use a too new GIT with an\n> older StGIT or maybe there are just some bugs in StGIT.\n> \n\n$ stg --version\nStacked GIT 0.13\ngit version 1.5.3.3\nPython version 2.5.1 (r251:54863, Sep 14 2007, 10:49:05)\n[GCC 4.1.2 20070821 (Red Hat 4.1.2-23)]\n\n\n> On Wed, 2007-10-03 at 09:19 -0500, Clark Williams wrote:\n>> I've been working on the -rt patch series for the kernel and would like to to use\n>> StGit to manage the patches. Unfortunately I've had limited success, so I thought I'd\n>> ask the git/stgit community if what I'm doing is wrong.\n>>\n>> I clone Linus's tree to a common directory, then clone it locally to work:\n>>\n>> $ git clone -s -l /home/src/linux-2.6.git scratch.git\n>> $ cd scratch.git\n>> $ stg init\n>> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc8\n>> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc8-rt1/series\n>> <fix the things quilt lets through and stg barfs on, like malformed email addresses>\n> \n> If git-quiltimport behaves better with malformed patches, use it and run\n> 'stg uncommit -n 368' afterwards (the 'uncommit' takes some other useful\n> options as well, see --help).\n\nAh, I *knew* I had seen a git import command go by on the list. I may try that.\n\n> \n>> <watch 368 patches be applied and committed>\n>> <work work work>\n> \n> Do you modify any of the -rt patches or you create new ones?\n\nI've modified patches in the past, but normally I just apply patches on top of the\n- -rt patchset\n\n> \n>> <get a new patch queue>\n>> $ (cd /home/src/linux-2.6.git && git pull)\n>> $ stg pull\n>> $ stg branch --create rt-2.6.23-rc8-rt1 v2.6.23-rc9\n>> $ stg import --series --ignore --replace ../sources/patch-queue-2.6.23-rc9-rt1/series\n>> Checking for changes in the working directory ... done\n>> stg import: env git-commit-tree 520b9d0db6a1142271a68b2b38cca002be40f6cb -p\n>> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 failed (fatal:\n>> da0a81e98c06aa0d1e05b9012c2b2facb1807e12 is not a valid 'commit' object)\n> \n> I'm not sure why the first import worked. It seems that StGIT uses the\n> tag id (da0a81e9) rather than the corresponding commit id (3146b39c). I\n> remember having this problem in the past when creating branches and I\n> fixed StGIT to always get the corresponding commit id. Using\n> 'v2.6.23-rc9^{commit}' as the 'branch' argument rather than just the tag\n> should fix the problem.\n> \n\nGah, I just realized I typoed the above stg branch. It should have been named\nrt-2.6.23-rc9-rt1.\n\nHmmm, you're saying that when I want to create a branch that's based on a particular\ntag, I need to use this:\n\n$ stg branch --create rt-2.6.23-rc9-rt1 v2.6.23-rc9^{commit}\n\nThat is, add '^{commit}' to the tag I want to base from?\n\n>> At this point I'm clueless as to:\n>>\n>> 1. What I've done wrong\n> \n> Probably nothing (just hidden features of StGIT :-))\n> \n>> 2. How to recover/debug this\n> \n> You can recreate the branch with the commit rather than tag id. With a\n> sufficiently new StGIT, you could use 'stg rebase <id>' on the branch. I\n> assume that no patch was pushed because import failed (though the first\n> imported patch might be in an undefined state and can be removed).\n> \n\nI'm not really sure that 'stg rebase' is what I want, since I tend to go back and\nforth between -rt kernel and would like to leave them alone (i.e. not rebase the\nrt-2.6.23-rt8 branch to rt-2.6.23-rt9, but just create a new branch). Possibly I'm\nmissing a usage for stg rebase?\n\n\nThanks for the ideas. I'll go try some out right now!\n\nclark\n\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.7 (GNU/Linux)\nComment: Using GnuPG with Fedora - http://enigmail.mozdev.org\n\niD8DBQFHBnRUqA4JVb61b9cRAvoPAJsG4Ej3J6mSuHeT6KEpiRF33+4dcgCglmvT\n18DbpCixAt/x+Ug0pUn24cw=\n=oL/g\n-----END PGP SIGNATURE-----\n"}]}