Hi Jonas,

I have rebased the series on top of your upstream/debian/latest, so the structural debian/copyright fixes you already cherry-picked are no longer part of my copyright update commit.

I also reworked update-highlight-core along the lines you suggested. The generated .mrconfig now uses a DEFAULT clone helper with --depth=1, the read loops no longer contain a literal TAB character, and the tar pipeline plus find -exec sh -c cleanup has been replaced with find ... -delete.

I have left the source-package split out of this revision for now, since that seems like a larger packaging decision and I would prefer not to preempt your preference there without confirmation.

Best,
Junyong Liang

On 2026/5/18 15:46, Jonas Smedegaard wrote:
Quoting Junyong Liang (2026-05-17 18:05:47)
I’ve made another round of updates based on your suggestions for the
maintenance tooling migration. In particular, I’ve moved the setup to
use myrepos, replaced the update script with a shell-based version,
and split the changes into clearer, easier-to-review commits.

The updated version builds successfully on my machine. Could you
please take another look at my fork when you have a chance?
This one feels much easier to read for me. Thanks for doing that
restructuring!

You still lump multiple independent changes together in each git
commit - as a concrete example, I noticed that in the commit updating
debian/copyright you also corrected some structural bugs in the
existing content. I have now cherry-picked those changes and applied
them to the main branch - crediting you :-)

It seems update-highlight-core use tar to remove files. I would use
`find "$src" ... -delete` for that, but maybe I am missing some subtle
tricks there - if so, I recommend adding a comment hinting at that the
reason for the choice of tooling there. Simplifying there would also
avoid piping into `-exec sh -c` - I am aware that some patterns are
safe, but even then I worry about accidentally making a clumsy edit
later that turns it unsafe.

If I understand correctly, you clone and then drop the .git database.
Assuming that's correctly understood, then a shallow clone should be
adequate - i.e. add `--depth=1` to the clone command.

The .mrconfig file can be more compact by adding a default function:

```
[DEFAULT]
lib=clone () { git clone --quiet --filter=blob:none --depth=1 $1 $2 }

[.work/rust]
checkout = clone https://github.com/tree-sitter/tree-sitter-rust rust
```

You use TAB as field separator. I am a fan of TAB, so I am not gonna
try to dissuade you from doing that, but since many editors have a hard
time even visualizing TAB as a raw character, I think it is best to
limit that: in update-highlight-core you could instead use `IFS=$'\t'`.

The cloned code is more than 1GB, where the code of helix itself is
less than 200MB. I would prefer that this was maintained as a separate
source package, build-depending on hx or if needed on a new hx-devel
providing the subset of sources needed for these new routines to work.

What do you think?

  - Jonas


Reply via email to