Message from @Ƶero
Discord ID: 463907123877904386
Weird, I never seen that.
You have to go out of your way to fuck up a mercurial repo.
dude, the people who were using it were/are idiots
WordPress shop
outsources 90% of their work to the philippines
couldn't do a mysql dump on the command line to save their lives - they literally installed some admin panel software just to do dumps
I wrote them scripts to do a bunch of shit
Worst repos I had to work with were git, full of hooks everywhere. You literally couldn't commit anything without first setting up a bunch of environment variables and having certain special programs installed.
ugh that's pretty terrible
worst hook issue I ever encountered was someone set up a repo where you had to tie an issue that you created beforehand to a push. It actually worked well beause they kept track of things that way but it was a pain in the ass
litearlly that's what feature branches are for
Even worse, the project manager would delete the entire development branch from the repo's history every 2 weeks because he fucked something up. Suddenly I couldn't even pull any new changes from the repo, because the branch where I forked off to do my work didn't exist.
well I can't say I condone everyone working in the same branch, but I can feel your pain there
We didn't work on the same branch, we would each fork off the "devel" branch into our own feature branch.
But once the "devel" branch disappears entirely from the repo's history, git errors out.
aah so you mean people would have offsets beause some people had more commits than others before the devel branch dissapeared
and merge conflicts and crap
And the hooks prevented it from looking at my own repo's "devel" branch. If you do that in Mercurial (and I assume unhooked git), the missing nodes would be restored automatically.
did he also rebase shit constantly?
He was the one that would merge the feature branches back into "devel" and eventually merge it into "stable."
I think your preference for mercurial here may be more an issue of dealing with people who use git poorly than actual faults of git
kind of like how I dislike STL in C++
Nah, on git, it's a feature to change the history of the repo, on hg, the feature is that you **can't** change the history.
I get what you're saying, but absue of a feature and availability of the feature aren't the same thing
I like that I can change history in git, and have used that with a purpose, but I don't abuse it
I also basically never set hooks
My gripes with git:
* Documentation sucks. It was much, much worse, but it still sucks; 99% of git users needs to locate a stackoverflow answer through google if their commit/pull/push/merge doesn't work off the bat.
* Many common commands are convoluted, you sometimes need the collateral effect of a different command, because it wasn't designed to help the programmer complete tasks.
* Why the fuck does it have to use different naming scheme from every other source control tool out there?
```
I make a one-line change to a single file.
I commit my change.
I git push, only to be told “! [rejected] master -> master (non-fast forward)”. (This is git’s cuddly way of telling you to do a pull first.)
I git pull, only to be told “CONFLICT (content): Merge conflict in filename. Automatic merge failed; fix conflicts and then commit the result.”
```
I also have the most plain vim and zsh configurations. I hate people who customize stuff to the point you have to ask them how to do anything on their setup becuase they've overwritten standard stuff or things behave differently to non standard.
I used to have a clip of Warf demading someone change the layout of the LCARS display to standard to refer to this
In Mercurial, if you really need to, say, wipe something out of the repo, you can roll back, deleting everything, then re-do the commits. But any other copy will see what happened, they won't be fooled.
I'd rather have a tool that ensures some security.
aah I feel you on that point
git rebasing can quickly beome a mess
the naming I don't have so much of an issue with
specifically because git acts differently, so having the same naming could acutally be dangerous in some cases
Then there's the whole problem of git insisting of tracking individual files, just like old CVS.
Might be useful for Linus, that likes to have a bunch of patches lying around in the repo, and swaps in and out various files.
tbh I do that as well
but I clean things up before I merge