I don't know what the precise conditions are that trigger this, but in gitoxide, in the gix-config crate, introduced originally back when the crate was titled git-config, was a changelog that started out, in GitoxideLabs/gitoxide@9c275dc, like this:
# Changelog
## `git-config` 0.1.2 (2021-08-06)
### Added
- Added the following methods to `GitConfig`:
- `is_empty`
- `len`
- `from_env`
- `open`
### Changed
- `parse_from_path` now accepts a `AsRef<Path>` instead of a `&Path`.
- `parse_from_path` now returns an `ParserOrIoError<'static>` instead, from
`ParserFromIoError`
### Fixed
- _None._
In GitoxideLabs/gitoxide@abdfe58, among other changes that were intended, the list turned into:
- `len`
- `from_env` - `from_env`
- `open`
- `len`
- `from_env`- `from_env`
- `open`
And this appeared at the end of the entry:
<csr-unknown>
lenfrom_envopen<csr-unknown/>
It was renamed gix-config but the process continued. Some, but not all, commits since then, have added more copies of that list item, and also repeated lenfrom_envopen in the <csr-unknown> element. This also seems to have accelerated recently, and now the file has a large amount of repeated material in it. The unordered list items span 647 lines, and the <csr-unknown> element has grown too.
At the current tip of the gitoxide main branch, here's a highlighted git-blame of the unordered list, showing many of the commits that have added the repeated lines:
https://github.com/GitoxideLabs/gitoxide/blame/562e684319fa649db6a96c0a22d64bbe3c11e9e6/gix-config/CHANGELOG.md#L3748-L4396
And here's a corresponding git-blame of the <csr-unknown> element:
https://github.com/GitoxideLabs/gitoxide/blame/562e684319fa649db6a96c0a22d64bbe3c11e9e6/gix-config/CHANGELOG.md#L4404-L4435
It's actually 16 such elements, but text is only ever added to the first one--the others are created empty.
(Those blames are, of course, for the same file--and the lines are not far from each other. But they're not adjacent, and the separate blames seem much easier to understand than when I made one that covered both parts.)
I don't know what the precise conditions are that trigger this, but in gitoxide, in the
gix-configcrate, introduced originally back when the crate was titledgit-config, was a changelog that started out, in GitoxideLabs/gitoxide@9c275dc, like this:In GitoxideLabs/gitoxide@abdfe58, among other changes that were intended, the list turned into:
And this appeared at the end of the entry:
It was renamed
gix-configbut the process continued. Some, but not all, commits since then, have added more copies of that list item, and also repeatedlenfrom_envopenin the<csr-unknown>element. This also seems to have accelerated recently, and now the file has a large amount of repeated material in it. The unordered list items span 647 lines, and the<csr-unknown>element has grown too.At the current tip of the gitoxide main branch, here's a highlighted git-blame of the unordered list, showing many of the commits that have added the repeated lines:
https://github.com/GitoxideLabs/gitoxide/blame/562e684319fa649db6a96c0a22d64bbe3c11e9e6/gix-config/CHANGELOG.md#L3748-L4396
And here's a corresponding git-blame of the
<csr-unknown>element:https://github.com/GitoxideLabs/gitoxide/blame/562e684319fa649db6a96c0a22d64bbe3c11e9e6/gix-config/CHANGELOG.md#L4404-L4435
It's actually 16 such elements, but text is only ever added to the first one--the others are created empty.
(Those blames are, of course, for the same file--and the lines are not far from each other. But they're not adjacent, and the separate blames seem much easier to understand than when I made one that covered both parts.)