• Echo Dot@feddit.uk
      link
      fedilink
      arrow-up
      0
      ·
      3 days ago

      It’s one of those things that’s hard to really understand why it’s so useful, until you actually use it.

  • yogsototh@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    4 days ago
    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
    
  • 0101100101@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 days ago

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

    • Jyek@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      3 days ago

      I’m pretty sure it means, they copy and paste the project file and iterate the version number manually.

    • nogooduser@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 days ago

      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.

        • nogooduser@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 days ago

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

          • bleistift2@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            0
            ·
            3 days ago

            I admit that I have been bitten by the fact that commits don’t have a “true home branch”.

          • balsoft@lemmy.ml
            link
            fedilink
            arrow-up
            0
            ·
            4 days ago

            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 ?

      • Alphare@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 days ago

        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!

  • 0x01@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    5 days ago

    I knew a dude who would burn a cd every week and store it in his house as his version control, his software is still used by hundreds of businesses to this day

  • Tamlyn@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    5 days ago

    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.

    • lars@lemmy.sdf.org
      link
      fedilink
      arrow-up
      0
      ·
      4 days 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

  • tetris11@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    5 days ago
    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
    
  • mEEGal@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    5 days ago

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

    • frezik@midwest.social
      link
      fedilink
      arrow-up
      0
      ·
      5 days ago

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

      • expr@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        5 days ago

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

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          0
          ·
          4 days ago

          I find you need the whole ecosystem to support immutability to make it work. Every library needs to be based around it. Elixir is about the only modern option that does.

  • Ugurcan@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    5 days 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.