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)