There are two branches of Confluence development: the 1.0.x branch for patches to the released version, and the HEAD for everything that's going into the soon-to-be-released 1.1. Pretty straightforward so far.
So I sit down early on a Monday morning, assign an issue to myself from JIRA and start hacking. Neato, hibernate's ability to drop back to SQL can let me push some work the view was doing back into the database layer. I get the changes to the database layer done, drop back to make the necessary changes to the next layer up, and notice that some other changes I'd made last week just weren't there.
I was working on the branch by mistake.
Copy out some of the code I want to save, roll back the changes, close IDEA... oops, I just wanted to change projects. Oh well, open IDEA again, let's put that code where it should be. I get the changes to the database layer done, drop back to make the necessary changes to the next layer up, and notice that some other changes I'd made last week just weren't there.
There's a call on line two for Charles from a Mr Deja Vu. He says you left your brain at home, and would you like to pick it up?
It's like that game with the three cups, except there's only two cups, and one of them has this big black X on the top in permanent marker. And I still lost.