{"thread":{"id":"2831","subject":"RE: new file leaked onto release branch","startedAt":"2005-12-14T09:41:32Z","lastAt":"2005-12-14T09:41:32Z","messageCount":1,"participants":["Brown, Len"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"13614","messageId":"F7DC2337C7631D4386A2DF6E8FB22B300567ED87@hdsmsx401.amr.corp.intel.com","threadId":"2831","inReplyTo":null,"subject":"RE: new file leaked onto release branch","fromName":"Brown, Len","fromEmail":"len.brown@intel.com","sentAt":"2005-12-14T09:41:32Z","receivedAt":"2005-12-14T09:41:32Z","isPatch":false,"sender":{"key":"len.brown@intel.com","avatar":"https://gravatar.com/avatar/a091f34f66caadb51d85a8a496800c6ccae73737e2f45762373e6b8c55fa5dd6?d=mp&s=160"},"body":">> I package up a tar-file for the remote machines with\n>> git-tar-tree $BRANCH $REPO | gzip -1 > $TARFILE\n>> But I still need to generate a patch containing all the local\n>> changes that I haven't checked into git yet.\n>\n>Let me understand what you have correctly:\n>\n>    You have the latest commit, changes needed to be tested in\n>    working tree, and index is somewhere in-between, because of\n>    \"git-update-index --add\" you did for patch generation; but\n>    ideally you would want to keep HEAD and index in sync.\n\nRight, I updated the index so that git diff would work.\n\nI guess I don't really have my head around the index concept.\nYes, it seems perhaps that HEAD and index disagreeing about what is\nin the repo is what caused the problem at hand.\n\n>And you need a way to do the above tar-tree + patch equivanent\n>to move what you have in your working tree to other machines for\n>pre-commit testing.  Some random thoughts on ways to do it.\n>\n>(1) NFS with \"make O=dir/to/store/output/files/\"?\n\nI think I prefer the build boxes to be more independent.\n\nThey build about a dozen kernels from scratch each,\nso I can't really keep my working repo frozen for\nthe duration of the builds.\n\nAlso, sometimes I have them building different branches\nand different versions, depending on what is going on.\n\nAlso, sometimes I apply a local test patch to the\nbuild box that isn't (yet) shared with the other boxes.\n \n>(2) Do you have git on other build boxes?  Perhaps\n>\n>    mainbox$ edit on \"acpica\" branch\n>    mainbox$ git checkout -b build-test ;# branch from it\n>    mainbox$ git add some files\n>    mainbox$ git commit -a -m \"Build test $(date)\" ;# take all\n>\n>    mainbox$ ssh i386box\n>    i386box$ git pull mainbox:/home/lnx/.git build-test\n>    Fast forward.\n>    i386box$ make ;# happy\n>\n>    mainbox$ git checkout acpica ; git pull . build-test ;# \n>fast forward\n\nsure, I have git everwhere.  But check-in is not a lightweight\nprocess for me -- I like to get the contributor & comments right\non the check-in as if I'm creating permanent history.  I hate\nchecking in a patch just to have to check in a build fix for\nit 20 minutes later.\n\nthis is why I use quilt.  I just pop the patches, fix the\nbroken one, and push them back.  after build and boot tests,\nthat is when I do the git commit.\n\n>(3) Tarball approach, but taking the local modifications along\n>    as well:\n>\n>    mainbox$ git update-index all-changed-paths-not-just-add\n>    mainbox$ git-tar-tree $(git-write-tree) $REPO | gzip >$TARFILE\n>    mainbox$ git reset ;# unregisters all mods since HEAD from index\n>    mainbox$ scp $TARFILE i386box:/home/lnx/\n>\n>I suspect the last one is the least disruptive to your existing\n>workflow.\n\nyes, this is along the lines of what I do now.\ndo these steps capture the changed uncommited source files in\nmy repo?\n\nactually, since the mis-hap with the update-index, what I do now\nis a make clean mrproper, move the .git directory out of the source tree\ntar what is left, and then restore the .git directory...\nthis has the nice side effect of taking along the quilt patches directory,\nand sometimes I've found it useful to do individual build/test\nbetween patches in the quilt stack, though I'd probably lose track\nof what I'm doing if I did that all the time.\n\nthanks,\n-Len\n"}]}