From: Justin Frankel Date: Mon, 04 Oct 2010 14:20:52 GMT Subject: Re: RFC: checkout/temporary branch switch restoring modification times Message-ID: <4CA9E2C4.2040500@cockos.com> In-Reply-To: <20101004051148.GG24884@burratino> Jonathan Nieder wrote: > Hi, > > Justin Frankel wrote: > >> git cop master >> ; build >> git cop some-branch-that-affects-lots-of-files >> ; edit some things, commit >> git cop master >> ; build (fast, nothing changed) > > Interesting. I guess the intended use is that you only ever build > on the master branch? > The idea is that you're often building on a particular branch, but want to switch to another branch temporarily to either do a quick edit or to browse some code. > Have you ever tried the contrib/workdir/git-new-workdir script? > I find it fits the use case well for me: > > git clone $repo > cd repo > make > # oh, shoot! I need to try something out real quick. > cd .. > git new-workdir repo repo2 origin/master > cd repo2 > git am patch-to-test > make > # okay, back to what I was doing... > cd ../repo > > Maybe it could be helpful for you, too? > > Limitations: > > - requires a file system with support for symbolic links > (I think Pierre Habouzit and Junio discussed changing > that); > > - workdirs share refs. If you update master in one > workdir and another workdir also has master checked > out, the new changes will appear as staged changes. > > - workdirs do not share HEAD. "git gc" from one > workdir can completely trash another if it has a > detached HEAD pointing to a commit that is not part > of any local or remote branch. Ahh, that would be great. Unfortunately my filesystem often doesn't support symlinks... -Justin