Le Thu, Jan 12, 2012 at 11:04:36PM +0100, Andreas Tille a écrit : > > $ git checkout pristine-tar > Switched to branch 'pristine-tar' > $ ls * > clinica_0.2.1~dfsg.orig.tar.bz2.delta clinica_0.2.1.orig.tar.gz.delta > clinica_0.2.1~dfsg.orig.tar.bz2.id clinica_0.2.1.orig.tar.gz.id > $ pristine-tar checkout tarball > fatal: Path 'tarball.delta' does not exist in 'refs/heads/pristine-tar' > pristine-tar: git show refs/heads/pristine-tar:tarball.delta failed > > ... hmmm. I said I'm willing to learn. I admit I'm not really > convinced by the method to keep upstream code in VCS. I'm using Git in > other teams who only keep debian/ dir in Git (as we do in SVN) and I > never had any trouble. On the other hand I *always* had trouble with > pristine-tar issues in our Git. I perfectly admit that it might be me - > but things should be proof for idiots like me.
Hi Andreas, short summary: you can ignore the pristine-tar branch if you use apt-get source or debian/rules get-orig-source. Perhaps you did not update the pristine-tar branch before trying to build the package ? The commande ‘gbp-pull’ will do this conveniently for you. Otherwilse, it can be done simply by checking out the pristine-tar branch, pulling (‘git pull’), and checking out the master branch again. The same applies the upstream branch. Normally, it would not matter to work with pristine-tar or not: if the package is already uploaded, ‘apt-get source’ can provide the reference upstream sources, so that git-buildpackage does not need the upstream and pristine-tar branches. The problem arises when ‘debian/rules get-orig-source’ does not produce tarballs with stable MD5 sums. In our standard workflow, the one who uploads defines the MD5 fingerprint of the tarball that will be in the Debian archive. With the pristine-tar workflow, it is the one who updates the Git repository who defines what should be uploaded. This opens the way to potential problems. One part of the solution is to work on the get-orig-source target to force it to make as stable MD5 fingerprints as possible. Note also that at anytime you can work with tarballs produced by the get-orig-source target, even if their MD5 fingerprint fluctuates. It is just that if you upload the package, then the pristine-tar branch will be inaccurate. The other part of the solution is therefore to find or write a tool that allows to easily align the pristine-tar branch with the Debian archive. About just keeping the debian directory; I would not like it. Having the upstream source checked in is an addictive convenience for bug hunting, and also for copyright checking and other inspections done during upgrades. This is one of my main motivations for using Git. And within that workflow, the pristine-tar branch helps me to work off-line. Have a nice day, -- Charles -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

