0.108: - osc submitreq: has two aliases now: "osc sr" and "osc submitrequest" - osc sr create: prompt to revoke existing requests - osc sr revoke: new command for to get rid of requests to projects one can't write to - osc sr list: allow showing requests in a state other than "new" - osc sr show: show the current state's comment - osc sr log: new command to show the history of a given id - osc sr: enable requests for submitting new packages - osc build: implement --no-checks - osc build: be less strict on the arguments, and guess what's needed. For instance: * osc build PLATFORM ARCH BUILD_DESCR * osc build PLATFORM (ARCH = hostarch, BUILD_DESCR guessed) * osc build ARCH (PLATFORM = build_platform (config option), BUILD_DESCR guessed) * osc build BUILD_DESCR (PLATFORM = build_platform (config option), ARCH = hostarch) * osc build (PLATFORM = build_platform (config option), ARCH = hostarch, BUILD_DESCR guessed) - osc build: download after the target architecture check - osc addremove: bugfixes, --recursive option - osc init: added support to initialize a project dir - osc metafromspec: new alias for 'updatepacmetafromspec' which is hard to remember - osc updatepacmetafromspec: also update URL - osc buildlog: do not download entire log to memory - new http_headers option to add arbitrary headers to HTTP requests - bugfix to make osc work on Gentoo - enhance/update the package and project template - .netrc heritage from previous commandline client has been removed - osc asks for password now, when used with -A 0.107: - osc build: the --extra-pkgs option is now a configurable setting in .oscrc. Default is "extra-pkgs = vim gdb strace" - .oscrc: make tilde expansion work on the packagecachedir setting - osc update / checkout: don't check out a working copy, or update an existing one, when a source link cannot be applied [bnc#409373] 0.106: - osc rdiff / osc submitreq show: diff the _expanded_ sources [bnc#408267] - osc submitreq list: show author's name - osc submitreq: shortcut alias 'sr' added 0.105: - osc submitreq list: - can now be called without parameters, applying to the working copy then. - calling it in a project directory is also possible now. - output was improved. Newest requests are listed first. - osc submitreq delete: a new action which has been added - osc submitreq list/create: use api URL from the working copy - osc meta: editing returns the API error description instead of a plain HTTP error if available - osc copypac: use the correct userid when copying to another api host - osc importsrcpkg: disable signature check when getting data from a rpm file - osc linkpac: --revision option added. - osc search: added option -i|--involved, to show in which projects/packages a developer is involved - osc build: double check the buildinfo for local builds. Refuse to build for architectures that are not supported by the host - osc buildhist: change the output into a format which better matches actual RPM filenames. - osc commit: give commit message tempfiles a ".diff" suffix, so syntax highlighting automatically works in capable editors - other bug fixes: - don't expand/unexpand if the working copy has local modifications - this is an ugly workaround for #399247 but this way the working copy isn't screwed up - work around a bug which causes packages to be cached locally under the "None" architecture (and therefore causing issues when building for more than one architecture via osc build). - don't create _linkerror files in working copies - better error handling (mostly printing more details) in a number of cases - show error messages from the API also for type 500 errors 0.104: - osc update: after update, reset the revision when updating multiple package. Fixes "404: Not Found" type errors when updating an entire project. [bnc#399177] - more/better error messages in some error scenarios - osc wipebinaries: add missing check for commandline arguments, which could cause a PACKAGE argument to be ignored - fixed make_diff in order to avoid errors when committing a new package (created with mkpac) 0.103: - osc submitreq create: simplify by make osc guess needed parameters, if there is a working copy and it is a source link. - osc submitreq create: don't stop on packages that have a devel project defined, if the submit actually comes from that project. - osc checkout: checkout of source links is now done in expanded form per default. The new option --unexpand-link can be used to get the raw link file. - show the API's error message for HTTP 403 (Forbidden) replies. 0.102: - osc branch: Show the actually created branch project name, not a guessed one. Add --nodevelproject. - osc submitreq: look up the develproject of the target, and if there is one, don't create the request, unless forced with --nodevelproject. - make the global -d option work better under certain circumstances 0.101: - add osc branch command, using the branch API call to branch a package to home:poeml:branches:PRJ/PKG - osc commit now opens $EDITOR for commit message - improved error handling, when API returns HTTP status code 400 (bad request) - osc status: implement -q/--quiet switch - osc info: slightly more verbose - osc deletepac: allow deletion of multiple packages at once - make "osc meta prjconf -e" work again (probably caused by r3702) 0.100: - improved error handling (babysitter.py wrapper, oscerr.py exception classes) Tracebacks are mostly suppressed now. To enable them, use -t, --traceback print call trace in case of errors or set traceback=1 in .oscrc. - other new global options for debugging: --debugger jump into the debugger before executing anything --post-mortem jump into the debugger in case of errors -d, --debug print info useful for debugging - make way for more seamless osc version updates (the .osc directory in working copies will have its own versioning in the future) - osc rprjresults and osc rresults: new commands to show remote build results - osc build: added --baselibs and --jobs options - osc copypac: added --keep-maintainers switch - osc maintainer: new -D/--devel-project switch - BUILD_DIST environment variable will be ignored (bnc#359846) 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. 0.99+patches (interim releases, including Wed Apr 2 16:36:40 CEST 2008) - new command submitreq, to handle "submit requests" (next generation build service feature). See http://en.opensuse.org/Build_Service/Collaboration - new link handling: add support for handling linked packages in expanded form. They can be checked out, updated (expanding or unexpanding them), and built locally. Newly introduced options are: * osc checkout: --expand-link * osc update: --expand-link and --unexpand-link - new feature: package tracking. It's not enabled by default and needs to be switched on with do_package_tracking=1 in .oscrc. before using. See http://lists.opensuse.org/opensuse-buildservice/2008-03/msg00114.html - prjresults: add --csv option - req: add option -a / --add-header to inject arbitrary request headers - addremove (and others): ignore _all_ dot files (the buildservice doesn't handle them) - copypac: do a (quicker) server-side copy by default, when source and target are on the same buildservice instance. - build: - add --debuginfo - add --no-verify - add --local-package to build a package which doesn't exist on the server - add --alternative-project to specify a project, if the current one doesn't exist on the server - use api url from .osc/_apiurl [#355144] - new command remotebuildlog - diff: fix #347377 (diffing too many files) - checkout: check for project existance beforehand - rdiff: new command for server-side diffs between arbitrary packages - cat: new command to print a file on the standard output - diff: reworked functionality to show newly added files, and behaving more like svn when doing diff against a certain revision - bugfix in {link,aggregate,copy}_pac ( elements) - checkout an empty project instead of doing nothing - fix prjresults for newly added packages, where build status is missing 0.99: - aggregatepac: new command, similar to linkpac. Patch from Pavol Rusnak. - wipebinaries: added --build-failed and --broken [#335498] - deleteprj: enabled this command, as the backend now supports it - maintainer: - added --verbose option - added functionality to add/remove users from a project/package - print the list of URL to try, when in HTTP debug mode - build: allow to use lbuild, a compatible replacement for build - do not create dirs for non-existing packages during checkout [#259711] 0.98: - new maintainer command, to list the maintainers of a project or package - ls: add -b option to list binaries - make osc library simpler to use from external scripts - new importfromsrcpkg command, to import a package src.rpm from file or URL - new req command, to issue arbitrary requests to the API - initial support for commit messages (ci -m/-F) - implementing a log command to review the commit log - renamed previous "log" command to "buildlog" (short: bl) - new meta command, replacing editmeta, editprj, createprj, editpac, createpac, edituser, pattern - added search support - show helpful xml error messages if broken metadata is uploaded 0.97: - added initial revision handling: - extended "osc co prj pac" to checkout a specific revision of pac - extended "osc up" to update to a specific revision - extended "osc diff" to diff the working copy against a specific revision on the server. NOTE: comparing two server-side revisions (osc diff -r 11:12) is currently not supported! - load subcommands from /var/lib/osc-plugins/ or ~/.osc-plugins/ - updatepacmetafromspec scans for spec files automatically. Added --specfile option to updatepacmetafromspec. - wipebinaries: allow to wipe all binaries of packages for which the build is disabled - addremove: ignore foo.rXX, foo.mine for files which are in 'C' state - ls: add verbose option to print extra information for packages - for all server-side commands, allow arguments "foo/bar" instead of "foo bar" - new wipebinaries and abortbuild commands, by courtesy of Marcus Huewe - improved metadata error condition handling (thanks to Marcus Huewe) - build: add --userootforbuild option - build: implement -x/--extra-pkgs option (passed to backend and included in buildinfo result) - make filling out of username in templates work again - don't try to delete projects, as long it is not implemented in the backend - use new API route for downloading binaries also in configured URLs - make deletepac work again 0.96: - following suggestions by Christian Boltz and Michal Marek, osc now memorizes where a working copy was checked out from, saving the api server url to .osc/_apiurl. - implement 'info' subcommand - use new api routes in all places - buildhistory works again - copypac: implement package copy from one buildservice instance to another (--to-apiurl option) - the results subcommand now handles multiple arguments - build: implement --prefer-pkgs and --keep-pkgs option - applied patch from Michael Marek, fixing all places where error messages were printed to stdout instead of stderr. [#239404] - osc is now easier to work with when using alternative API servers. The configured server can be overriden with -A on the commandline. "apisrv" in the config takes a URL now, so the variable "scheme" which was needed in addition before becomes obsolete. For backward compatibility, a hostname (and scheme variable) are accepted like before. Likewise, the auth sections in the config take a URL now, or a hostname:port to keep old config working. HTTP or HTTPS scheme is determined from the URL. Credentials must be configured in .oscrc. - build: use actual api server in urllist for downloading, instead of hardcoded api.opensuse.org [#265211]. 0.95: - rewrite the internal HTTP handling - save and reuse HTTP server cookies, which can speed up HTTP requests up about 5 times in an iChain setup - adding http_GET/POST/PUT/DELETE() functions, which dispatch to http_request(), and use them everywhere - removing othermethods.py - keeping urlopen(), in case it is used from externally, but have it print out a "depracated" message - finally, global option -H enables HTTP traffic debugging - implement "rebuild all failed packages", via --failed option in rebuildpac subcommand - status -v shows all files, including unmodified ones - suppress the legend in prjresults by default (show with -l) - --version shows the program version number - fix the commit subcommand's argument handling. The following works correctly now: osc ci ../test/onlyinwc `pwd` fstab ../test/f2 - fix the download progress meter to work with small terminals [#266989] - update: when updating multiple packages, print each package name - make 'results' subcommand many times faster, by making only a single request - prjresults: sort package names - build: run with --norootforbuild, thereby defaulting to build as abuild user - build: fix (harmless) errors showing up in the build log during buildsystem setup, by using the new preinstall and runscripts attributes - update: when updating, don't delete files with local modifications - let the diff subcommand return 1 if differences were found - fix important bug, which could lead to overwriting local modifications when upstream changes are merged in - if a merge fails, the store copy must be updated neverthelesss - fix testsuite and add testcase for successful merging - sort output of 'status' (unknown files first, filenames alphabetically) - core: added class "metadata" (merge from Susannes /branches/froh/reponator/) - added command alias 'stat' for 'status', like in svn - improved documentation/examples (Lars + Susanne) - print usage info if 'co' is called without arguments 0.9: - "iChain-ready" (works with API server now using iChain authentication) - add runtime check for build.rpm version, so the rpm package dependency is no longer required - add 'edituser' command for editing the metadata of a user account. It tries to create a user if it doesn't exist yet. A new command 'usermeta' replaces 'id' respectively 'userid'. - rewrite configuration handling. Now the API server can be set in .oscrc - ignore '.gitignore', '.pc', '*~' (now using filename matching [#208969] - fix 'status' to work with project directories as arguments - fix 'status ' - 'rebuildpac' now accepts additional repo and arch argument. Note: the syntax has changed. - add 'prjresults' command to display aggregated build status over an entire project - add 'deleteprj' command (the API server doesn't seem to support it yet, though) - change 'buildhistory' to display human-readable text - add 'copypac' subcommand, to copy a complete package to a new package, possibly cross-project - don't die if user tries to 'add' a file which is already versioned - don't die if 'addremove' encounters directories - urlopen(): for server return code 500, print out the reply body 0.8: - build: use configuration from *local* specfile (e.g. BuildRequires) - build: let envvars OSC_SU_WRAPPER and OSC_BUILD_ROOT override config - build: allow 'dynamical' build-root setting by using %(repo)s and %(arch)s - add 'createpac/editpac' and 'createprj/editprj' subcommands which are similar to 'editmeta' but should be more logical to find - added 'deletepac' subcommand - added 'buildhistory' subcommand (formerly 'history'). This only gives out raw xml at this time - added 'linkpac' subcommand - added ".git" to the excluded files - adapt to API changes - fixed issue with uploading files when an intercepting web proxy was in between osc and the api server - fixed creation of new packages/projects 0.7: - initial support for local builds (subcommand 'build') - better error handling - new subcommands buildconfig, buildinfo, repos - remove requirement on pyxml package - editmeta: add examples for package/project templates - add support for streaming the build log (thanks to Christoph Thiel) - add 'rebuildpac' subcommand - add 'repourls' subcommand - don't diff binary files - don't try to merge binary files - add a preliminary 'updatepacmetafromspec' subcommand, which takes package metadata from a specfile - fix profiling wrapper - set User-agent - bugfixes: - fix handling of filenames with '+' signs - make 'resolved' more robust - fix merge on 'update' if called from another directory - display reason for build status is 'broken' - handle HTTP error codes != 404 when reading metadata in edit_meta() - handle 'project not found' error in show_project_meta() 0.6: - diff bugfix: sometimes displayed diff against obsolete files - update bugfixes: fix update of working copy when adding a file from upstream which is missing locally; fix update in directory with unmodified files: don't try to merge if upstream file wasn't changed at all - add: make it faster 0.5: - help :-) - add 'editmeta' subcommand: Edit project/package meta information, creating new project or package if it doesn't exist. The user interface is $EDITOR - fix status letter for files merged on update (in analogy to svn , it is either G or U) - if an old _files listing without any metadata is found, don't bother the user with it - make all subcommands properly importable functions - bug in 'resolved' command fixed, which wouldn't clear the conflict state of a file 0.4: - allow 'up' inside a project directory (will automatically pull in all new packages). (For past checkouts, you may need to put the project name into $prjdir/.osc/_project yourself). - checkout: preserve mtimes - add diff3 merge support. Locally modified files are merged with upstream changes if possible, and go into Conflict state if that fails. - add 'resolved' command to be used after manual merging. 0.3: - use the new file metadata, which provides checksum, size and mtime - faster 'status', 'update', 'diff' - improve argument handling, now e.g. 'osc up *' is possible - on first usage, ask for username and password and store them in .oscrc (.netrc can still be used)