Review: git-diff-html 1.1-1
Package Information
| Description | generate side-by-side HTML diff reports for Git repositories git-diff-html renders the differences in a Git repository as a Gerrit/BeyondCompare-style side-by-side HTML report. It supports comparing the working tree against HEAD or any commit, two commits against each other, and staged changes. Reports feature line-level and character-level (inline) diff highlighting, lightweight C/C++ syntax highlighting, a navigable file list, a change summary, and an interactive two-pane viewer with draggable splitters and synchronized horizontal scrolling. The report is a single self-contained HTML file. |
|---|---|
| Maintainer | Lu Haoran <luhaoran1981@icloud.com> |
| Changed By | Lu Haoran <luhaoran1981@icloud.com> |
| Sponsor | DLange@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/luhaoran/git-diff-html.git (browse) |
| Tracker | https://tracker.debian.org/pkg/git-diff-html |
| Uploaded | 12 days ago |
New Package Report
.changes
| Architecture | source all |
|---|---|
| Distribution | unstable |
| Date | Thu, 22 Oct 2026 22:38:53 +0800 |
| Source | git-diff-html |
| Version | 1.1-1 |
| Changed-By | Lu Haoran <luhaoran1981@icloud.com> |
Changelog
git-diff-html (1.1-1) unstable; urgency=medium
.
* New upstream release 1.1.
- Add plain two-file diff outside a git repository (thanks to Daniel Lange).
- Add Symthosm brand to the report header.
* Add Lu Haoran and Daniel Lange to debian/copyright..dsc
| Section | vcs |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | git-diff-html deb vcs optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: git-diff-html
Upstream-Contact: 芦浩然 (Lu Haoran) <luhaoran1981@icloud.com>
Source: https://github.com/LuHaoran1981/GitDiffLocal
Files: *
Copyright: 2026 上海先道智觉科技有限责任公司 (Shanghai Xiandao Zhijue Technology Co., Ltd.), Symthosm
2026 芦浩然 (Lu Haoran) <luhaoran1981@icloud.com>
2026 Daniel Lange <DLange@debian.org>
License: GPL-3+
Files: debian/*
Copyright: 2026 上海先道智觉科技有限责任公司 (Shanghai Xiandao Zhijue Technology Co., Ltd.), Symthosm
License: GPL-3+
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in "/usr/share/common-licenses/GPL-3".
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 2 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 11 days ago.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for git-diff-html version 1.1-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 2 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
Every upstream file is GPL-3-or-later: git_diff_html.py carries the full GPL-3+ notice naming 上海先道智觉科技有限责任公司 (Symthosm), README.md states GPL-3.0 with the same holder, and LICENSE is the unmodified GPL-3 text. debian/copyright is DEP-5, uses the catch-all Files: * plus a debian/* stanza, names all three holders (the Symthosm company, Lu Haoran, Daniel Lange), and includes the GPL-3+ notice with a pointer to /usr/share/common-licenses/GPL-3. The tree contains no binaries, generated data, fonts, images or embedded third-party code, so there is nothing to exclude and no licence to add.
Packaging
Clean, minimal packaging: 3.0 (quilt), debhelper compat 13, Standards-Version 4.7.0 (Policy is 4.7.4.1, so current), Architecture: all, correct runtime dependencies (python3:any, git), Rules-Requires-Root: no, and a rules file that installs the single script with an absolute /usr/bin/python3 shebang and relies on debian/git-diff-html.manpages and debian/docs. No patches, maintainer scripts or autopkgtest; the only defect is that the man page still declares version 1.0 and does not document the two-file comparison mode added in 1.1.
Issues
minor packaging 1. Man page still declares version 1.0 and omits the two-file compare mode added in 1.1 ◂
- Files:
git-diff-html.1:1,git-diff-html.1:4-10,debian/changelog:3-4 - Basis: checked, in the package or with a reference tool
- Evidence:
.TH GIT-DIFF-HTML 1 "September 2026" "git-diff-html 1.0" "User Commands"; the DESCRIPTION/SYNOPSIS document only[ref] [file ...], while the 1.1 changelog entry saysAdd plain two-file diff outside a git repository. - Problem: The shipped manual page is the 1.0 one: it advertises the wrong version in the page footer and does not document the new plain two-file mode that git_diff_html.py supports (
_plain_file_diff, the usagegit-diff-html FILE_OLD FILE_NEWoutside a repository). Documentation does not match the installed program. - Fix: Update the .TH header to the 1.1 version (or drop the version string) and document the two-file compare form in SYNOPSIS/DESCRIPTION; send the change upstream or as a quilt patch.
minor packaging 2. debian/watch is in the old version 4 format ◂
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence:
version=4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is under Proposed changes.
Verified ◂
- Prescan holder: README.md:117 and README.md:231 ('Shanghai Xiandao Zhijue Technology Co., Ltd. (上海先道智觉科技有限责任公司), Symthosm') is named in debian/copyright:7 in the Files: * stanza, so the apparent omission is a matching artefact. git_diff_html.py:3's shorter spelling '上海先道智觉科技有限责任公司 (Symthosm(Xian Dao Zhi Jue))' is the same entity.
- Read all five upstream files (git_diff_html.py, README.md, LICENSE, git-diff-html.1, .gitignore) and every file under debian/; the orig tarball git-diff-html_1.1.orig.tar.gz contains exactly those five files, so the tree is complete and unrepacked.
- LICENSE is the verbatim 674-line GPL-3 text; git_diff_html.py:1-16 and README.md's licence sections state GPL-3-or-later for the same holder, matching the GPL-3+ short name in debian/copyright. No other licence wording (MIT/BSD/Apache/non-commercial/no-modification) occurs anywhere in the tree.
- The HTML/CSS/JS in git_diff_html.py's HTML_TEMPLATE is the package's own code: no external script/link elements, no @font-face, no base64 assets, and the only URL is https://www.gnu.org/licenses/ in the licence header.
- No build artifacts, bytecode, ELF objects, archives, images or fonts in the tree; .gitignore is the only other file and is covered by Files: *.
- Packaging files: source/format 3.0 (quilt), debian/control (compat 13, Standards-Version 4.7.0, Vcs-* fields, ${misc:Depends} present, python3:any and git dependencies), debian/rules (empty override_dh_auto_build; override_dh_install installs git_diff_html.py as /usr/bin/git-diff-html and rewrites the shebang from the /usr/bin/env form, which matches line 1 of the script), debian/docs, debian/git-diff-html.manpages, debian/gbp.conf, debian/changelog. No debian/patches, maintscripts or tests exist, so no DEP-3 review applies.
- dh_installman(1) confirms that names in debian/*.manpages are looked up in the current directory before debian/tmp at compat 11 and above, so the top-level git-diff-html.1 is found and installed.
- Policy check: the policy tool reports Debian Policy 4.7.4.1; the package's Standards-Version 4.7.0 shares its first two components and is not an issue. Section: vcs and Architecture: all are appropriate for a VCS helper script.
- Changelog: unstable, non-native 1.1-1, well-formed entries and ITP closure (#1148520) in the initial release.
- uscan found the packaged version as the newest upstream release (upstream
1.1, packaged1.1). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-3).
Not confirmed ◂
- Homepage, Vcs-Git and Vcs-Browser URLs could not be fetched from the review environment, so their reachability and the correspondence of the salsa repository were not checked.
- The copyright attribution of debian/* to the company rather than to Lu Haoran (the changelog author) rests on no file notice; it is plausible for Debian-packaging work and was not reported.
Proposed: debian/watch in version 5 format ◂
debian/watch is in an old format. This is the conversion made by uscan --update-watchfile, which has not been run against the upstream site: some defaults differ in version 5, so test it with uscan --report before use.
Version: 5
Template: Github
Dist: https://github.com/LuHaoran1981/GitDiffLocal
Uploader's response to the LLM review
All good. I mentioned these minor issues on mentors already, we will fix them with the next upload. But please process the package through NEW.
— Daniel Lange (dlange), 11 days ago
Review Information
accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.