1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-09-20 09:16:16 +02:00
Commit Graph

190 Commits

Author SHA1 Message Date
Tom Patzig
4476afafd7 -cosmetic changes for rprjresults and rresults
-show Legend for prjresults only, if there are also packages to show
2008-05-20 11:36:16 +00:00
Marcus Hüwe
aba87c08dd - added 'file_ext' key to the metatypes dict(). This key contains the filename extension for the particular metatype. This way we achieve that each metatype has the correct syntax highliting when running "osc meta -e <metatype>..." (e.g. prjconf => .txt, pkg => .xml etc.) 2008-05-20 09:23:57 +00:00
Dr. Peter Poeml
d80c47c0b9 - osc maintainer:
-D devel_project, --devel-project=devel_project
                        define the project where this package is primarily
                        developed
- core: add addDevelProject() method
2008-05-20 08:29:54 +00:00
Dr. Peter Poeml
fd0c04477b - update version to 0.100
- decouple osc's version number from the versioning of the .osc storage
  directory data format. The latter gets __store_version__ = 1.0 now.
2008-05-19 14:56:59 +00:00
Tom Patzig
e69486bdc8 -in status-filter mode only show repos with the matching status
(in name-filter/or mixed  mode all repos are shown)
2008-05-16 11:15:41 +00:00
Tom Patzig
abcb4f8489 - legend in prjresults is default enabled
- added status-filter and name-filter option to prjresults
2008-05-15 18:09:24 +00:00
Dr. Peter Poeml
db6dcbe8a9 treat build status 'finished' as 'building' 2008-05-15 15:44:57 +00:00
Marcus Hüwe
3e0ba6285b - don't exit when there's nothing to do for a package (instead simply return)
- there's no need to catch SystemExit's when creating a new package or committing something
2008-05-08 11:55:32 +00:00
Michal Marek
25ab4d7af6 fix KeyError exception when a status is missing in the result 2008-05-05 12:27:34 +00:00
Pavol Rusnak
afec162189 - added --keep-maintainers switch to copypac
(do not remove original maintainers and replace them with caller)
2008-04-30 12:28:25 +00:00
Dr. Peter Poeml
3018460596 Merged revisions 3774-3775,3779,3781-3782,3787,3789-3793,3798,3802,3805,3817-3822,3827,3829-3830,3837-3839,3841-3842,3848-3850 via svnmerge from
https://forgesvn1.novell.com/svn/opensuse/branches/buildservice/osc-exception-handling

........
  r3774 | poeml | 2008-04-22 17:39:45 +0200 (Tue, 22 Apr 2008) | 3 lines
  
  A first draft on implement systematic exception handling: 
  Add errors.py with some exceptions defined, and babysitter.py to handle them
........
  r3775 | poeml | 2008-04-22 22:34:12 +0200 (Tue, 22 Apr 2008) | 9 lines
  
  - new global options:
       --debugger         jump into the debugger before executing anything
       --post-mortem      jump into the debugger in case of errors
       -t, --traceback    print call trace in case of errors
  - traceback and post_mortem can also be set in .oscrc.
  - catch more errors (HTTPError).
  - make config accessible from outside of the Osc instance, by making it a class
    attribute
........
  r3779 | poeml | 2008-04-23 00:55:49 +0200 (Wed, 23 Apr 2008) | 5 lines
  
  - new global option:
       -d, --debug        print info useful for debugging
  - catch some more errors (HTTPError), with OscHTTPError which isn't very
    advanced yet.
