chiark / gitweb /
dgit-maint-debrebase(7): account for case discussed in #903377
[dgit.git] / dgit-maint-debrebase.7.pod
index b4330f9d8a6804088ae7a45659bc4b26580bb7a0..e3d557a70026c36f6eec6c5fbfd439d531504fbc 100644 (file)
@@ -269,6 +269,11 @@ patches applied.  Use
 
 =back
 
+If you were not previously using dgit to upload your package (i.e. you
+were not using the workflow described in dgit-maint-gbp(7)), and you
+happen to have run B<dgit fetch sid> in this clone of the repository,
+you will need to pass I<--fdiverged> to this command.
+
 =item (C) There is a delta queue, and patches are applied.
 
 Use
@@ -442,6 +447,12 @@ cowbuilder>.
 Upload with B<dgit push> or B<dgit push-source>.  Remember to pass
 I<--new> if the package is new in the target suite.
 
+In some cases where you used B<git debrebase convert-from-gbp> since
+the last upload, it is not possible for dgit to make your history
+fast-forwarding from the history on B<dgit-repos>.  In such cases you
+will require I<--overwrite>.  Try pushing without this option first,
+and then dgit will suggest using it if it is needed.
+
 Right before uploading, if you did not just already do so, you might
 want to have git-debrebase(1) shuffle your branch such that the Debian
 delta queue appears right at the tip of the branch you will push:
@@ -458,53 +469,6 @@ Note that this will introduce a new pseudomerge.
 After dgit pushing, be sure to git push to B<salsa.debian.org>, if
 you're using that.
 
-=head1 INSPECTING THE HISTORY
-
-The git history made by git-debrebase can seem complicated.
-Here are some suggestions for helpful invocations of gitk and git.
-They can be adapted for other tools like tig, git log, etc.
-
-=over
-
-=item History of package in Debian (disregarding history from upstream):
-
-    % gitk --first-parent
-
-In a laundered branch, the delta queue is at the top.
-
-=item History of the packaging (excluding the delta queue)
-
-    % gitk :/debian :!/debian/patches
-
-=item Just the delta queue (ie, Debian's changes to upstream):
-
-    % gitk --first-parent -- :/ :!/debian
-
-=item Full history including old versions of the delta queue:
-
-    % gitk --date-order
-
-The "Declare fast forward" commits you see have an older history
-(usually, an older delta queue) as one parent,
-and a newer history as the other.
---date-order makes gitk show the delta queues in the right order.
-
-=item Show complete diff since the last upload:
-
-    % git diff dgit/dgit/sid..HEAD -- :/ :!/debian/patches
-(Includes changes to upstream files.)
-
-=item Interdiff of delta queue since last upload, if you really want that:
-
-    % git debrebase make-patches
-    % git diff dgit/dgit/sid..HEAD -- debian/patches
-
-=back
-
-Also of course there is
-
-    % git debrebase status
-
 =head1 HANDLING DFSG-NON-FREE MATERIAL
 
 =head2 Illegal material
@@ -670,6 +634,62 @@ avoids introducing a new origin commit into your git history.  (This
 origin commit would represent the most recent non-dgit upload of the
 package, but this should already be represented in your git history.)
 
+=head2 Inspecting the history
+
+The git history made by git-debrebase can seem complicated.
+Here are some suggestions for helpful invocations of gitk and git.
+They can be adapted for other tools like tig(1), git-log(1), magit, etc.
+
+History of package in Debian, disregarding history from upstream:
+
+=over
+
+    % gitk --first-parent
+
+In a laundered branch, the delta queue is at the top.
+
+=back
+
+History of the packaging, excluding the delta queue:
+
+    % gitk :/debian :!/debian/patches
+
+Just the delta queue (i.e. Debian's changes to upstream):
+
+    % gitk --first-parent -- :/ :!/debian
+
+Full history including old versions of the delta queue:
+
+=over
+
+    % gitk --date-order
+
+The "Declare fast forward" commits you see have an older history
+(usually, an older delta queue) as one parent,
+and a newer history as the other.
+--date-order makes gitk show the delta queues in the right order.
+
+=back
+
+Complete diff since the last upload:
+
+=over
+
+    % git diff dgit/dgit/sid..HEAD -- :/ :!/debian/patches
+
+This includes changes to upstream files.
+
+=back
+
+Interdiff of delta queue since last upload, if you really want it:
+
+    % git debrebase make-patches
+    % git diff dgit/dgit/sid..HEAD -- debian/patches
+
+And of course there is:
+
+    % git debrebase status
+
 =head2 Alternative ways to start a debrebase
 
 Above we started an interactive debrebase by invoking git-debrebase(1)