Skip to content

Sync Debian archive contents to VCS

While reviewing this git repository, I noticed that the Debian archive had newer contents than what is in VCS.

Debian archives has xz-utils up until 5.8.1.1-1 while VCS last commits where:

± git log --oneline --first-parent 
f970b141 (HEAD -> debian/unstable) Prepare 5.6.4-1.
eba57c87 d: Update standards version of the package.
08146c66 d: Update expired key.
43363699 d: Limit watchfile to the 5.6 series.
85f3afaf d: Sync output before removing source.
712a7064 Import 5.6.4
f48fdbe5 Update upstream source from tag 'upstream/5.6.4'
9427ff2d Prepare 5.6.3-1
e882dbec d/tests: Redo autoconf files for the ci testsuite run.
5fec6319 Import 5.6.3.
34381552 Update upstream source from tag 'upstream/5.6.3'
17040d56 Prepare 5.6.2-2.
1067dc57 d/control: Add graphviz
a98e88cd d: Correct the test build.
dabc2cb9 d: Increase the version dependency for 5.6.0 symbols.
99024594 (tag: debian/5.6.2-1) Prepare 5.6.2-1

Missing branches:

  • upstream/v5.6
  • upstream/v5.8

Missing tags:

  • debian/5.6.2-2
  • upstream/5.6.3
  • upstream/5.6.4

I created this new debian/unstable branch from a Sept 29, 2025 checkout of this debian/xz-utils and running the commands:

# Create missing branch from latest correct upstream import
± git checkout -b upstream/v5.6 upstream/5.6.2
Switched to a new branch 'upstream/v5.6'

# Create new debian/unstable branch from latest known state based on tag
± git checkout -B debian/unstable 17040d56
HEAD is now at 17040d56 Prepare 5.6.2-2.

# Use original author for commits
± git config --local user.name "Sebastian Andrzej Siewior" && git config --local user.email sebastian@breakpoint.cc

# Add upstreamvcs and fetch
± git remote add upstreamvcs https://github.com/tukaani-project/xz.git -t master
± git fetch upstreamvcs 
remote: Enumerating objects: 2364, done.
remote: Counting objects: 100% (1407/1407), done.
remote: Compressing objects: 100% (438/438), done.
remote: Total 2364 (delta 1111), reused 973 (delta 969), pack-reused 957 (from 2)
Receiving objects: 100% (2364/2364), 1.61 MiB | 260.00 KiB/s, done.
Resolving deltas: 100% (1539/1539), completed with 109 local objects.
From https://github.com/tukaani-project/xz
 * [new branch]        master     -> upstreamvcs/master
 * [new tag]           v5.6.3     -> v5.6.3
 * [new tag]           v5.6.4     -> v5.6.4
 * [new tag]           v5.7.1alpha -> v5.7.1alpha
 * [new tag]           v5.7.2beta  -> v5.7.2beta
 * [new tag]           v5.8.0      -> v5.8.0
 * [new tag]           v5.8.1      -> v5.8.1

# Import from Debian archives, define upstream branch and upstrem-vcs-tag manually gbp.conf insufficient

± gbp import-dsc --upstream-branch="upstream/v5.6" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.6.2-2.dsc

± git show --stat
commit 8515a4647978c1a9b918c68d0fbccabbc05fee85 (HEAD -> debian/unstable, tag: debian/5.6.2-2)
Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Date:   Wed Jul 3 21:51:43 2024 +0200

# observe no changes - confirms the archive and VCS had not diverged at this version

± gbp import-dsc --upstream-branch="upstream/v5.6" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.6.3-1.dsc
gbp:info: Version '5.6.3-1' imported

± git diff 9427ff2d # Prepare 5.6.3-1
# (no changes)

± gbp import-dsc --upstream-branch="upstream/v5.6" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.6.4-1.dsc
gbp:info: Version '5.6.4-1' imported

± git diff f970b141 # Prepare 5.6.4-1.
# (no changes)

