In particular, be clear that --overwrite (without previous-version) is
quite a weak promise: that the version you are uploading contains
everything in your changelog. It won't overwrite willy-nilly.
Somewhat apropos of discussion in #902534.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit (5.4~) unstable; urgency=medium
dgit (5.4~) unstable; urgency=medium
+ Improvements:
+ * dgit(1): Better description of --overwrite. Somewhat
+ apropos of discussion in #902534.
+
Bugfixes:
* Fix bug ref to #865444 in previous changelog entry.
Bugfixes:
* Fix bug ref to #865444 in previous changelog entry.
you push are identical, so this option won't make broken pushes.)
.TP
.BR --overwrite [=\fIprevious-version\fR]
you push are identical, so this option won't make broken pushes.)
.TP
.BR --overwrite [=\fIprevious-version\fR]
-Declare that even though your git branch may not be a descendant
+Declare that your HEAD really does contain
+all the (wanted) changes
+from all versions listed in its changelog;
+or, all (wanted) changes from
+.IR previous-version .
+This promise is needed when
+your git branch is not a descendant
of the version in the archive
of the version in the archive
-according to the revision history,
-it really does contain
-all the (wanted) changes from that version.
+according to the git revision history.
This option is useful if you are the maintainer, and you have
incorporated NMU changes into your own git workflow in a way that
This option is useful if you are the maintainer, and you have
incorporated NMU changes into your own git workflow in a way that
See
.BR dgit-maint- \fI*\fR (7) .
See
.BR dgit-maint- \fI*\fR (7) .
-.I previous-version
-ought to be the version currently in the archive. If
.I previous-version
is not
specified, dgit will check that the version in the archive is
mentioned in your debian/changelog.
(This will avoid losing
.I previous-version
is not
specified, dgit will check that the version in the archive is
mentioned in your debian/changelog.
(This will avoid losing
-changes unless someone committed to git a finalised changelog
+changes, even with
+.BR --overwrite ,
+unless someone committed to git a finalised changelog
entry, and then made later changes to that version.)
entry, and then made later changes to that version.)
+If
+.IR previous-version
+is specified, it ought to be the version currently in the archive.
dgit push --overwrite
will, if necessary, make a
dgit push --overwrite
will, if necessary, make a