Ian Jackson <ijack...@chiark.greenend.org.uk> writes: > I have reread this bug report and I'm afraid I don't understand what > you are trying to do, what you tried, and why the most obvious thing > didn't work.
> AIUI you are trying to upload a package to experimental, which has > * never been uploaded with dgit > * never been uploaded to experimental > I think in this case you will have to say --new. There is no need to > pass --overwrite or anything, because there is nothing being > overwritten. > I don't understand why the results of > dgit -wgf push-source --new experimental > (or whatever) aren't what you want. It may very well be that I was just entirely confused. Here's my understanding that led me to this bug report: For packages that have never used dgit, there is still a dgit history present, with (roughly) one commit per upload to Debian. When uploading a package with dgit to unstable for the first time, the recommendation is to use --overwrite, which will add a pseudo-merge of the existing history to the newly-pushed commit representing that upload, this correctly showing in the Git history that the newly-uploaded package is a descendent of all those previous packages uploaded to unstable. I was in this exact case (first ever dgit upload of a package), but that first upload was to experimental rather than to unstable. I tried (at least as best as I can recall) to use --overwrite and it didn't work, presumably because it was trying to find some history for experimental to overwrite, and not unstable. Using --new does successfully upload to experimental, but my assumption was that this new dgit branch then has no pseudo-merge with the unstable history and therefore looks like a disconnected branch relative to the history of the package in unstable. This seemed like a minor flaw worth mentioning, although it's pretty minor and doesn't interfere with using dgit going forward. My thought process here was that experimental is a bit unlike all the other suites in Debian, in that there are very frequent (in VCS terminology) branches from unstable into experimental and then merges of experimental back into unstable. Most other suites in Debian diverge, although one could see stable-security as a similar model, with a re-merge into stable at the next point release. I therefore was looking for a way of accurately representing this in dgit's repository: the experimental upload is based on all the unstable history, and then the later unstable upload is a descendent of the experimental packages (much of the time, although not always). -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/>