From: Bradford Smith Date: Wed, 11 Jul 2007 12:59:57 GMT Subject: cg switch -l doesn't work when branches point to the same commit Message-ID: The message below applies to software versions: git version 1.4.4.2 cogito-0.18.2 Why doesn't cg switch -l save local changes when you switch to a branch that points at the same commit you're already on? Here's the case I ran into. 1. On my master branch I was part of the way through making a fairly complex change when I discovered an unrelated bug. So, I wanted to: a. move my partial changes to a topical branch b. fix the bug on master c. finish my changes on the topical branch d. merge the topical branch back into master 2. I didn't really want to _commit_ my partial changes yet, though, because I was really in mid-thought there, so I wanted to do it this way: # create the topical branch, carrying my local changes along with me cg switch -c topical-branch # switch back to master, leaving my local changes with the topical branch cg switch -l master # fix bug on master then cg commit # switch back to topical branch cg switch topical-branch # continue with changes and eventually cg commit cg switch master cg merge topical-branch Unfortunately, I found that 'cg switch -l master' did NOT save my local changes. I had to switch back to the branch, commit my partial changes, then back to master to fix the bug. So, I was able to work around this, but I still found the behavior surprising. If this is expected behavior, shouldn't it be documented in the cg-switch man page? BTW, in a test repository/working directory I was able to confirm that cg switch -l worked as documented when the two branches involved pointed to different commits. Thanks, Bradford C. Smith