Mailinglist Archive: opensuse-buildservice (250 mails)

< Previous Next >
Re: questions on r7103 Was: Re: [opensuse-buildservice] [PATCH] osc co package if cwd is a project directory
  • From: Brandon Philips <brandon@xxxxxxxx>
  • Date: Tue, 21 Apr 2009 10:30:35 -0700
  • Message-id: <20090421173035.GB4036@xxxxxxxxxxxxxxxx>

Ping? We need to address the problems with this checkin. Specifically
that it broke the feature added in r7102.



On 08:10 Fri 17 Apr 2009, Brandon Philips wrote:
On 10:35 Fri 17 Apr 2009, Adrian Schröter wrote:
Am Freitag, 17. April 2009 10:09:09 schrieb Michal Vyskocil:
On Friday 17 of April 2009 02:39:33 Brandon Philips wrote:
Peter suggested this idea a while ago. It makes sense to me. Thoughts?
If no one objects I will commit it later.

If you are currently in an osc project and only provide checkout with a
package name it will checkout that package to the cwd.


It's really annoying to type cd .. before checkout and fill a project name
even if it's stored in .osc/_project.

That is an easy one, implemented in svn -> upcoming osc 0.117

Thanks for committing the change but I do have commit rights and was
just looking for review.

I looked at the commit and I am confused at why all of the other change
were necessary in the same commit. Also, you broke the new feature I
added in r7102....!

$ svn diff -r7102:7103

Index: osc/
--- osc/ (revision 7102)
+++ osc/ (revision 7103)
@@ -352,7 +352,7 @@

bi = Buildinfo(, apiurl)
- if bi.debuginfo and not (opts.debuginfo or opts.disable_debuginfo):
+ if bi.debuginfo and not opts.disable_debuginfo:

What is this about?

buildargs = ' '.join(set(buildargs))

Index: osc/
--- osc/ (revision 7102)
+++ osc/ (revision 7103)
@@ -1124,15 +1124,17 @@
When a package is a source link, then it will be checked out in
expanded form. If --unexpand-link option is used, the checkout
instead produce the raw _link file plus patches.

- examples:
- osc co Apache # entire project
- osc co Apache apache2 # a package
- osc co Apache apache2 foo # single file -> to current
+ osc co PROJECT # entire project
+ osc co PACKAGE # checksout a package,
when local directory is a checkout package

checks out

I don't think that comment is correct. It checks out a package to the
local directory when the cwd is a _project_ directory.

+ osc co PROJECT PACKAGE # a package
+ osc co PROJECT PACKAGE FILE # single file -> to
current dir
+ inside a checked out local project directory:
+ osc co PACKAGE

This is a clear way of saying it. I say just remove the above note.


@@ -1141,13 +1143,20 @@

args = slash_split(args)
project = package = filename = None
+ apiurl = conf.config['apiurl']

Why introduce this cleanup in the same patch?

- project = args[0]
+ project = project_dir = args[0]

What is that about? project_dir = args[0]?

package = args[1]
filename = args[2]

+ if args and len(args) == 1:
+ if is_project_dir(os.getcwd()):
+ project = Project(os.getcwd()).name
+ project_dir = "."
+ package = args[0]
+ apiurl = Project(os.getcwd()).apiurl

rev, dummy = parseRevisionOption(opts.revision)

@@ -1156,34 +1165,31 @@

if filename:
- get_source_file(conf.config['apiurl'], project, package,
filename, revision=rev)
+ get_source_file(apiurl, project, package, filename,

elif package:
- if opts.current_dir: prj_dir = None
- else: prj_dir = project

NACK. You just broke the -c flag I committed in r7102

Can I reintroduce this change?

+ checkout_package(apiurl, project, package,
+ rev, expand_link=expand_link,

- checkout_package(conf.config['apiurl'], project, package,
- rev, expand_link=expand_link, prj_dir=prj_dir)

This all should have been in a separate commit.

elif project:
if os.path.exists(project):
sys.exit('osc: project \'%s\' already exists' % project)

# check if the project does exist (show_project_meta will
throw an exception)
- show_project_meta(conf.config['apiurl'], project)
+ show_project_meta(apiurl, project)

- init_project_dir(conf.config['apiurl'], project, project)
+ init_project_dir(apiurl, project, project)
print statfrmt('A', project)

# all packages
- for package in meta_get_packagelist(conf.config['apiurl'],
+ for package in meta_get_packagelist(apiurl, project):
- checkout_package(conf.config['apiurl'], project,
+ checkout_package(apiurl, project, package,
except oscerr.LinkExpandError, e:
print >>sys.stderr, 'Link cannot be expanded:\n', e
# check out in unexpanded form at least
- checkout_package(conf.config['apiurl'], project,
+ checkout_package(apiurl, project, package,
expand_link=False, prj_dir=project)

To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >