On Thu, Apr 20, 2017 at 03:41:16PM +0000, Lukasz Walewski wrote:
> >-----Ursprüngliche Nachricht-----
> >Von: Guido Günther [mailto:[email protected]]
> >Gesendet: Donnerstag, 20. April 2017 17:01
> >An: Lukasz Walewski
> >Cc: [email protected]
> >Betreff: Re: [git-buildpackage] gbp does not recognize the newly merged
> >& tagged upstream version
> >
> >> Should I commit the merge first?
> >
> >Ahh...yes, commit first - it won't work when you did not commit. The tag
> >should also be an annotated tag (not a lightweight one). If this still
> >fails can you send the output a run with --verbose?
> 
> Yeah, I suspected that. OK, so I gave it a fresh run:
> 
> $ git clone ...
> $ vi debian/gbp.conf # fixed upstream-tag option
> $ git commit -a
> 
> $ git merge v1.0.3
> $ vi conflicted_file # resolved conflict
> $ git add conflicted_file
> $ git commit
> [debian b2ef347] Merge tag 'v1.0.3' into debian
> 
> $ gbp dch --snapshot --auto --verbose debian/
> gbp:debug: ['git', 'rev-parse', '--show-cdup']
> gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
> gbp:debug: ['git', 'symbolic-ref', 'HEAD']
> gbp:debug: ['git', 'show-ref', 'refs/heads/debian']
> gbp:debug: ['git', 'tag', '-l', 'debian/1.0.2-2']
> gbp:debug: ['git', 'tag', '-l', 'debian/1.0.2-2']
> gbp:debug: ['git', 'log', '--pretty=format:%H', '-1', '--', 
> 'debian/changelog']
> gbp:info: Changelog last touched at '7e1c5bc392ee8b82ccf2e6c25144f4915158f5ab'
> gbp:info: Continuing from commit '7e1c5bc392ee8b82ccf2e6c25144f4915158f5ab'
> gbp:info: Only looking for changes on 'debian/'
> gbp:debug: ['git', 'log', '--pretty=format:%H', 
> '7e1c5bc392ee8b82ccf2e6c25144f4915158f5ab..HEAD', '--no-merges', '--', 
> 'debian/']
> gbp:debug: ['git', 'describe', '--match', 'v*', '--abbrev=0', 'HEAD']

That' the important part. If this command doesn't find anything it does
not pickup the new upstream version…

> gbp:debug: Found upstream version 1.0.3-1.

…but it did this time.

> gbp:debug: /usr/bin/dpkg ['--compare-versions'] ['1.0.3-1', 'lt', '1.0.2-2']
> gbp:debug: /usr/bin/dpkg ['--compare-versions'] ['1.0.3-1', 'gt', '1.0.2-2']
> gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 
> '3c47bd17616d280426d565bd7db15fa5b6627ada^0']
> gbp:debug: ['git', 'show', 
> '--pretty=format:%an%x00%ae%x00%ad%x00%cn%x00%ce%x00%cd%x00%s%x00%f%x00%b%x00',
>  '-z', '--date=raw', '--no-renames', '--name-status', 
> '3c47bd17616d280426d565bd7db15fa5b6627ada']
> gbp:debug: dch ['--no-auto-nmu', '--newversion=1.0.3-1', 
> '--distribution=UNRELEASED', '--nomultimaint-merge', '--multimaint', '--', 
> '[[[insert-git-dch-commit-message-here]]]'] []
> gbp:debug: ['git', 'config', 'user.name']
> gbp:debug: ['git', 'config', 'user.email']
> gbp:debug: Snapshot enabled: do not fixup options in header
> gbp:debug: dch ['--no-auto-nmu', '--nomultimaint-merge', '--multimaint', 
> '--nomainttrailer', '--', ''] []
> gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'HEAD']
> gbp:info: Changelog has been prepared for snapshot #1 at 
> b2ef3477671d8c80e13a52c13b443422a2a39266
> 
> 
> At this point my debian/changelog gained a new entry:
> 
> $ git diff
> diff --git a/debian/changelog b/debian/changelog
> index 9bb7572..23fc869 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,11 @@
> +my-project (1.0.3-1~1.gbpb2ef34) UNRELEASED; urgency=medium

