1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-14 00:06:15 +01:00
Commit Graph

329 Commits

Author SHA1 Message Date
Dr. Peter Poeml
3f9b53ca6e osc branch: use --expand-link in the example that shows how to check out the
branched package
2008-05-26 13:12:05 +00:00
Dr. Peter Poeml
bbe533087e improve error handling, by printing the <summary> given by the API for HTTP status code 400 (bad request) 2008-05-21 16:38:50 +00:00
Dr. Peter Poeml
ac55bcaa5a make help of osc init clearer 2008-05-21 16:10:20 +00:00
Dr. Peter Poeml
d8245f5f36 - add osc branch command, using the branch API call to branch a package to
home:poeml:branches:PRJ/PKG
2008-05-21 15:49:00 +00:00
Dr. Peter Poeml
7e524fd442 - osc commit: open $EDITOR for commit message
- osc status: implement -q/--quiet switch
- osc deletepac: allow deletion of multiple packages at once
- osc info: slightly more verbose
- core.edit_message() added
- core.getStatus() accepts new "quiet" argument
- oscerr.UserAbort added
2008-05-21 13:44:49 +00:00
Marcus Hüwe
3c5a25f1a5 - don't do any exception handling in the sync() method of the metafile() class. It's up to the caller what to do in case of an exception
- edit_meta(): raise an exception instead of printing an "useless" error message.
- make "osc meta prjconf <project> -e" work again (probably r3702 caused the problem)
2008-05-20 16:03:08 +00:00
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
abb97eb595 -new command rprjresults, to show remote project results
-new command rresults, to show remote package results
2008-05-16 12:25:50 +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
34e7822bbb - added --baselibs option to osc build 2008-05-08 12:21: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
Marcus Hüwe
f041ee43ba - use absolute pathnames for preferred package dirs 2008-05-04 14:00:42 +00:00
Marcus Hüwe
602c146663 - return a real string instead of an tuple when invoking 'print' on the object 2008-05-03 18:25:24 +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
Dr. Peter Poeml
5d7df534ee submitreq show: fix the --diff option; the diff was shown reversed. (bnc#379519) 2008-04-28 09:39:07 +00:00
Marcus Hüwe
2440bed285 - added --job option to the do_build() command. (this option will be passed to build script) 2008-04-24 09:00:23 +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
Marcus Hüwe
a4f4488a50 - fixed KeyError when printing the new_conf_template 2008-04-22 22:43:00 +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
Marcus Hüwe
e9176c7513 - fixed bug #378752 (osc fails to delete patterns) 2008-04-10 21:04:17 +00:00
Marcus Hüwe
80ab6bf345 - fixed bug #359846:
the BUILD_DIST environment variable will be ignored by osc
- the following environment variables can still be used:
  # OSC_SU_WRAPPER overrides the setting of su-wrapper. 
  # OSC_BUILD_ROOT overrides the setting of build-root.
  # OSC_PACKAGECACHEDIR overrides the setting of packagecachedir.
  (now they're documented in the helptext)
2008-04-09 18:45:59 +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
64f3d8c55e submitreq show: if the target package doesn't exist, a diff cannot be produced. 2008-03-20 20:11:30 +00:00