Small refactoring of spec
Add failing test for new functionality
Specs for processing the new syntax and implementation

Will have to use really long keys, because short keys might
accidentally match a source file string because [] on a
String key matches does a substring match, e.g.
["in"] will match "destination"!
Add short comment for clarification
Write spec & implement the command with the scary output
Spec & implementation for push -f
Tying it all together
Stupid spaces
...again
Fixed subtle [] matching bug
Refactoring

Possible the spec "can have sources to purge from history"
is no longer necessary?
You asked for it - you got it!