Opened 96 minutes ago
#36753 new Bug
Django docs GitHub source links use incorrect line numbers for version branches
| Reported by: | Youngkwang Yang | Owned by: | |
|---|---|---|---|
| Component: | Documentation | Version: | dev |
| Severity: | Normal | Keywords: | documentation, function link |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Django documentation uses Sphinx's .. function:: directive to generate source code links.
while these links correctly point to version-specific branches (e.g., stable/5.2.x),
the line numbers are calculated from the main branch, not the documented version.
reproduce:
- visit Django 5.2 documentation: https://docs.djangoproject.com/en/5.2/ref/models/instances/#django.db.models.Model
- click the "[source]" link
- note the line number in the URL
current behavior:
the source link might be:
(https://github.com/django/django/blob/stable/5.2.x/django/db/models/base.py#L498)
but in the stable/5.2.x branch, the function is actually at line 461, not 498.
expect behavior:
line number should match the actual location in the version-specific branch (e.g., L461 for stable/5.2.x).
the issue appears to be related to how line numbers are calculated during the documentation build process.
relevant code is in https://github.com/django/django/blob/main/docs/_ext/github_links.py#L78:
the links still work, but the inaccurate line numbers can be confusing.