Codeberg/Community
54
325
Fork
You've already forked Community
12

linguist-generated in .gitattributes files are not handled properly #2017

Closed
opened 2025年07月09日 13:33:45 +02:00 by lacus_oblivionis · 4 comments

Comment

I'm using Pixi, a Cargo-like package management tool for Conda/Python Ecosystem which generates YAML Lock File (pixi.lock), in my private project.

Pixi will generate a .gitattributes file when initializing a project:

# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true

linguist-generated=true means that pixi.lock is auto-generated and should be hidden from language statistics.

However, when I updated my code to Codeberg, the pixi.lock file was still included in the language statistics.

It seems that this issue have been solved/closed in Forgejo (#7677 in forgejo/forgejo), but still can be reproduced in Codeberg.

### Comment I'm using [Pixi](https://pixi.sh/latest/), a Cargo-like package management tool for Conda/Python Ecosystem which generates [YAML Lock File (`pixi.lock`)](https://pixi.sh/latest/workspace/lockfile/), in my private project. Pixi will generate a `.gitattributes` file when initializing a project: ``` # SCM syntax highlighting & preventing 3-way merges pixi.lock merge=binary linguist-language=YAML linguist-generated=true ``` `linguist-generated=true` means that `pixi.lock` is auto-generated and should be hidden from language statistics. However, when I updated my code to Codeberg, the `pixi.lock` file was still included in the language statistics. It seems that this issue have been solved/closed in Forgejo ([#7677 in forgejo/forgejo](https://codeberg.org/forgejo/forgejo/issues/7677)), but still can be reproduced in Codeberg.

Please link the repository where you are seeing this behavior.

Please link the repository where you are seeing this behavior.

@Gusted wrote in #2017 (comment):

Please link the repository where you are seeing this behavior.

Here is an MWE that can reproduce this behavior: (削除) https://codeberg.org/hikat/pixi-sample (削除ここまで)

mkdir pixi-sample
cd pixi-sample
pixi init
echo "print(\"Hello World\")" >> main.py
@Gusted wrote in https://codeberg.org/Codeberg/Community/issues/2017#issuecomment-5767469: > Please link the repository where you are seeing this behavior. Here is an MWE that can reproduce this behavior: ~~https://codeberg.org/hikat/pixi-sample~~ ```sh mkdir pixi-sample cd pixi-sample pixi init echo "print(\"Hello World\")" >> main.py ```

Is there a reason why you want syntax highlighting for a generated file? It's a easy fix none-the-less but specifying both linguist-language and linguist-generated is what is causing the issue and I do not think anyone imagined these options to be used together.

Is there a reason why you want syntax highlighting for a generated file? It's a easy fix none-the-less but specifying both `linguist-language` and `linguist-generated` is what is causing the issue and I do not think anyone imagined these options to be used together.

@Gusted wrote in #2017 (comment):

Is there a reason why you want syntax highlighting for a generated file?

No. This .gitattributes file is auto-generated by pixi init.

The following content is from Pixi's doc (https://pixi.sh/v0.49.0/first_project/#creating-a-pixi-project):

To create a new Pixi project, you can use the pixi init command:

pixi init my_project

This command creates a new directory called my_project with the following structure:

my_project
├── .gitattributes
├── .gitignore
└── pixi.toml

@Gusted wrote in #2017 (comment):

It's a easy fix none-the-less but specifying both linguist-language and linguist-generated is what is causing the issue and I do not think anyone imagined these options to be used together.

It works:

# SCM syntax highlighting & preventing 3-way merges
# pixi.lock merge=binary linguist-language=YAML linguist-generated=true
pixi.lock merge=binary linguist-generated=true

Maybe I should report this issue to Pixi community.

@Gusted wrote in https://codeberg.org/Codeberg/Community/issues/2017#issuecomment-5769038: > Is there a reason why you want syntax highlighting for a generated file? No. This `.gitattributes` file is auto-generated by `pixi init`. The following content is from Pixi's doc (https://pixi.sh/v0.49.0/first_project/#creating-a-pixi-project): > To create a new Pixi project, you can use the pixi init command: > ```sh > pixi init my_project > ``` > > This command creates a new directory called my_project with the following structure: > ``` > my_project > ├── .gitattributes > ├── .gitignore > └── pixi.toml > ``` --- @Gusted wrote in https://codeberg.org/Codeberg/Community/issues/2017#issuecomment-5769038: > It's a easy fix none-the-less but specifying both `linguist-language` and `linguist-generated` is what is causing the issue and I do not think anyone imagined these options to be used together. It works: ``` # SCM syntax highlighting & preventing 3-way merges # pixi.lock merge=binary linguist-language=YAML linguist-generated=true pixi.lock merge=binary linguist-generated=true ``` Maybe I should report this issue to Pixi community.
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
accessibility

Reduces accessibility and is thus a "bug" for certain user groups on Codeberg.
bug

Something is not working the way it should. Does not concern outages.
bug
infrastructure

Errors evidently caused by infrastructure malfunctions or outages
Codeberg

This issue involves Codeberg's downstream modifications and settings and/or Codeberg's structures.
contributions welcome

Please join the discussion and consider contributing a PR!
docs

No bug, but an improvement to the docs or UI description will help
duplicate

This issue or pull request already exists
enhancement

New feature
infrastructure

Involves changes to the server setups, use `bug/infrastructure` for infrastructure-related user errors.
legal

An issue directly involving legal compliance
licence / ToS

involving questions about the ToS, especially licencing compliance
please chill
we are volunteers

Please consider editing your posts and remember that there is a human on the other side. We get that you are frustrated, but it's harder for us to help you this way.
public relations

Things related to Codeberg's external communication
question

More information is needed
question
user support

This issue contains a clearly stated problem. However, it is not clear whether we have to fix anything on Codeberg's end, but we're helping them fix it and/or find the cause.
s/Forgejo

Related to Forgejo. Please also check Forgejo's issue tracker.
s/Forgejo/migration

Migration related issues in Forgejo
s/Pages

Issues related to the Codeberg Pages feature
s/Weblate

Issue is related to the Weblate instance at https://translate.codeberg.org
s/Woodpecker

Woodpecker CI related issue
security

involves improvements to the sites security
service

Add a new service to the Codeberg ecosystem (instead of implementing into Gitea)
upstream

An open issue or pull request to an upstream repository to fix this issue (partially or completely) exists (i.e. Gitea, Forgejo, etc.)
wontfix

Codeberg's current set of contributors are not planning to spend time on delegating this issue.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Codeberg/Community#2017
Reference in a new issue
Codeberg/Community
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?