• 1 Post
  • 351 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle





  • One takes them from the last commit log and uses the first few letters

    So - it’s not the length of the random garbage that is the issue it’s the fact that it’s random garbage that I have no chance of remembering after 5 seconds and switching between branches. All my branches are instead random hashes that I’ll need to lookup or remember.

    I’ve read through the blog. It sounds like they’ve taken the minor inconvenience of doing a git merge --squash and distributed that pain across every-single-commit you’re ever going to make instead. All to get “tidy commits” which were possible before anyway.

    I was actually rather interested in the idea of jj being something that made history-rewriting easier (e.g. for removing bad commits with passwords and the like). But the fact that it almost completely throws out the entire concept of working on named branches (yes you can have them - but “One interesting thing about branches in jj that’s different than branches in git is that branches do not automatically move.” - genius) is just ridiculous. And to claim that it’s now simpler just seems like gaslighting.



  • If the readability of the commit history really does not matter to you - for exsmple, nobody needs to read this code again - it’s possible that jj does not give you enough advantage. Everyone works different.

    I mean… It does and I will use git to manage commit histories as necessary. I don’t see jj as solving that problem or even making it easier. Doing a single squash-commit or a rebase -i when I merge a branch is relatively trivial.

    And from what I can tell it’s much easier to do a git pull upstream master than to do jj new skdfsld dskfjas since you’ll likely have to lookup those hashes? I mean I wouldn’t remember them.





  • Hrm… It looks interesting but it seems too dedicated to crafting “the perfect commit”.

    Changing our description changed the commit ID! This is why we have both IDs: the change ID has not changed, but the commit ID has. This allows us to evolve our commit over time, but still have a stable way to refer to all versions of it.

    I don’t want to “evolve a commit” - I want to capture my changes over time. If I decide later that I want to prepare the commit for merging I will.

    I hate it because it’s different - but even trying to give it a “benefit of the doubt” I really can’t see this as better. It’s not like it’s difficult to create a “tidy” commit with git as is.

    And as far as “easier to use goes”… well… Here’s how you get a list of anonymous branches

    jj log -r 'heads(all())'
    

    And since they eschew branches with names you get to memorize hash strings instead of branch names that describe the thing you were doing?

    jj new pzoqtwuv yykpmnuq -m "merge better documentation"
    # vs. 
    git merge my_branch_Name
    

    I’m unconvinced. Though jj undo looks neat (and also crazy dangerous unless you can undo an undo?).




  • I read a lot of advice online for distros, but my main needs are not really discussed.

    You’re not special and Linux distros aren’t that specialized. They differ in packaging, upgrade philosophy, etc. There is no Linux distro that can’t do the things others do.

    You dabbled with Ubuntu. Stick with it, you’ll be fine. Unless you really want mint, then go for it you’ll be fine.





  • Dude - you gotta get off the snap hate train for a bit.

    Do you not understand the difference between “hey, run this rando shell script on the internet” and “hey, use this standardized installer which may run some shell scripts”?

    I don’t give a shit about all the canonical hate. For me snap does what I want:

    1. Installs things in a standardized way using a standard interface i can easily script with ansible
    2. Provides a similarly standardized way of upgrading and uninstalling that can also be automated easily with ansible
    3. Works “just fine”.
    4. Edit - I’ll add in a fourth - creates a fucking binary I can run (no flatpak run something.something.something BS)

    It’s not bash I’m criticizing. Do you understand that? Because stop reading if you don’t and go back through my list. I’ll wait.

    So good - you get that bash isn’t the problem. It’s the bespoke unstructured installer/upgrader/unisntaller part that is bad. You could write your installer in C, Python, etc. and I’ll levy the same complaints. You want me to install your python app? It should be available through pypi and pip. Not some rando bespoke installer.