{"thread":{"id":"43516","subject":"Re: v2.6.11 tag in kernel tree","startedAt":"2006-11-30T04:02:23Z","lastAt":"2006-11-30T19:11:02Z","messageCount":4,"participants":["Linus Torvalds","Jon Smirl","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"295828","messageId":"9e4733910611292002o289dc4d1u7bde2d457fa97d73@mail.gmail.com","threadId":"43516","inReplyTo":null,"subject":"v2.6.11 tag in kernel tree","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-11-30T04:02:23Z","receivedAt":"2006-11-30T04:02:23Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"Using this tree git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nThese two tags appear to be pointing to a tree instead of a commit.\nv2.6.11\nv2.6.11-tree\n\nI'm trying to check out v2.6.11 so that I can figure out the changes a\nvendor made to it.\n\njonsmirl@jonsmirl:/extra/linux$ git checkout -b microcross v2.6.11\nCannot switch branch to a non-commit.\n\nI can checkout the other tags without problem.\n\nWhat's the secret to checking out 2.6.11?\n\n-- \nJon Smirl\n"},{"id":"296925","messageId":"7v7ixdlg1e.fsf@assigned-by-dhcp.cox.net","threadId":"43516","inReplyTo":"9e4733910611292002o289dc4d1u7bde2d457fa97d73@mail.gmail.com","subject":"Re: v2.6.11 tag in kernel tree","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-11-30T04:22:37Z","receivedAt":"2006-11-30T04:22:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Jon Smirl\" <jonsmirl@gmail.com> writes:\n\n> I'm trying to check out v2.6.11 so that I can figure out the changes a\n> vendor made to it.\n>\n> jonsmirl@jonsmirl:/extra/linux$ git checkout -b microcross v2.6.11\n> Cannot switch branch to a non-commit.\n\nSorry, you cannot check it out directly, and there is no easy\nway to start a new branch from a bare tree.\n\nI would create a temporary branch from any commit and reset the\nworking tree with it.\n\n\tgit checkout -b temp master\n        git read-tree -m -u v2.6.11-tree\n\nOne BIG caveat is that this in state, only your index and the\nworking tree can be trusted.  The history of temp branch does\nnot have anything to do with v2.6.11 -- a bare tree object does\nnot have any history behind it (or on top of it, for that\nmatter).\n\nA slightly more elaborate way would be\n\n        $ git checkout -b v2.6.11-phoney $(echo 'phoney v2.6.11' |\n\t        git commit-tree v2.6.11-tree^{tree})\n\nto create a parentless commit that has v2.6.11-tree, and make\nthat your current branch.  But again this commit does not have\nany relationship in history with the development line that leads\nto v2.6.19 just released.\n\nYou could graft it as the parent of v2.6.12-rc2 (the first\ncommit in git era) after doing the above:\n\n\t$ parent=$(git-rev-parse v2.6.11-phoney^0)\n        $ commit=$(git-rev-parse v2.6.12-rc2^0)\n\t$ echo $commit $parent >>.git/info/grafts\n\nand pretend as if v2.6.12-rc2 is a child of v2.6.11-phoney.\n\n"},{"id":"295237","messageId":"Pine.LNX.4.64.0611300758290.3513@woody.osdl.org","threadId":"43516","inReplyTo":"9e4733910611292002o289dc4d1u7bde2d457fa97d73@mail.gmail.com","subject":"Re: v2.6.11 tag in kernel tree","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-11-30T16:04:30Z","receivedAt":"2006-11-30T16:04:30Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Wed, 29 Nov 2006, Jon Smirl wrote:\n>\n> Using this tree\n> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n> \n> These two tags appear to be pointing to a tree instead of a commit.\n> v2.6.11\n> v2.6.11-tree\n\nYes. We don't have that as a commit. The commit history starts with \nv2.6.12-rc2.\n\n> I'm trying to check out v2.6.11 so that I can figure out the changes a\n> vendor made to it.\n\nYou can't check it out, since it's not a commit, but since it is a tree, \nyou can:\n\n - use it as a base for \"git diff\"\n\n\tgit diff v2.6.11 <any-commit-goes-here>\n\n - or if you want to use it as a base for development, create a new commit \n   and branch from it:\n\n\tgit-commit-tree v2.6.11 <<EOF\n\tThis is an initial commit starting at the state of Linux-v2.6.11\n\tEOF\n\n   and then you can take the resulting SHA1 (that it wrote out to stdout), \n   and do\n\n\tgit checkout -b my-new-branch <sha1thatyoujustgot>\n\nHowever, whatever you do, it won't be connected to the rest of the git \nhistory.\n\nAnother possibility may be to get the historical Linux tree (which _does_ \nhave a real v2.6.11, and that you _can_ graft together with the current \ntree, and thus get full history), and then use that grafted whole-history \ntree for whatever you want to do. That allows you to do things like \nrebasing the end result (if you started a new branch based on 2.6.11) etc, \nsince it's now all connected.\n\n"},{"id":"296758","messageId":"9e4733910611301111j3bc3b641ge46c5e80b19c469c@mail.gmail.com","threadId":"43516","inReplyTo":"Pine.LNX.4.64.0611300758290.3513@woody.osdl.org","subject":"Re: v2.6.11 tag in kernel tree","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-11-30T19:11:02Z","receivedAt":"2006-11-30T19:11:02Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"Thanks for the replies, I got it working. I'm trying to decipher the\nchanges a vendor made to 2.6.11 when they ported it to an ARM device\nand peripherals.\n\nIt is the usual situation of releasing a GPL tarball without any\ndocumentation as to what they changed.\n\n-- \nJon Smirl\n"}]}