Putting Past Upstream History in Debian Git

Speaker: Marc Haber

Type: Talk

Room: Seminarroom

Time: May 10 (Sun): 11:30

Duration: 0:40

Today, both Debian packaging and Upstream development happens in git, yet it is still common to pull Upstream sources into Debian by means of a release tarball. Workflows incorporating Upstream git into Debian’s repositories are becoming increasingly common, but all those start with a repository that was started in the old-fashioned way, cementing the historical disconnect.

This talk explores techniques for integrating the past development history both Upstream and in Debian, creating the illusion that the repository was actually built that way from an earlier time.

Using the aide package as a case study, it demonstrates three distinct approaches: starting integration from the present, fully preserving both upstream and Debian histories, and reconstructing a unified history by replaying Debian changes on top of upstream commits.

The session analyzes the trade-offs between historical fidelity, repository readability, and maintenance complexity, and shows why preserving upstream commit identity is often more valuable than retaining Debian commit IDs. It also highlights practical challenges, including mismatches between upstream tags and release tarballs, limitations of current tooling such as git-buildpackage, and the effort required to reconcile divergent histories.