* I moved edit_meta into an own class representing metadata. that
metadata is retrieved in the constructor, can be accessed as an
elementree and can be synced back to the filesystem.
I'm using that myself to update metadata and I changed the use of
edit_meta to use that class.
to create a user if it doesn't exist yet. A new command 'usermeta' replaces
'id' respectively 'userid'.
- add preliminary support for doing uploads with a subsequent "commit" request
(not switched on now, since I want to do more testing on this, and there is
no way to pass on a commit message yet anyway.)
- add runtime check for build.rpm version, so the rpm package dependencies is
no longer required
- fix typo introduced last time in the editmeta, deletepac, deleteprj commands
- rewrite the PUT and DELETE request methods to
- transparently handle HTTPS
- handle path parameters (for commits)
- send user agent
- rename get_user_id() function to get_user_meta()
- change copyright notice from Peter Poeml to Peter Poeml / Novell Inc.
- fix testsuite
- add CREDITS file
- move all configuration code into module osc/conf.py
- now, the API server can be configured in .oscrc with
apisrv = ...
- also, 'scheme' (http/https) is no longer a module variable but can be
configured
- all config is in DEFAULT
- ignore vim swap files
- use urllib() convenience wrapper in some functions that used
urllib2.urlopen() and had their own error handling. Instead, it seems to make
sense -- in the future-- to create our own errors and propagate them up, in
cases where the error handling of urlopen() is too generic
- rename get_slash_source() to meta_get_project_list() for consistency
- show local time in get_buildhistory(), not UTC
- rewrite help text of 'rebuildpac' command
- allow to run commandline.py from the commandline (without the wrapper)
- don't send a space when doing a POST request without body
- fix testsuite, and add test for relative directories with 'status'
- add is_package_dir() method
- add pathjoin() method, similar to os.path.join but it removes a leading ./
- add 'deleteprj' command and delete_project() method. Note: the API server
doesn't seem to support it yet.
- add 'prjresults' command to display aggregated build status over the entire
project
- 'rebuildpac': accept additional repo and arch argument. Note: the syntax has
changed.
- 'log': print usage info if called with missing arguments
- extend urlopen() so it takes data for optional POST
- extend get_buildinfo() to take optional specfile argument
- osc.build.main: send specfile to server
- buildinfo(): accept specfile as third argument, and document it
'buildhistory', and make it work. It still gives out raw xml, which might be
changed
- add some help text to the linkpac documentation
- add '.git' to exclude_stuff
- extend edit_meta() with two arguments: template=new_package_templ, change_is_required=True
- increase BLOCKSIZE in othermethods.putfile() (1024 seemed a little small)
- extend othermethods.putfile() to serve a string buffer instead of a real file
- for filelists, don't read _meta file any longer (depracated). Read directly
from /source/<project>/
(now also in DELETE requests, where no quoting was done before at all)
- 'id': properly quote the query part of the URL
- fix up tests.py
- add to TODO
- remove requirement on pyxml package
- use list comprehensions in some places
- fix 'rebuildpac' command to not show raw xml
- fix updatepacmetafromspec to cope with subpackages during parsing
- add 'rebuildpac' command, which triggers a rebuild for all
repositories/architectures of the package
- fix merge on 'update', if osc is called from another directory
- escape '+' signs in filenames in GET requests as well (adds to [#153725,
181593])
- don't fail on 'resolve' when the working copy is in a newer rev already
requests [#153725, 181593]
- before committing, make sure that the working copy is up to date (added
show_rev() function)
- add 'commit' as subcommand alias for 'ci/checkin'
- use os.path.abspath() in Project and Package classes
- checkin: update local copy in store (fixes diff using obsolete old version)
- use shutil.copy2 instead of home-grown copy_file
- make put_source_file() and delete_source_file() methods of the Package class;
rename delfile method to delete_localfile
- make all subcommands functions -- so they can be used from outside (they
still print directly their output; they could become iterators later)
- deprecate 'init' subcommand
- 0.5
status:
- use new file metadata which provides checksum, size and mtime
- don't list unmodified files
- fix some conditions where status was too stupid so far
update:
- much faster now, since only new or changed files are downloaded
- print revision number
checkout:
- mark project directory as such (to be used later)
diff:
- faster, since 'status' is faster
- work against local copy
checkin:
- update package metadata from specfile
- fix argument handling
add:
- ignore .osc and other files
other changes:
- sanitize argument handling, so most commands can work with
arbitrary files/directories as arguments (work is always done per package)
- add history command (doesn't seem to be working yet)
- on first usage, ask for username password on first usage,
and store them in .oscrc (.netrc can still be used)