{"thread":{"id":"10817","subject":"stgit 0.13 + git 1.5.3.5 bogus \"empty patch\" status, and other problems","startedAt":"2007-11-12T00:39:42Z","lastAt":"2007-11-15T16:37:36Z","messageCount":2,"participants":["Adam J. Richter","Catalin Marinas"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"59407","messageId":"200711120039.lAC0dgex015049@freya.yggdrasil.com","threadId":"10817","inReplyTo":null,"subject":"stgit 0.13 + git 1.5.3.5 bogus \"empty patch\" status, and other problems","fromName":"Adam J. Richter","fromEmail":"adam@yggdrasil.com","sentAt":"2007-11-12T00:39:42Z","receivedAt":"2007-11-12T00:39:42Z","isPatch":false,"sender":{"key":"adam@yggdrasil.com","avatar":null},"body":"Hi Catalin,\n\n\tI want to report two problems, at least one of which may be\ndue to some other environmental change such as a git upgrade.\n\n\tThe first bug is less perhaps serious, and perhaps not new,\nbut it's easier to describe this one first.\n\n\tI have a small stack of patches in stgit for a source tree.\nOne of these patches modified a yacc grammer \"parser.y\", which, in\nturn, causes the yacc files y.tab.{c,h} to be rebuilt.  y.tab.{c,h}\nare included in the source tree for build environments that lack yacc.\nSometimes my attempts to check out a new source tree and rebuild would\nresult in y.tab.{c,h} not being built, probably due to 1 second\ntimestamp granularity somewhere (the ext3 file system, make, git,\nstgit, whatever), probably not stgit's fault.\n\n\tSo, did repeated \"stg pop\" commands to get to the point where\nthe change to parser.y is applied, did an \"stg new\", deleted\ny.tab.{c,h}, did \"stg rm y.tab.{c,h}\" and \"stg refresh\".  So far, so\ngood.  Then I tried to do an \"stg push\" to re-integrate the next\npatch, and I got a complaint from stgit about some git object not\nexisting.  This patch did not touch y.tab.{c,h} or any files touched\nby any of the other patches I had pushed on.  I don't know stgit well\nenough to recover from the situation gracefully, so I just wiped the\nstgit tree and tried to apply the patches again, which brings me to\nbug #2.\n\n\tI made a new stgit tree of the program (bash), pulling from a\nlocal git tree, and attempted to apply the first patch, with usuaul\n\"stg new...make changes...stg refresh\".  Then stg refresh informed\nprinted this message (\"invalid_multibyte_sequence\" is the name of the\nnew patch):\n\nChecking for changes in the working directory ... done\nRefreshing patch \"invalid_multibyte_sequence\" ... done (empty patch)\n\n\t\"stg diff\" still shows the changes as if I had not done an\n\"stg refresh\".  Obviously, stg commits have worked for me in the past.\nI suspect that a recent upgrade of git or other system software\ntriggered the break.\n\n\tI'll try to pass along what I find if I start debugging this\nproblem, but I probably won't be able to get into that immediately, so\nI am just passing this data along for now in the hopes that it may be\nhelpful for someone else.\n\nAdam\n"},{"id":"59998","messageId":"b0943d9e0711150837w2812dd8x8990eb6e17a5344d@mail.gmail.com","threadId":"10817","inReplyTo":"200711120039.lAC0dgex015049@freya.yggdrasil.com","subject":"Re: stgit 0.13 + git 1.5.3.5 bogus \"empty patch\" status, and other problems","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2007-11-15T16:37:36Z","receivedAt":"2007-11-15T16:37:36Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 12/11/2007, Adam J. Richter <adam@yggdrasil.com> wrote:\n>         So, did repeated \"stg pop\" commands to get to the point where\n> the change to parser.y is applied, did an \"stg new\", deleted\n> y.tab.{c,h}, did \"stg rm y.tab.{c,h}\" and \"stg refresh\".  So far, so\n> good.  Then I tried to do an \"stg push\" to re-integrate the next\n> patch, and I got a complaint from stgit about some git object not\n> existing.  This patch did not touch y.tab.{c,h} or any files touched\n> by any of the other patches I had pushed on.\n\nI don't know the exact error but are you sure that changes to\ny.tab.{c,h} are not involuntarily included in other patches?\n\n> I don't know stgit well\n> enough to recover from the situation gracefully, so I just wiped the\n> stgit tree and tried to apply the patches again, which brings me to\n> bug #2.\n\nIf the error is a conflict, 'stg push --undo' should revert the pushed\npatch to its previous state. Otherwise, fix the conflict and run 'stg\nrefresh'.\n\n>         I made a new stgit tree of the program (bash), pulling from a\n> local git tree, and attempted to apply the first patch, with usuaul\n> \"stg new...make changes...stg refresh\".  Then stg refresh informed\n> printed this message (\"invalid_multibyte_sequence\" is the name of the\n> new patch):\n>\n> Checking for changes in the working directory ... done\n> Refreshing patch \"invalid_multibyte_sequence\" ... done (empty patch)\n>\n>         \"stg diff\" still shows the changes as if I had not done an\n> \"stg refresh\".  Obviously, stg commits have worked for me in the past.\n> I suspect that a recent upgrade of git or other system software\n> triggered the break.\n\nI haven't seen this type of error before. There might be some\ninconsistency between the HEAD and the index. Can you try\n'git-read-tree HEAD' and run 'stg refresh' afterwards?\n\nYou might also want to try the latest StGIT snapshot. It should be\npretty stable as we are preparing it for a 0.14 release.\n\n-- \nCatalin\n"}]}