yes. it sucks like nothing on the planet has ever sucked ever. period. end of story.
let’s see… what are the things you want to be able to do in a version control system?
add files. check!
commit changes. check!
revert to a previous version. uh oh… you can’t do that!!!
it just screws up your checkout. but, thank god i can stream in partial branches and merge all fancy across checkouts and all kinds of “neat” shit 99% of the people don’t use.
seriously.
all i want to do is revert my code back 2 versions ago. i manage to get it that far… good. now, just commit it back.
uh oh!
$ git commit
# On branch master
# Your branch is behind ‘origin/master’ by 2 commits.
#
nothing to commit (working directory clean)
what the FUCK do you mean nothing to commit. you just told me it’s FUCKING DIFFERENT two minutes ago when i rest it to a previous version!
it keeps trying to fast-forward or something — like i might want to do that?
NO!
if i wanted to be at the head version, i wouldn’t have reset it to two versions ago! if i wanted to fast-forward any of the damn files, i’d say “fast-fucking-forward!”
no. i’m saying “motherfucking commit what i tell you to goddamn commit!”
so, i’m like “fine! i’ll just re-pull the files.” i delete the files on the file system and do this:
$ git pull
Enter passphrase for key ‘/c/Users/Chris/.ssh/id_rsa’:
Already up-to-date.
i’m sorry, but, WTF?!?!?
i just fucking deleted half the files in the checkout! THEY ARE NOT THERE! HOW CAN THEY BE UP TO DATE?
bottom line?
after an hour of futzing around trying to figure out how stupid git thinks, i’m having to completely delete and re-checkout the entire repo — all 300 mb of it. great…
twice now, i’ve done that.
tonight.
which is why i have this time to write this. because i’m waiting for fucking git to fucking download a bunch of shit when i only wanted to update — excuse me — “pull” about 30kb of files.
you know how you do this in svn?
svn revert -r1234
svn commit
done.
end of story.
oh, by the way… git sucks.
m3mnoch.