𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍

       🅸 🅰🅼 🆃🅷🅴 🅻🅰🆆. 
 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍 𝖋𝖊𝖆𝖙𝖍𝖊𝖗𝖘𝖙𝖔𝖓𝖊𝖍𝖆𝖚𝖌𝖍 

Ceterum Lemmi necessitates reactiones

  • 0 Posts
  • 24 Comments
Joined 3 years ago
cake
Cake day: August 26th, 2022

help-circle






  • Safely changing history

    How exactly does Mercurial manage to keep you from getting in trouble while changing history?

    Mercurial actually keeps track of something called phases. Every time you push changesets to another repository, Mercurial analyses the phases for those changesets and adapts them if necessary.

    There are three phases, each resulting in different behaviour:

    • secret: This phase indicates that a changeset should not be shared with others. If someone else pulls from your repository, or you push to another repository, these changesets will not be pushed along.
    • draft: This is the default phase for any new changeset you create. It indicates that the changeset has not yet been pushed to another repository. Pushing this changeset to another repository will change its phase to public.
    • public: This phase indicates that a changeset was already shared with others. This means changing history should not be allowed if it includes this changeset.

    Mercurial uses this information to determine which changesets are allowed to be changed. It also determines how to select changes to rebase or histedit automatically. For example: using histedit without any arguments will only show draft and secret changesets for you to change.

    You can not change history for any published changes - like I said, doing so makes your repository incompatible with any other clone.




  • Sounds like OP might be at a point where they could use a little more information.

    OP, what you could do is get yourself a small USB memory stick - 8 GB should be fine - and flash different distributions on it, boot into them without installing, and find one you like and install that one. There’s a tool called Ventoy that will make it really easy: especially if you have a larger USB stick, you could put several different distributions on the stick and choose which one you boot into at boot time.

    My only suggestion when you do the install is to partition the hard drive and put /home on its own partition. If you decide later you want to use a different distribution, you don’t have to backup and restore your user data.



  • Unless you go in with a byte editor, you can’t change Mercurial’s commit history. I didn’t say “fabricate”, I said “change”.

    You can, as you say, configure your user name and email to be “Linus Torvalds” and change your computer date and fabricate whatever history you want. You might also be able to go in with a byte editor and fiddle bits and change history that way; Mercurial provides no blockchain-like cryptographic guarantees. But, unlike git, rewriting history is not supported by Mercurial; history is immutable. Rebase doesn’t change history; the commit index only ever increments. Squash and rebasing create new commits, and there history of what happened is always in the repo.

    There’s a distinct and clear difference between Mercurial’s immutable history and git’s de jour history rewriting, which can literally - with the git command - change published history to make a commit made 3 years ago look like it was committed by someone else. The git workflow used by the kernel team, and the b4 tool, use this history rewriting in the standard workflow.

    If you wanted to do the same thing with Mercurial, you’d have to get a byte editor and start hacking the on-disk format, and it would have to be entirely outside of any Mercurial tooling. And there is some sequential hash verification you’d have to work around, even if it’s not cryptographically auditable.

    The point is, with Mercurial it would be hard and the result would be utterly incompatible with any other clone of the repo: there would be no way to propagate your changes to other clones. With git, this is a standard workflow.




  • I read through it by clicking the “next” link at the bottom. There isn’t a single email explaining it; it’s a story you have to read through to understand.

    If you jump to the last message, it’s someone saying they had the same issue.

    But, TL;DR a tool kernel devs use has surprising behavior that’s biting people, and can alter the commit history to be a pack of lies that looks suspiciously like malicious intent.

    The thread doesn’t mention how or if the tool has been changed. The tool is b4.




  • Wayland is super fast, free of tearing and can handle completely different monitors working together without issue

    I had the opposite experience. Wayland was slower, and didn’t handle my different DPI and monitor sizes correctly; I could set the exact same fonts (family, sizes) in two different applications and one would be normal and the other unreadably small. I haven’t experienced tearing on X in decades; I haven’t seen that on Wayland, either, but it hasn’t been a issue for me.

    I’ll try it again here pretty soon. It’s improving; my biggest issue was that people were pushing it while it was still clearly half-baked; maybe the issues I’ve seen are resolved. And, maybe it’s caught up to X in speed, although the last benchmark I saw (Phorix?) it still lagged X for many things.


  • I think you’re fixing the wrong problem.

    If your desktop was stable with X, and it’s unstable with Wayland, Why is Wayland “more sweet”?

    I try Wayland about bi-yearly, and IME it’s slower, more buggy, and less complete. It may be inevitable, although I half expect a new Rust display server to come along and yank the rug from under it; it feels a lot like Upstart before systemd came along, including major distros having migrated already.

    What about it do you find so compelling about Wayland?