[opensuse-buildservice] [ANNOUNCE] new osc plugin: prdiff for comparing projects
Hi all, I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin: https://gist.github.com/616b476a9c592a0a2a89 (Copy to your ~/.osc-plugins or /var/lib/osc-plugins to try it.) Example usages: $ osc prdiff --include=client openSUSE:Factory Cloud:OpenStack:Factory differs: python-glanceclient identical: python-keystoneclient differs: python-novaclient differs: python-quantumclient identical: python-swiftclient $ osc prdiff --new-only --exclude='crowbar|rubygem' \ systemsmanagement:chef:10:staging \ systemsmanagement:crowbar:2.0 identical: couchdb identical: erlang identical: gecode identical: js differs: rabbitmq-server new only: all-barclamps-good new only: fakechroot new only: libyaml new only: ruby new only: ruby-common new only: ruby19 new only: sleshammer $ cd ~/OBS/home/aspiers/branches/devel/languages/ruby/ $ osc prdiff --diffstat --requests differs: ruby-common generate_buildrequires.sh | 31 ++++++++++++++++++++++++++----- ruby-common.changes | 8 ++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) 148023 State:new By:aspiers When:2013-01-11T11:04:14 submit: home:aspiers:branches:devel:languages:ruby/ruby-common -> devel:languages:ruby Descr: - Fix it to work even if all-good has just been created locally via mkpac and doesn't exist server-side yet. - Improve support for running within a branch of the original project. This allows submitreqs which change all-good.spec. Feedback welcome. I'd also like to know if it makes sense to include this in osc core (my vote is yes, but I'm biased ;-) Cheers, Adam -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Adam Spiers (aspiers@suse.com) wrote:
Hi all,
I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin:
https://gist.github.com/616b476a9c592a0a2a89
(Copy to your ~/.osc-plugins or /var/lib/osc-plugins to try it.)
This plugin now lives in a github repo: https://github.com/aspiers/SUSE-dist Feel free to submit issues and pull requests. However I would also like the code to be considered for inclusion in osc core if possible. Thanks, Adam -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi Adam, On 2013-01-17 12:57:03 +0000, Adam Spiers wrote:
Adam Spiers (aspiers@suse.com) wrote:
I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin:
https://gist.github.com/616b476a9c592a0a2a89
(Copy to your ~/.osc-plugins or /var/lib/osc-plugins to try it.)
This plugin now lives in a github repo:
https://github.com/aspiers/SUSE-dist
Feel free to submit issues and pull requests. However I would also like the code to be considered for inclusion in osc core if possible.
Nice! Your plugin looks pretty good. I've no objections against including it into osc. So if you create a merge request I'll happily accept it:) Some comments about the code: - _prdiff_output_matching_requests: when using the "get_actions" method you can directly specify the action types you're interested in: "req.get_actions('submit')" - do_prdiff: in most cases it isn't needed to "inspect" the storedir manually. So instead of "if os.path.exists(os.path.join(store, '_project'))" you should use "if is_project_dir(os.curdir)". Also the former will evaluate to True if "prdiff" is executed in a package wc (which will lead to an error when instantiating the "Project" object). - do_prdiff: the "conf.get_config()" call isn't needed. Feel free to ignore the comments - I'll adjust the code once it is in osc master:) Again thanks for the plugin and keep up the good work! Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Marcus Hüwe (suse-tux@gmx.de) wrote:
Hi Adam,
On 2013-01-17 12:57:03 +0000, Adam Spiers wrote:
Adam Spiers (aspiers@suse.com) wrote:
I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin:
https://gist.github.com/616b476a9c592a0a2a89
(Copy to your ~/.osc-plugins or /var/lib/osc-plugins to try it.)
This plugin now lives in a github repo:
https://github.com/aspiers/SUSE-dist
Feel free to submit issues and pull requests. However I would also like the code to be considered for inclusion in osc core if possible.
Nice! Your plugin looks pretty good. I've no objections against including it into osc. So if you create a merge request I'll happily accept it:) Some comments about the code: - _prdiff_output_matching_requests: when using the "get_actions" method you can directly specify the action types you're interested in: "req.get_actions('submit')" - do_prdiff: in most cases it isn't needed to "inspect" the storedir manually. So instead of "if os.path.exists(os.path.join(store, '_project'))" you should use "if is_project_dir(os.curdir)". Also the former will evaluate to True if "prdiff" is executed in a package wc (which will lead to an error when instantiating the "Project" object). - do_prdiff: the "conf.get_config()" call isn't needed.
Thanks for the review! I've made the adjustments, and am now importing into commandline.py. I think I see some opportunities for refactoring and reuse of code from other commands too, which is good. I also just submitted a couple of pull requests to fix some test failures and hopefully get the Travis builds working - they are all currently failing due to lack of a Travis configuration file. I'll try to write some tests for prdiff too. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Adam Spiers (aspiers@suse.com) wrote:
Marcus Hüwe (suse-tux@gmx.de) wrote:
On 2013-01-17 12:57:03 +0000, Adam Spiers wrote:
Adam Spiers (aspiers@suse.com) wrote:
I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin:
https://gist.github.com/616b476a9c592a0a2a89
(Copy to your ~/.osc-plugins or /var/lib/osc-plugins to try it.)
This plugin now lives in a github repo:
https://github.com/aspiers/SUSE-dist
Feel free to submit issues and pull requests. However I would also like the code to be considered for inclusion in osc core if possible.
Nice! Your plugin looks pretty good. I've no objections against including it into osc. So if you create a merge request I'll happily accept it:)
[snipped] For anyone interested, this code was merged into osc earlier today: https://github.com/openSUSE/osc/pull/18 Next on my list is converting my "osc classify" plugin into an extension of "osc info" and submitting a pull request for that. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi to all. Could anybody add this build target please? -- Dmitriy DA(P).DarkneSS Perlow / Linux x64 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hello. Here I am again. Why there are no (unresolvable at https://build.opensuse.org/package/show?package=gelide&project=home%3ADarkSS%3Astuff for example) libgconfmm-2.6-dev and libglademm-2.4-dev packages at OBS' *buntu repo, but they are at Debian one? http://packages.ubuntu.com/search?keywords=libgconfmm-2.6-dev&searchon=names&suite=all§ion=all http://packages.debian.org/search?keywords=libgconfmm-2.6-dev&searchon=names&suite=all§ion=all http://packages.ubuntu.com/search?keywords=libglademm-2.4-dev&searchon=names&suite=all§ion=all http://packages.debian.org/search?keywords=libglademm-2.4-dev&searchon=names&suite=all§ion=all -- Dmitriy DA(P).DarkneSS Perlow / Linux x64 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Dmitriy Perlow
Hello. Here I am again.
Why there are no (unresolvable at https://build.opensuse.org/package/show?package=gelide&project=home%3ADarkSS%3Astuff for example) libgconfmm-2.6-dev and libglademm-2.4-dev packages at OBS' *buntu repo,
*buntu 11.10-12.10 only
but they are at Debian one?
and *buntu < 11.10
http://packages.ubuntu.com/search?keywords=libgconfmm-2.6-dev&searchon=names&suite=all§ion=all http://packages.debian.org/search?keywords=libgconfmm-2.6-dev&searchon=names&suite=all§ion=all
http://packages.ubuntu.com/search?keywords=libglademm-2.4-dev&searchon=names&suite=all§ion=all http://packages.debian.org/search?keywords=libglademm-2.4-dev&searchon=names&suite=all§ion=all
-- Dmitriy DA(P).DarkneSS Perlow / Linux x64 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Dmitriy Perlow
Why there are no (unresolvable at https://build.opensuse.org/package/show?package=gelide&project=home%3ADarkSS%3Astuff for example) libgconfmm-2.6-dev and libglademm-2.4-dev packages at OBS' *buntu repo, but they are at Debian one?
Is multiverse the reason in according to http://lists.opensuse.org/opensuse-buildservice/2010-04/msg00256.html ? -- Dmitriy DA(P).DarkneSS Perlow / Linux x64 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Jan 30, 2013 at 12:17:13AM +0300, Dmitriy Perlow wrote:
Dmitriy Perlow
Tue, 29 Jan 2013 22:44:48 +0300: Why there are no (unresolvable at https://build.opensuse.org/package/show?package=gelide&project=home%3ADarkSS%3Astuff for example) libgconfmm-2.6-dev and libglademm-2.4-dev packages at OBS' *buntu repo, but they are at Debian one?
Is multiverse the reason in according to http://lists.opensuse.org/opensuse-buildservice/2010-04/msg00256.html ?
My workaround is to import the ubuntu sources into OBS (publishing disabled): https://build.opensuse.org/package/show?package=wxWidgets2.8&project=home%3Ae9925248%3Agrandorgue Regards, Martin -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, 2013-01-16 at 16:02 +0000, Adam Spiers wrote:
Hi all,
I wanted a way to quickly compare a project with its "upstream" project, and a quick hack ended up as a new osc plugin:
Adam, I finallly got around to using your plugin and, of course, love it... Would you mind a small feature request? I ran it like this: osc prdiff GNOME:Factory GNOME:Next -n (GNOME:Next is usually the staging project while Factory is frozen or needs to track a specific version). now, this looks all fine, but for 'most' of the packages I created SR's already... so I would like to see either one of the following possibilities: - Do not list packages which have a pending SR from $NEWPRJ to $OLDPRJ - Optionally, instead of 'hiding' those, add the SR# to the information Related, in getting the output more usable, it might be an option to - Only show packages in a specific state - Exclude packages of a specific type (differs, identical) from the list... of course grep will do the trick too.. but you know :) Thanks for the great work! Dominique -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (5)
-
Adam Spiers
-
Dimstar / Dominique Leuenberger
-
Dmitriy Perlow
-
Marcus Hüwe
-
Martin Koegler