=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
=back
Pass I<--stat> just to see the list of changed files, which is useful
-to determine whether there are any new or deleted files to may need
+to determine whether there are any new or deleted files that may need
accounting for in your copyright file.
If you obtained a tarball from upstream, you are ready to try a build.
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 have to pass I<--overwrite> to dgit. git-debrebase will normally
+tell you if this will be 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:
Our approach is to maintain a DFSG-clean upstream branch, and create
tags on this branch for each release that we want to import. We then
-import those tags per "Importing the release", above.
+import those tags per "Importing the release", above. In the case of
+a new package, we base our initial Debianisation on our first
+DFSG-clean tag.
For the first upstream release that requires DFSG filtering:
% git commit -m "upstream version 1.2.3 DFSG-cleaned"
% git tag -s 1.2.3+dfsg
% git checkout master
- % # proceed with "Importing the release" on 1.2.3+dfsg tag
=back
-And for subsequent releases (whether or not they require filtering):
+Now either proceed with "Importing the release" on the 1.2.3+dfsg tag,
+or in the case of a new package,
+
+=over 4
+
+ % git branch --unset-upstream
+ % git reset --hard 1.2.3+dfsg
+
+=back
+
+and proceed with "INITIAL DEBIANISATION".
+
+For subsequent releases (whether or not they require additional
+filtering):
=over 4
=back
-If that fails, because your branch and the NMUers work represent
+If that fails, because your branch and the NMUers' work represent
divergent branches of development, you have a number of options. Here
we describe the two simplest.
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.
+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
% git diff dgit/dgit/sid..HEAD -- :/ :!/debian/patches
-(Includes changes to upstream files.)
+
+This includes changes to upstream files.
=back
% git debrebase make-patches
% git diff dgit/dgit/sid..HEAD -- debian/patches
-Also of course there is
+And of course there is:
% git debrebase status