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/>

Reply via email to