!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

421 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.142 Servers

Load older messages


SenderMessageTime
1 Aug 2025
@emilazy:matrix.orgemilyI understand limited time to deal with such decisions but I feel like "we can spend time talking about how to patch your/others' problems with the current workflow but not spend equivalent time explaining our problems with the proposed workflow" is somewhat imbalanced :( again, any problem caused by a patch going forward across a pre-format state to a post-format one can be solved 100% automatically with one single command, in all cases. (as in, any remaining conflicts are guaranteed to be for non-reformatting reasons.) so it can never get more than one command in the way of a revert or cherry-pick from pre-reformatting. I believe the cost of the current workflow is >one command for at least me and likely others16:26:57
@emilazy:matrix.orgemilyif the decision is as overdetermined as it sounds I probably won't have energy to open a Forgejo issue sadly16:27:23
@emilazy:matrix.orgemilyI will probably just keep creating non-formatted diffs, since… well, CI is happy with it16:27:34
@emilazy:matrix.orgemily (the algorithm is simply: to rebase a commit that takes state A to state B across formatting, format A and B to produce A' and B' and diff B' against A'. Git mergetools or jj fix or whatever only enter the picture in how you make this happen; the algorithm itself works 100% reliably to produce the commit you would have produced if the change was written post-format) 16:29:20
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)

I understand limited time to deal with such decisions but I feel like "we can spend time talking about how to patch your/others' problems with the current workflow but not spend equivalent time explaining our problems with the proposed workflow" is somewhat imbalanced :(

It's totally is and I'm sorry for that, I don't consider formatting discussions table stakes compared to other high profiles debates we may have here, especially given that it will impact first and foremost the people who are the most active sending patches & working on Lix (and I realize that this may discourage people who are not sending patches or work on Lix, but I don't know how many of them exist and if patches would happen if the codebase is reformatted that way), so it's a bit of I prioritize the regularity that I know right now

16:30:18
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @emilazy:matrix.org
I will probably just keep creating non-formatted diffs, since… well, CI is happy with it
and I'm totally happy with that as well
16:30:53
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @emilazy:matrix.org
(the algorithm is simply: to rebase a commit that takes state A to state B across formatting, format A and B to produce A' and B' and diff B' against A'. Git mergetools or jj fix or whatever only enter the picture in how you make this happen; the algorithm itself works 100% reliably to produce the commit you would have produced if the change was written post-format)
Don't get me wrong, I totally believe you that this is achievable
16:31:08
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)Formatting is, to me, more than a technical discussion so I don't want you to lose time over something that I believe will disappoint more the participants than the ultimate achieved outcome16:31:55
@emilazy:matrix.orgemily(I find it discouraging that I am having to manually do code formatting tasks (albeit likely formatting-standard-noncompliant ones) because I cannot reasonably use the tooling fwiw)16:32:02
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)Obviously, this can be revisited in the future16:32:04
@emilazy:matrix.orgemily(I do know there are other Lix contributors using Jujutsu so I wonder what the workflow being used to deal with this is, but I suspect it involves editor hooks)16:32:56
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)Maybe I should forcibly switch myself to Jujutsu to understand what can be achieved16:33:15
@qyriad:katesiria.orgQyriadwe are likely doing that soon16:33:30
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)But really, this is the best I can offer at this point in time16:33:28
@charles:computer.surgeryCharlesdo iiiiiiit16:33:31
@qyriad:katesiria.orgQyriadpuck uses Jujutsu iwrc16:33:41
@qyriad:katesiria.orgQyriadidk what she does with Lix with it16:33:47
@emilazy:matrix.orgemily I have seen jade_ active in Jujutsu spaces too at least 16:33:55
@helle:tacobelllabs.nethelle (just a stray cat girl)yes, she has been trying to convince me to use it as well16:35:08
@emilazy:matrix.orgemily

as long as you have a formatting tool that can work in-memory on entire files (treefmt with the right configuration achieves this, clang-format can do it, nixfmt can do it, etc.) you can jj fix -s X on any X that has formatting-related conflicts (e.g., from a rebase or merge or revert) and the remaining conflicts in X and its children will be exactly the non-formatting ones. (jj fix -s X is also the tool that fixes formatting in X and its children in the absence of any conflicts)

I wouldn't call this a Jujutsu perk though because as I said the exact same results can be achieved with Git and insofar as it is more awkward to do so it is only the usual Jujutsu–Git delta of awkwardness

16:36:02
@charles:computer.surgeryCharlesjj is great. i was hesitant to try it because i felt pretty comfortable with git despite its terrible ux but i regret not trying jj sooner because it's genuinely a huge improvement16:36:08
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @emilazy:matrix.org

as long as you have a formatting tool that can work in-memory on entire files (treefmt with the right configuration achieves this, clang-format can do it, nixfmt can do it, etc.) you can jj fix -s X on any X that has formatting-related conflicts (e.g., from a rebase or merge or revert) and the remaining conflicts in X and its children will be exactly the non-formatting ones. (jj fix -s X is also the tool that fixes formatting in X and its children in the absence of any conflicts)

I wouldn't call this a Jujutsu perk though because as I said the exact same results can be achieved with Git and insofar as it is more awkward to do so it is only the usual Jujutsu–Git delta of awkwardness

yes but let's be clear again
16:36:35
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)i don't want to make Lix a project that is jj-only16:36:43
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)or usable very much only if you use jj16:36:49
@emilazy:matrix.orgemilysee my second paragraph :(16:36:54
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)ok sorry :(16:37:01
@emilazy:matrix.orgemilyI really feel like there is a knowledge gap in how much simple merge tooling that Git supports as well as Jujutsu will resolve all formatting conflict issues automatically and that a small amount of documentation could resolve this, but I also understand that it's effectively not up for discussion16:37:27
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)because when you drum it too hard, I hear "let's make the experience great for jj users and for git… well doable but enjoy"16:37:27
@emilazy:matrix.orgemilyalright. I was replying to you talking about the Jujutsu workflow around this. if you had asked about Git I could have given that information too :)16:37:54
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)it's a risk aversion thing16:37:54

Show newer messages


Back to Room ListRoom Version: 10