........
  r3781 | Marcus_H | 2008-04-23 01:02:00 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  - added OscConfigError class (just for testing).
  - small change in the signature of the OscBaseError constructor (actually we should get rid of the 'args' tuple because it will be deprecated sooner or later
........
  r3782 | Marcus_H | 2008-04-23 02:02:13 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  - access the prg.conf.config dict in a save way - this way we avoid AttributeErrors if the prg.conf.config dict doesn't exist
  - in case of an configparser error we have to use the prg.options object directly (this was removed in r3781 by accident)
........
  r3787 | poeml | 2008-04-23 09:23:56 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - remove local exception handling from do_req
  - for HTTPError, print details (headers and response) when in debug mode
  - catch AttributeError
........
  r3789 | poeml | 2008-04-23 16:23:14 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - errors: add two new classes named OscWrongOptionsError and OscWrongArgsError
  - commandline: raise instances of the new errors in a number of places
  - commandline: add get_cmd_help() to Osc instance which returns the formatted help of a subcommand
........
  r3790 | Marcus_H | 2008-04-23 16:48:28 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - added 2 new exception classes: OscNoConfigfileError and OscIOError
  - added new method write_config() to the conf.py module: This method writes osc's configuration file
  - minor cleanups in the conf module
........
  r3791 | poeml | 2008-04-23 17:11:07 +0200 (Wed, 23 Apr 2008) | 3 lines
  
  small compatibility fix for r3790: try-except-finally isn't supported in
  python-2.4.2, thus do the same as try-except inside a try-finally.
........
  r3792 | poeml | 2008-04-23 17:37:53 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  fix up the remaining places regarding handling of errors related to commandline parsing
........
  r3793 | poeml | 2008-04-23 17:40:34 +0200 (Wed, 23 Apr 2008) | 3 lines
  
  raise a NoWorkingCopyError in osc.core.store_read_project() in case of an
  IOError
........
  r3798 | Marcus_H | 2008-04-23 23:55:24 +0200 (Wed, 23 Apr 2008) | 1 line
  
  ported -r3797 from trunk
........
  r3802 | Marcus_H | 2008-04-24 11:00:55 +0200 (Thu, 24 Apr 2008) | 1 line
  
  ported -r3801 from trunk
........
  r3805 | poeml | 2008-04-24 12:52:30 +0200 (Thu, 24 Apr 2008) | 2 lines
  
  raise OscHTTPError in show_pattern_meta(), replacing local error handling
........
  r3817 | poeml | 2008-04-24 20:21:32 +0200 (Thu, 24 Apr 2008) | 9 lines
  
  - remove errors.OscHTTPError again.
    it seems simpler to use urllib2.HTTPError instead (and just add a specific
    error text message where appropriate, and re-raise)
  - for 404s, check out _which_ part was not found
    it is very ugly, but may be considered Good for pragmatic reasons
  - removed local exception handling and workaround for returned 500's from
    delete_package() and delete_project(), thereby getting rid of 4 possible exit
    points.
........
  r3818 | Marcus_H | 2008-04-24 22:36:17 +0200 (Thu, 24 Apr 2008) | 1 line
  
  - this check is superfluous because every HTTPError instance has a code attribute
........
  r3819 | poeml | 2008-04-25 00:39:39 +0200 (Fri, 25 Apr 2008) | 1 line
  
  remove a forgotten debug line from core.delete_project()
........
  r3820 | poeml | 2008-04-25 10:07:58 +0200 (Fri, 25 Apr 2008) | 2 lines
  
  - ditch local error handling from wipebinaries(), rebuild(), and abortbuild()
........
  r3821 | poeml | 2008-04-25 10:56:38 +0200 (Fri, 25 Apr 2008) | 2 lines
  
  It is never needed to import the exception module.
........
  r3822 | poeml | 2008-04-25 11:13:39 +0200 (Fri, 25 Apr 2008) | 4 lines
  
  - when going into the debugger with --post-mortem, always print a traceback before
    (thus implying -t)
  - do not jump into the debugger if not on a TTY, or working in interactive mode
........
  r3827 | poeml | 2008-04-25 13:07:46 +0200 (Fri, 25 Apr 2008) | 9 lines
  
  - add errors.OscWorkingCopyOutdated, which takes a tuple with three args:
    path to working copy, current rev, expected rev
  - add handler for urllib2.URLError errors to the babysitter
  - simplify the OscWrongArgsError and OscWrongOptionsError handlers, by removing
    the extra line "Sorry, wrong ..." that was printed before the messages given
    when the error was raised.
  - remove one more errors.OscHTTPError which was still there, and raise
    urllib2.HTTPError instead (show_package_meta())
........
  r3829 | poeml | 2008-04-25 14:19:10 +0200 (Fri, 25 Apr 2008) | 11 lines
  
  - comment some methods in osc.core which are used by nearly all do_* methods in
    osc.commandline
  - improve "is not a package/project dir" error messages, by printing the
    absolute path tried, instead of '.' for the cwd
  - make core.store_read_package() raise a proper NoWorkingCopyError instead of
    terminating
  - give attribution to things in babysitter.py copied from mercurial
  - prefix HTTPError exceptions with 'Server returned an error:'
  - remove obsolete local error handling from do_prjresults(), do_importsrcpkg(),
    do_repos()
........
  r3830 | poeml | 2008-04-25 14:29:35 +0200 (Fri, 25 Apr 2008) | 1 line
  
  catch IOError exceptions in the babysitter
........
  r3837 | poeml | 2008-04-25 17:27:36 +0200 (Fri, 25 Apr 2008) | 5 lines
  
  - do_remotebuildlog: raise errors for wrong arguments, remove exits
  - raise AttributeError in make_meta_url() instead of exiting
  - delete unused method core.delete_server_files()
  - replace exit call inside make_meta_url() with an AttributeError 
........
  r3838 | poeml | 2008-04-25 17:49:18 +0200 (Fri, 25 Apr 2008) | 1 line
  
  simplify the check in do_checkout if a project exists, by using show_project_meta() instead of meta_exists
........
  r3839 | poeml | 2008-04-25 18:31:26 +0200 (Fri, 25 Apr 2008) | 6 lines
  
  - commandline do_checkout(): change the order of the two checks, first do the
    (cheaper) check for existing directory
  - core.core checkout_package(): simplify the check in if the package
    exists, by using show_package_meta() instead of meta_exists
    Let it throw an exception, instead of using sys.exit().
........
  r3841 | Marcus_H | 2008-04-27 15:48:06 +0200 (Sun, 27 Apr 2008) | 5 lines
  
  - added 2 new exception classes: PackageError() and PackageExistsError. The PackageError() class is meant to be the base class for all subsequent package exceptions.
  - get rid of 2 sys.exit(1) calls
  - make the update() method of the Project() class safer: in any case we have to write the _packages file otherwise the package tracking will be screwed up.
  - minor fix in delPackage(): use getTransActPath() when printing out the filename
........
  r3842 | Marcus_H | 2008-04-27 16:52:55 +0200 (Sun, 27 Apr 2008) | 3 lines
  
  - make the commit() method safe: in any case we have to write the _packages file otherwise the package tracking will be screwed up.
  - removed another sys.exit(1): raise an exception if a package is missing when doing a commit. For now we use the PackageExistsError() exception but this might change in the future (updated description of PackageExistsError() according to this change)
........
  r3848 | poeml | 2008-04-28 12:46:45 +0200 (Mon, 28 Apr 2008) | 3 lines
  
  rename several error classes, dropping the "Osc" prefix, and "Error" suffix in
  cases where they don't really make sense.
........
  r3849 | poeml | 2008-04-28 12:57:32 +0200 (Mon, 28 Apr 2008) | 3 lines
  
  - rename osc.errors module to osc.oscerr, to make it easier to import it from
    other programs and have a crystal clear namespace
........
  r3850 | poeml | 2008-04-28 13:26:12 +0200 (Mon, 28 Apr 2008) | 2 lines
  
  split PackageExists exception class into PackageExists and PackageMissing
........
2008-04-28 16:37:44 +00:00
Marcus Hüwe
4c6ce9ae56 - added new method getStatus() which calculates the status of certain packages
- cleaned up do_status() and added support for multiple project dirs (osc st prj_dir1 /path/to/prj_dir2 ...)
2008-04-23 21:51:24 +00:00
Dr. Peter Poeml
40642ecaf4 save cookies even in case of urllib2.HTTPError exceptions [bnc#378421] 2008-04-23 07:07:45 +00:00
Dr. Peter Poeml
34b5b109ac remove osc.core.urlopen(), which is depracated since at least a year 2008-04-22 22:41:49 +00:00
Dr. Peter Poeml
5d6984ac64 remove code that was added in commit 3504 for debugging purposes, but never used.
(Bug https://bugzilla.novell.com/show_bug.cgi?id=369176, empty responses from
api.opensuse.org.)
2008-04-22 22:35:48 +00:00
Marcus Hüwe
a13e822838 - use "rev=upload" when deleting otherwise this would result in a double commit (if "rev=upload" is not specified bs_srcserver does a "real" commit and additionally osc sends a request do a commit => 2 commits) 2008-04-21 15:07:34 +00:00
Michal Marek
c4f7b89062 warn only once for each unknown status in 'osc prjresults' 2008-04-18 11:37:19 +00:00
61e2a77eb1 fix api call to request log file file. This was the legacy call, which
seems not to work anymore.
2008-04-14 07:07:08 +00:00
6debf60892 temporary workaround for cookie handling problem by Andreas 2008-04-12 08:04:41 +00:00
Michal Marek
0835580d59 Abort if meta_exists encounters an unexpected error (bnc#377693).
The correct fix is to propagate this to commandline.py and exit() there.
2008-04-11 10:49:43 +00:00
Dirk Mueller
5c064bc2c1 fix latent file descriptor leak in get_source_file() 2008-04-07 09:55:11 +00:00
Marcus Hüwe
d9ee2be26d - ignore dot packages too 2008-04-03 10:46:18 +00:00
Marcus Hüwe
a3f948dede - fixed bug #376285:
* make_dir() and checkout_package() got a new optionally 'prj_dir'     parameter. This parameter specifies in which dir we want to create new project/package dirs.
2008-04-02 15:30:44 +00:00
Dr. Peter Poeml
e62dd94cc0 copypac: make the server-side copy the default. But do a client-side copy if source and target are not on the same buildservice instance. 2008-04-02 14:36:23 +00:00
Dr. Peter Poeml
cc02e878b0 change some places where queries are passed to makeurl(). Use dictionaries for
that, which causes makeurl() to automatically do the quoting work.
2008-04-02 14:07:40 +00:00
Dr. Peter Poeml
6e5d41f481 - a slight simplification -- rev=upload is always okay. 2008-04-02 12:54:26 +00:00
Dr. Peter Poeml
5e5ca2e020 implement committing with keeping links 2008-04-02 12:37:56 +00:00
Dr. Peter Poeml
11fa192b33 - ignore all dot files (the buildservice doesn't handle them)
- fix Project class (used by the "package tracking" code path)
  to use fnmatch.fnmatch() on the list of exclude expressions
2008-03-31 14:42:11 +00:00
Marcus Hüwe
a20e354d07 - small apiurl fixes 2008-03-27 00:36:17 +00:00
Dr. Peter Poeml
a0bae2ab52 osc update: fix diff3 merging for expanded links, by adding the revision to the
get_source_file() call in the mergfile method.
2008-03-26 16:11:11 +00:00
Dr. Peter Poeml
3db9e6449c Link handling:
Add support for handling linked packages in expanded form. They can be checked
out, updated (expanding or unexpanding them), and built locally.
Missing: commit support.

Newly introduced options are:
- osc checkout: --expand-link 
- osc update: --expand-link and --unexpand-link 

Other changes:
- osc core: add show_upstream_xsrcmd5() method which returns the xsrcmd5 (if a
  linkinfo element exists only, of course)
- made updating of expanded sources work with package tracking, too.
2008-03-24 20:24:49 +00:00
Dr. Peter Poeml
2fa94dcf23 core:
- add isexpanded() method to Linkinfo class
 - add isexpandedlink() method to Package class
 - read lsrcmd5 and srcmd5 from the linkinfo element, which are present in
   expanded links.
osc info: 
 - make it show info about expanded and non-expanded links
2008-03-22 17:37:17 +00:00
Dr. Peter Poeml
f5af255798 core: relax the revision id check, so that source md5 sums are accepted 2008-03-22 16:35:22 +00:00
Dr. Peter Poeml
892e644f59 - add Linkinfo class to osc.core
- Package class: 
  - add linkinfo when reading in package data via update_datastructs()
  - add islink() method
2008-03-22 13:37:59 +00:00
Dr. Peter Poeml
c2c406aab2 submitreq: adjust to renamed API calls and XML ("merge" -> "submit") 2008-03-20 19:17:40 +00:00
Marcus Hüwe
3c3e961f4e - minor fix in createPackageDir
- osc mkpac only works when 'do_package_tracking' is enabled
2008-03-17 23:43:32 +00:00
Dr. Peter Poeml
2493ea555a - copypac: do a server-side copy (via a single api call) when
used with -s / --server-side. 
  This might be the default behaviour later.
  An option to specify the source revision is missing yet.
2008-03-17 21:46:42 +00:00
Dr. Peter Poeml
8ce42e2dd9 change osc.core.pretty_diff() to call makeurl() with a query dict 2008-03-17 21:39:27 +00:00
Dr. Peter Poeml
140a331c40 Enhance osc.core.makeurl(). This function accepts a query parameter in form of
a list. The query can now also be given as a dictionary, and in that case it
will be automatically urlencoded. The behaviour for a list is unchanged for 
the reason of backward compatibility.
2008-03-17 21:10:34 +00:00
Dr. Peter Poeml
54c1690309 osc req: add option -a / --add-header to add arbitrary request headers 2008-03-16 20:46:16 +00:00
Dr. Peter Poeml
7b91075229 handle mmap failure on filesystems like NTFS, which may not support
memory mapping when mounted under Linux
2008-03-16 19:02:38 +00:00
Marcus Hüwe
5d57d7e299 - added 3 new methods:
* createPackageDir(): create and initialize a new package dir in
    the given project.
  * get_apiurl_usr(): returns the username for a certain apiurl
  * get_configParser(): returns an ConfigParser() object which can be
    used for parsing the ~/.oscrc file
- fixed username issues when creating a new package (the problem was
  that the username for the default host was used and not the one for
  that specific apiurl)
- some small fixes in the do_importsrcpkg() method
2008-03-15 22:51:37 +00:00
Marcus Hüwe
c307449167 - we only need the "<entry />" nodes - otherwise listing files of a linked package fails 2008-03-13 21:45:24 +00:00
Pavol Rusnak
734973a0bd csv exported project results now use ';' as default 2008-03-13 11:13:22 +00:00
Dr. Peter Poeml
2bf92fce75 submitreq:
- when requesting a submit, save the source package's revision id (looking up
   what it currently is)
 - give the user a way to override it, to submit an older revision
 - when using show --diff, take the actual old revision into account. Thus, the
   diff is against the source revision of the time of request creation.
2008-03-12 23:37:35 +00:00
Dr. Peter Poeml
241f528dc4 implement a submitreq 'accept' action, resulting in the respective state change 2008-03-12 18:22:11 +00:00
Dr. Peter Poeml
8fc20cfc74 ...which doesn't work. There are other requests where 0-replies are possible. 2008-03-11 17:09:25 +00:00
Dr. Peter Poeml
dad51ee405 add a temporary debug path to http_debug() for bug 369176 (empty responses from api.opensuse.org) 2008-03-11 16:39:47 +00:00
Dr. Peter Poeml
c0fabfc449 merged the package-tracking branch changes r2404:3491 into the trunk. 2008-03-10 18:04:23 +00:00
Michal Marek
3613893199 better fix: use %(mapping keys)s in templates 2008-03-07 09:13:30 +00:00