X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit-maint-merge.7.pod;h=ed7cdc060fac83be63547f2f9e60c605a8a13490;hb=1ea867d81b069b145a9e1b7a38c97e99e1c40e4f;hp=16fef9b977c797dd301e5fdce3fdf2c705cf199f;hpb=eaacd8a861ecf3dde313800f758fc1dd8a595aff;p=dgit.git diff --git a/dgit-maint-merge.7.pod b/dgit-maint-merge.7.pod index 16fef9b9..ed7cdc06 100644 --- a/dgit-maint-merge.7.pod +++ b/dgit-maint-merge.7.pod @@ -146,14 +146,28 @@ Now create I: pristine-tar = False pristine-tar-commit = False + [import-orig] + merge-mode = merge + =back -Then we can import the upstream version: +gbp-import-orig(1) requires a pre-existing upstream branch: =over 4 % git add debian/gbp.conf && git commit -m "create gbp.conf" - % gbp import-orig ../foo_1.2.2.orig.tar.xz + % git checkout --orphan upstream + % git rm -rf . + % git commit --allow-empty -m "initial, empty branch for upstream source" + % git checkout -f master + +=back + +Then we can import the upstream version: + +=over 4 + + % gbp import-orig --merge-mode=replace ../foo_1.2.2.orig.tar.xz =back @@ -205,9 +219,14 @@ Then make new upstream tags available: =back +=for dgit-test dpkg-source-ignores begin + Now you simply need to ensure that your git HEAD is dgit-compatible, -i.e., it is exactly what you would get if you ran B and then unpacked the resultant source package. +i.e., it is exactly what you would get if you ran +B +and then unpacked the resultant source package. + +=for dgit-test dpkg-source-ignores end To achieve this, you might need to delete I. One way to have dgit check your @@ -258,8 +277,8 @@ first upload of upstream version 1.2.3, you could use: =back -(If you have dgit, use dgit clone foo, -rather than plain git clone.) +(If you have dgit, use `dgit clone foo`, +rather than plain `git clone`.) A single combined diff, containing all the changes, follows. @@ -290,58 +309,74 @@ to git), you can just run dpkg-buildpackage(1) or debuild(1) instead. =head1 NEW UPSTREAM RELEASES -=head2 When upstream tags releases in git +=head2 Obtaining the release -It's a good idea to preview the merge of the new upstream release. -First, just check for any new or deleted files that may need -accounting for in your copyright file: +=head3 When upstream tags releases in git =over 4 % git remote update - % git diff --stat master..1.2.3 -- . ':!debian' =back -You can then review the full merge diff: +=head3 When upstream releases only tarballs + +You will need the I from "When upstream releases only +tarballs", above. + +Then, either =over 4 - % git merge-tree `git merge-base master 1.2.3` master 1.2.3 | $PAGER + % gbp import-orig --no-merge ../foo_1.2.3.orig.tar.xz =back -Once you're satisfied with what will be merged, update your package: +or if you have a working watch file =over 4 - % git merge 1.2.3 - % dch -v1.2.3-1 New upstream release. - % git add debian/changelog && git commit -m changelog - % git deborig + % gbp import-orig --no-merge --uscan =back -and you are ready to try a build. +=head2 Reviewing & merging the release -=head2 When upstream releases only tarballs +It's a good idea to preview the merge of the new upstream release. +First, just check for any new or deleted files that may need +accounting for in your copyright file: -You will need the I from "When upstream releases only -tarballs", above. +=over 4 -Then, either + % git diff --stat master..1.2.3 -- . ':!debian' + +=back + +You can then review the full merge diff: =over 4 - % gbp import-orig ../foo_1.2.2.orig.tar.xz + % git merge-tree `git merge-base master 1.2.3` master 1.2.3 | $PAGER =back -or if you have a working watch file +Once you're satisfied with what will be merged, update your package: =over 4 - % gbp import-orig --uscan + % git merge 1.2.3 + % dch -v1.2.3-1 New upstream release. + % git add debian/changelog && git commit -m changelog + +=back + +If you obtained a tarball from upstream, you are ready to try a build. +If you merged a git tag from upstream, you will first need to generate +a tarball: + +=over 4 + + % git deborig =back