recreating historic packages (was: Introductory mail)

Teemu Ikonen tpikonen at gmail.com
Tue Sep 30 10:22:03 UTC 2008


On Tue, Sep 30, 2008 at 10:02 AM, martin f krafft <madduck at debian.org> wrote:
> I always thought the point of tagging commits in the VCS was to be
> able to recreate pristine Debian source packages, no? Why do we
> bother tagging packages debian/1.0-1 if the tag cannot be used to
> actually obtain the tree that was used to build the package?

The obvious, although perhaps inelegant way to solve the storage of
the released debian source would be to modify pristine-tar to work
with deb-source packages and store them in a branch of their own,
maybe called "released-deb" or similar. The storage overhead for this
would be minimal, just the size of the compressed patches.

On the other hand, if all the topgit branches are merged into master
(or build) branch before release, it should be possible to walk the
history graph to recreate the patch without any other information.
Would this algorithm work:

First, find a path from tagged release commit in master to the commit
in topgit branch patch/x preceding the commit in master where patch/x
was last merged in. Let's call this commit Px. Next, starting from Px,
find the commit in top-bases/patch/x preceding the last merge of
top-bases/patch/x to patch/x and call this commit Bx. The patch can
then be recreated from diff(Bx, Px) and .topmsg at Px.

Teemu



More information about the vcs-pkg-discuss mailing list