I like to use multiple directories using git-new-workdir ( http://www.google.com/search?q=git-new-workdir). I tend to keep one directory for "trunk" and one for whatever branch I'm working on (and if I'm working on a few branches, then I'll keep a few directories). I still swap branches in the different directories at times but this way I can keep files from being modified unnecessarily when I'm working on a particular branch and want to rebase or want to do a quick change on a another branch, etc.
This solves several of your issues. dave On Fri, Sep 18, 2009 at 8:48 AM, Nico Weber <[email protected]> wrote: > > Oh, and I forgot one: > > 3.) When I switch branches, XCode likes to rebuild a lot of stuff > (considerably more than necessary), which takes forever (30-90 min) on > my machines, which makes switching branches very heavyweight for me – > enough so that I considered having multiple independent checkouts. > Does anybody else see this / have a good answer to this? (This seems > to happen more often recently (?)) > > Also, XCode seems to get very confused and slow if it's open while I > switch branches, so I started to close my current project while > switching branches and reopen the project afterwards. This results in > XCode having to do a lot of "Checking Dependencies…" even if it > decides to not rebuild the whole project. > > Anybody else seeing this? (I guess this point won't have actionable > answers, as it's more of a diffuse complaint :-P) > > On Fri, Sep 18, 2009 at 8:27 AM, Nico Weber <[email protected]> wrote: > > In which the author reveals that he is a complete utter git n00b. > > > > Hi folks, > > > > I've been using git instead of svn for about 2 months now. Overall, > > I'm a happy user, but there are a few issues. Perhaps someone can help > > me with them. > > > > 1.) When doing `git cl dcommit`, I always get > > > > "Transaction is out of date: File > > '/trunk/src/chrome/app/generated_resources.grd' is out of date at > > /opt/local/libexec/git-core/git-svn line 469 > > > > Command "git svn dcommit --no-rebase" failed. > > > > at first. The first few times, I tried a `git svn rebase`, but that > > always told me that > > > > Last fetched revision of refs/remotes/origin/trunk was r22892, but we > are > > about to fetch: r21840! > > > > and didn't help. Now I always do `rm -rf .git/svn && git svn fetch` > > before `git cl dcommit`. After that, `git cl dcommit` then tells me > > that > > > > Base branch "refs/remotes/origin/trunk" has 24 commits not in this > branch. > > Run "git merge refs/remotes/origin/trunk" before attempting to dcommit. > > > > which I do, and after that committing works. However, blowing away all > > svn information and regenerating it each time seems stupid. What am I > > doing wrong, and how can I do it better? > > > > 2.) I often have 3-5 feature branches. When one of them is of them is > > getting ready to submit, I usually rebase it on ToT before sending it > > to the try servers. I do this thusly: > > > > git checkout trunk > > git pull > > git checkout myfeaturebranch > > git rebase trunk > > > > (this can probably be done in an easier way, but it works and is > > easily put into a bash alias, so I looked only briefly for a better > > way, and didn't find anything). Now, when I want to work on the other > > branches, I always rebase them to trunk when I switch to them, i.e. I > > run > > > > git checkout otherbranch > > git rebase trunk > > > > If I didn't use that branch for a week or so, the first step takes > > quite some time to remove all the changes that I pulled in since last > > using my branch, while the second step takes about the same time to > > undo all the work that the first step did, which seems stupid. Is > > there a command for "go to that branch, but rebase it immediately"? > > > > Thanks, > > Nico > > > > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