± git checkout -b upstream/v5.8 upstream/v5.6
Switched to a new branch 'upstream/v5.8'

± git checkout -
Switched to branch 'debian/unstable'

± gbp import-dsc --upstream-branch="upstream/v5.8" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.8.0-1.dsc
gbp:info: Version '5.8.0-1' imported

± gbp import-dsc --upstream-branch="upstream/v5.8" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.8.1-1.dsc
gbp:info: Version '5.8.1-1' imported

± gbp import-dsc --upstream-branch="upstream/v5.8" --upstream-vcs-tag="v%(version%~%.)s" /tmp/xz-utils-debsnap/xz-utils_5.8.1-1.1.dsc
gbp:info: Version '5.8.1-1.1' imported

Git history visualized with these changes:

image

Note that this project is special as the release tarball contents is significantly different from git release tag contents (by design):

image

As the upstream supply-chain wasn't fully visible, I also manually checked the tarballs of upstream vs Debian archives:

$ sha256sum xz-5.*.xz
db0590629b6f0fa36e74aea5f9731dc6f8df068ce7b7bafa45301832a5eebc3a  xz-5.6.3.tar.xz
829ccfe79d769748f7557e7a4429a64d06858e27e1e362e25d01ab7b931d9c95  xz-5.6.4.tar.xz
05ecad9e71919f4fca9f19fbbc979ea28e230188ed123dc6f06b98031ea14542  xz-5.8.0.tar.xz
0b54f79df85912504de0b14aec7971e3f964491af1812d83447005807513cd9e  xz-5.8.1.tar.xz

$ sha256sum xz-utils_5.*.orig.tar.xz
db0590629b6f0fa36e74aea5f9731dc6f8df068ce7b7bafa45301832a5eebc3a  xz-utils_5.6.3.orig.tar.xz
829ccfe79d769748f7557e7a4429a64d06858e27e1e362e25d01ab7b931d9c95  xz-utils_5.6.4.orig.tar.xz
05ecad9e71919f4fca9f19fbbc979ea28e230188ed123dc6f06b98031ea14542  xz-utils_5.8.0.orig.tar.xz
0b54f79df85912504de0b14aec7971e3f964491af1812d83447005807513cd9e  xz-utils_5.8.1.orig.tar.xz

I also compared the contents of Debian VCS and upstream tarball contents:

$ diff -u xz-5.8.1/ xz-utils-2025-09-29/
Common subdirectories: xz-5.8.1/build-aux and xz-utils-2025-09-29/build-aux
Common subdirectories: xz-5.8.1/cmake and xz-utils-2025-09-29/cmake
Only in xz-utils-2025-09-29/: debian
Common subdirectories: xz-5.8.1/debug and xz-utils-2025-09-29/debug
Common subdirectories: xz-5.8.1/doc and xz-utils-2025-09-29/doc
Common subdirectories: xz-5.8.1/dos and xz-utils-2025-09-29/dos
Common subdirectories: xz-5.8.1/doxygen and xz-utils-2025-09-29/doxygen
Common subdirectories: xz-5.8.1/extra and xz-utils-2025-09-29/extra
Only in xz-utils-2025-09-29/: .git
Common subdirectories: xz-5.8.1/lib and xz-utils-2025-09-29/lib
Common subdirectories: xz-5.8.1/m4 and xz-utils-2025-09-29/m4
Common subdirectories: xz-5.8.1/po and xz-utils-2025-09-29/po
Common subdirectories: xz-5.8.1/po4a and xz-utils-2025-09-29/po4a
Common subdirectories: xz-5.8.1/src and xz-utils-2025-09-29/src
Common subdirectories: xz-5.8.1/tests and xz-utils-2025-09-29/tests
Common subdirectories: xz-5.8.1/windows and xz-utils-2025-09-29/windows

The differences in .git and debian/ are expected, and there was no other changes so contents is legit.

Edited by Otto Kekäläinen

Merge request reports

Loading