genrep: fix end commit for good (hopefully)

seems it messes up when it's a new project, or something???

also, relative values (e.g. -2) only work *without* carets. because of
all these randoms problems, I've simply added another option -f for
'fixing' the end hash (i.e. surrounding it with carets).