{"thread":{"id":"700","subject":"git-switch-tree script","startedAt":"2005-05-23T07:24:22Z","lastAt":"2005-05-23T07:24:22Z","messageCount":1,"participants":["Jeff Garzik"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"3797","messageId":"42918526.1060406@pobox.com","threadId":"700","inReplyTo":null,"subject":"git-switch-tree script","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-05-23T07:24:22Z","receivedAt":"2005-05-23T07:24:22Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"This is what I use to switch between branches, in my kernel trees.\n\n\tJeff\n\n\n\n\n#!/bin/sh\n\nif [ \"x$1\" != \"x\" ]\nthen\n\tif [ \"$1\" == \"master\" ]\n\tthen\n\t\t( cd .git && rm -f HEAD && ln -s refs/heads/master HEAD )\n\telse\n\t\tif [ ! -f .git/refs/heads/$1 ]\n\t\tthen\n\t\t\techo Branch $1 not found.\n\t\t\texit 1\n\t\tfi\n\n\t\t( cd .git && rm -f HEAD && ln -s refs/heads/$1 HEAD )\n\tfi\nfi\n\ngit-read-tree -m HEAD && git-checkout-cache -q -f -u -a\n\n"}]}