I'm going to reply to your post on the commuting forum as well, but...
It's entirely possible your shifter and derailleur are fine. Your front shifter is designed to allow you to pull slightly more cable in with it than it will hold. Essentially, if the system is working right, you pull the shifter past its "catch" point and it pulls some extra cable, (helping make sure the chain is forced to jump to another chainring) and then it slides back to its catch point, letting a little bit of cable out. When you have too much cable, pulling the shifter past its catch point pulls the derailleur over enough to shift gears, but then when the cable is let out while the shifter goes back TO its catch point, the gear shifts back.
The chance is also quite good that your shifter isn't working. I don't know what kind of shifter you have. (is it a grip-shift where you twist the grip, is it a trigger-shifter where you have two buttons, one to upshift and one to downshift, or is it something else?) But shifters typically can't be repaired and are cheap to replace. But a shifter that isn't working correctly can sometimes be convinced to do its job by a liberal dose of WD-40. If the thing's not working right, you don't have much to lose- just spray some of the stuff on the shifter's innards and see what happens.