A Galaxy Brain meme showing the best version control systems

top 50 comments

sorted by: hot top controversial new old
[–] 44 points 2 years ago (2 children)

That last one is more common than I'd like, a lot more

  • source
  • hideshow 2 child comments
  • [–] 38 points 2 years ago* (2 children)
    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
    
  • source
  • hideshow 2 child comments
  • [–] 17 points 2 years ago (5 children)

    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.

  • source
  • hideshow 5 child comments
  • [–] 48 points 2 years ago (4 children)
  • [–] 13 points 2 years ago (1 child)

    The last is just a normal git workflow, isn’t it?

  • source
  • hideshow 1 child comment
  • [–] 12 points 2 years ago (4 children)

    the last one is just immutability, praised in modern JS / TS, albeit at the repo level

  • source
  • hideshow 4 child comments
  • [–] 16 points 2 years ago (3 children)

    I "love" how JavaScript has slowly rediscovered every piece of functional programming wisdom that was developed before 1980.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 2 years ago (2 children)

    Kind of, though they honestly just do pretend immutability. Object references are still copied everywhere.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 10 points 2 years ago (1 child)

    Why did you mention git twice?

  • source
  • hideshow 1 child comment
  • [–] 7 points 2 years ago*

    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.

  • source
  • [–] 7 points 2 years ago (1 child)

    MyProject - Copy v2.bak new NEW (3)/

  • source
  • hideshow 1 child comment
  • [–] 3 points 2 years ago

    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

  • source
  • parent
  • [–] 6 points 2 years ago (1 child)

    Git is so ready to understand, that I don't understand how people work without it.

  • source
  • hideshow 1 child comment
  • [–] 6 points 2 years ago* (7 children)

    As one of the maintainers of Mercurial, I take great offense in this meme. ;)

  • source
  • hideshow 7 child comments
  • [–] 5 points 2 years ago (6 children)

    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.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 5 points 2 years ago (4 children)

    What could possibly be preferrable to git switch -c <branchname>?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 years ago (3 children)

    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).

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 2 years ago (2 children)
    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
    
  • source
  • hideshow 2 child comments
  • [–] 4 points 2 years ago

    Couldn't add perforce to the list because someone else was checking it out, I see.

  • source
  • [–] 4 points 2 years ago (4 children)
  • [–] 1 point 2 years ago (2 children)

    Isn't that just git with more steps and harder to share?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 2 years ago (1 child)

    And worse than all of those options is Visual Sourcesafe.

  • source
  • hideshow 1 child comment
  • [–] 3 points 2 years ago*

    CVS is gonna make a comeback! I tell ya!

  • source
  • [–] 3 points 2 years ago

    I do miss the tags of SVN that would replace certain strings on each commit such as the date, a version number, etc.

  • source
  • [–] 2 points 2 years ago (4 children)

    I miss mercurial and it's far more sensical flags and commands...

  • source
  • hideshow 4 child comments
  • load more comments (1 reply)
    [–] 2 points 2 years ago

    No love for cvs?

  • source
  • [–] 1 point 2 years ago

    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.

  • source
  • load more comments
    view more: next ›