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 master2. 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