This is 1.0.3 now…

> +
> +  ** SNAPSHOT build @b2ef3477671d8c80e13a52c13b443422a2a39266 **
> +
> +  * fixed gbp config: consistent upstream-tag for all tools not buildpackage 
> alone
> +
> + -- Lukasz Walewski <[email protected]>  Thu, 20 Apr 2017 17:16:42 +0200
> +
>  my-project (1.0.2-2) unstable; urgency=medium
> 
> 
> However, buildpackage does not like the merged changes:
> 
> $ gbp buildpackage --git-ignore-new -us -uc
> gbp:info: Exporting 'HEAD' to '/home/.../build/my-project-tmp'
> gbp:info: Moving '/home/.../build/my-project -tmp' to '/home/my-project-1.0.2'
>  dpkg-buildpackage -rfakeroot -D -us -uc -i -I
> dpkg-buildpackage: source package my-project
> dpkg-buildpackage: source version 1.0.2-2

…but here it writes 1.0.2-2. Because you're building with
--git-export-dir it seems. In this case you have to pass

     --git-export=WC

to the buildpackage call:

        --git-export=TREEISH
              Instead of exporting the current branch head, export the
              treeish object TREEISH. The special name INDEX exports the
              current index whereas the special name WC exports the
              current working copy as is.

since you have uncommitted (and unchanged) changeds in your working
copy (the modified changelog). The plan is to make

   --git-ignore-new

include

   --git-export=WC

in a future version since this looks like the saner default.
Cheers
 -- Guido

> dpkg-buildpackage: source distribution unstable
> dpkg-buildpackage: source changed by Lukasz Walewski <[email protected]>
>  dpkg-source -i -I --before-build my-project-1.0.2
> dpkg-buildpackage: host architecture amd64
>  fakeroot debian/rules clean
> dh clean
>    dh_testdir
>    dh_auto_clean
> make[1]: Entering directory '/home/.../build/my-project-1.0.2'
> rm -f firstboot_tmplt/version
> make[1]: Leaving directory '/home/.../build/my-project-1.0.2'
>    dh_clean
>  dpkg-source -i -I -b my-project-1.0.2
> dpkg-source: info: using source format `3.0 (quilt)'
> dpkg-source: info: building my-project using existing 
> ./my-project_1.0.2.orig.tar.gz
> dpkg-source: info: local changes detected, the modified files are:
>  my-project-1.0.2/Makefile
>  my-project-1.0.2/firstboot_tmplt/run.sh
> dpkg-source: error: aborting due to unexpected upstream changes, see 
> /tmp/my-project_1.0.2-2.diff.__SpG2
> dpkg-source: info: you can integrate the local changes with dpkg-source 
> --commit
> dpkg-buildpackage: error: dpkg-source -i -I -b my-project-1.0.2 gave error 
> exit status 2
> debuild: fatal error at line 1376:
> dpkg-buildpackage -rfakeroot -D -us -uc -i -I failed
> gbp:error: 'debuild -i -I -us -uc' failed: it exited with 29
> 
> Best,
> Lukasz
> 
> 
> ----------------------------------------
> 
> scan Messtechnik GmbH
> Brigittagasse 22-24
> A-1200 Wien/Vienna
> tel. +43 1 219 73 93 - 0
> fax +43 1 219 73 93 - 12
> http://www.s-can.at
> [email protected]
> 
> Geschaeftsfuehrer/President: DI Andreas Weingartner
> Firmenbuchnummer/Incorporation No: FN178880i
> Gerichtsstand/Court of Jurisdiction: Wien/Vienna
> 
> ----------------------------------------
> 
> s::can - intelligent, optical, online
> 
> i::scan - compact, precise and affordable!
> UV254::NTU::FTU::TOC::DOC::COD::BOD::Colour ...and many more to come!
> http://www.i-scan.at
> ----------------------------------------
> "YES WE SCAN !"
> 
_______________________________________________
git-buildpackage mailing list
[email protected]
http://lists.sigxcpu.org/mailman/listinfo/git-buildpackage

Reply via email to