That last one is more common than I'd like, a lot more
post
cd ~/repos/work-project27
git checkout dev
git branch new_feature
### code for a few hours, close laptop, go to sleep, next morning
git checkout dev
### code for a few more hours, close laptop go to sleep, next morning
## "oh fuck, I already implemented this in new_feature but differently"
git checkout dev
git diff new_feature
## "oh no. oh no no no. oh fuck. I can't merge any of this upstream and my history is borked."
git clone git@workhub:work/work-project work-project28
cd ~/repos/work-project28
At university there were some students that want to manage projekts in could storange. That was just stupid but i didn't know it better at that time.
I'm sick...that's my excuse....
The last is just a normal git workflow, isn’t it?
the last one is just immutability, praised in modern JS / TS, albeit at the repo level
I "love" how JavaScript has slowly rediscovered every piece of functional programming wisdom that was developed before 1980.
Kind of, though they honestly just do pretend immutability. Object references are still copied everywhere.
Why did you mention git twice?
It’s actually a pretty good idea to have a full system snapshot time to time, where the project can compile successfully, for future Virtual Machine use. It’s usually easier to spin a VM than setting up the whole dev environment from scratch.
MyProject - Copy v2.bak new NEW (3)/
And when it’s release, then you rename it to
MyProject - Copy v2.bak new NEW (3) FINAL.2-19-24/
and then at the next standup, we all ponder how we can rename it to
MyProject - Copy v2.bak new NEW (3) FINAL.2/19/24/
because the team lead needs m/d/yy names with forward slashes
Git is so ready to understand, that I don't understand how people work without it.
As one of the maintainers of Mercurial, I take great offense in this meme. ;)
It’s definitely up with Git in my opinion. I much prefer the branching in Mercurial.
It’s certainly very offensive to lump it in the same band as SVN and TFVC.
What could possibly be preferrable to git switch -c <branchname>?
It’s not the mechanism of branching that I prefer.
It’s the fact that Mercurial tags the commit with the name of the branch that it was committed to which makes it much easier to determine whether a commit is included in your current branch or not.
Also, Mercurial has a powerful revision search feature built in which I love (https://www.mercurial-scm.org/doc/hg.1.html#revisions).
I admit that I have been bitten by the fact that commits don’t have a “true home branch”.
It’s the fact that Mercurial tags the commit with the name of the branch that it was committed to which makes it much easier to determine whether a commit is included in your current branch or not.
Isn't this trivial in Git too? git branch --contains COMMIT ?
Given that Git and Mercurial were both created around April 2005 to serve the same purpose by very similar people for the same reason... I'd say it's fair!
cp $fic $fic.$(date -Iseconds)
git commit -a -m "save at $(date -Iseconds)"
# edit $fic
git commit -a -m "save at $(date -Iseconds)"
git push -f
Couldn't add perforce to the list because someone else was checking it out, I see.
btrfs sub snap -r
Isn't that just git with more steps and harder to share?
And worse than all of those options is Visual Sourcesafe.
I do miss the tags of SVN that would replace certain strings on each commit such as the date, a version number, etc.
I miss mercurial and it's far more sensical flags and commands...
Me too. It also handled some situations, like divergent lines in the same branch or obsolete changes, much better.
It's still here and very much alive in case you were curious.
The last one can easily describe Django. Feels like depending on the code base/your mistakes/people you work with can easily turn a normal project into a project where majority of the files is just migration files.


top 50 comments