• We use perforce at work (I use git with smartgit and TortoiseGit UI, whatever I feel like) on unity I use a package called wise for unity, which is really cool and I wish would exist in Godot.

    We use perforce because we have a lot of unreal and unity and admittedly git is really bad with big binaries. It was never designed for that and git lfs ist basically just a bandaid.

    In general for gamedev you’ll run into a problem that a scene will be modified by 2 people. For that it is good to have perforce, as it locks a file and will tell you, that someone is working on it. Git lfs has something similar, but the again. This file locking is not yet supported by Godot.

    But yes for unity and unreal at work… Even if perforce is expensive and not open source and I miss git-branches, it is an important tool and was worth the money for a company.

    For your own small projects I recommend git with git-lfs

  • tschesky@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 hours ago

    I mostly use git and I’ve recently been exploring anchorpoint as a way to bridge the gap between me and the less technical friends. It’s does the job reallt well and I’ve been happy with it so far. It being a wrapper around a git repo is a very convenient compromise - I get to pick my hosting, use CLI, while other members of the team can use a more robust visual program.

  • StrikeForceZero@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    18 hours ago

    SmartGit - lets you see the commands it’s running and has a fairly decent toolset for rebasing (but I stopped recommending them for awhile when they delisted their perpetual licensing. It looks like as of writing it’s returned but only allows for 1-3 years of updates depending on how many years you buy)

    I’ve had my eyes on lazygit and gitui as a cli supplement

    On a different note, I wish git lfs wasn’t such a pita. Orphaned pointers living forever on GitHub and eating up all your quota with no way to recover unless you DELETE the repo lol

  • jlothamer@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    1 day ago

    Git here. Subversion for a while before that. And source safe, or as I like to say source “safe”, before that.

    But maybe a better question would be, what source control hosting site (if any) do you use? And do any of them not forcibly use your code to train their AI?

  • un_ax@lemmy.sdf.org
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 day ago

    I’ve been trying out Jujutsu recently.

    It’s compatible with git repos. The workflow takes a little while to get used to but can be nicer to work with.

    • tatterdemalion@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      20 hours ago

      can be nicer

      Understatement. It solves almost every problem I’ve ever had with git.

      1. No more destructive commands. jj undo or jj op restore can always put you back into a good state.
      2. Merge conflicts can be ignored until you want to resolve them.
      3. No “unstaged files” to deal with. Just keep your .gitignores up to date and jj automatically tracks new files.
      4. Rebasing and patch management is just incredibly simple.
      5. It actually has a nice default view of the commit graph.

      I used to use StackedGit for a while before switching to Jujutusu. While stg is nice, I think jj is a huge improvement.

      • StrikeForceZero@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        18 hours ago

        Aside from the obvious cases like pruning or garbage collection that remove orphaned or dangling commits, is there anything else destructive that git reflog can’t help recover from?

        • tatterdemalion@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          11 hours ago

          I probably can’t give a good technical comparison of the power of git reflog vs jj op log, but I find jj op log much easier to use.

  • bignose@programming.dev
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    edit-2
    3 days ago

    Magit, which is the best Git porcelain around. Git, because it has an unparalleled free-software ecosystem of developer tools that work with it.

    Why is Git’s free-software ecosystem so much better than all the other VCSen?

    Largely because of marketing (the maker of Linux made this! hey look, GitHub!), but also because it has a solid internal data model that quickly proved to experts that it is fast and flexible and reliable.

    Git’s command-line interface is atrocious compared to contemporary DVCSen. This was seen originally as no problem because Git developers intentionally released it as the “plumbing” for a VCS, intending that other motivated projects would create various VCS “porcelain” for various user audiences. https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain The interface with sensible operations and coherent interface language, resides in that “porcelain”, which the Git developers explicitly said they were not focussed on creating.

    But, of course, the “plumbing” command line interface itself immediately became the primary way people were told to use Git, and the “porcelain” applications had much slower development and nowhere near the universal recognition of Git. So either people didn’t learn Git (learning only a couple of operations in a web app, for example), or to learn Git they were required to use the dreadful user-hostile default “plumbing” commands. It became cemented as the primary way to learn Git for many years.

    I was a holdout with Bazaar VCS for quite a while, because its command-line interface dealt in coherent user-facing language and consistent commands and options. It was deliberately designed to first have a good command-line UI, and make a solid DVCS under that. Which it did, quite well; but it was no match for the market forces behind Git.

    Well, eventually I found that Magit is the best porcelain for Git, and now I have my favourite VCS.