!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
1 Aug 2025
@raitobezarius:matrix.orgraitobezariusWe go back, we cherry pick things, we revert things and so on and so forth16:25:00
@raitobezarius:matrix.orgraitobezariusIt's not only for actually applying patches, it's also part of our development cycle16:25:10
@k900:0upti.meK900 just filter-branch it 16:25:49
@raitobezarius:matrix.orgraitobezariusWhen we go back 14 years ago, sometimes, the patches are trivial enough and we can rewrite them by hand, but we would prefer stability16:25:52
@raitobezarius:matrix.orgraitobezarius
In reply to @raitobezarius:matrix.org
(If I had energy to sit down, review the notes we had on this, provide them, go into it, come to the conclusion we cannot do it for valid reasons and spent that energy, I think other priorities that I deem more important would be abandoned, so I'm sorry I'm pushing back on this a bit because we know what tradeoffs we made. Another thing important to me is that these apparently simple decisions are taken by people with stakes / responsibilities in the project otherwise I feel like it's the in-charge maintainers who have to carry them and it's a bit unfair if they are not comfortable with them.)
Also, in general: I think these discussions are better suited in a medium like Forgejo issues, because I'm like the only core team member chiming in there and it's also unfair that no one else will come and provide answers
16:26:43
@raitobezarius:matrix.orgraitobezarius(hence why I push to the issues)16:26:55
@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

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
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
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.orgraitobezariusFormatting 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.orgraitobezariusObviously, 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.orgraitobezariusMaybe 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.orgraitobezariusBut 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
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.orgraitobezariusi don't want to make Lix a project that is jj-only16:36:43
@raitobezarius:matrix.orgraitobezariusor usable very much only if you use jj16:36:49

Show newer messages


Back to Room ListRoom Version: 10