in reply to carp up two levels

Probably not exactly what you want... but you could rethrow the error:

sub git { eval { implementation @_ }; carp $@ if $@; }

Update: BrowserUK's advice seems to be more helpful.