MAJOR: - new meta command, replacing usermeta, edituser, editprj, editmeta, ... [2] (poeml has started to work on this one) - See http://lists.opensuse.org/opensuse-buildservice/2007-05/msg00202.html and the two followups. - thereby, implement editing of project configuration (already works in api & backend) - commit message handling, and source revision handling. This affects the commands co, up, log, ci, diff. (Checking out or diffing against old revivions, committing with commit messages, and reviewing the commit log) - Extending the diff command to take an -rREV argument and show the diff of the working copy to that revision - and take -rREV:REV as argument and show the diff between those two (server-side) revisions - Extending the checkout command to accept -rREV to check out a specific revision - possibly extend the update command to accept -rREV as well - rename "log" subcommand to e.g. "buildlog", and make new "log" subcommand for commit logs - changelog handling (equivalent of Novell-internal 'vc' tool, I guess) (should also work with multiple spec files -.spec, and with -.spec) - think about how to locally build "linked" packages http://lists4.opensuse.org/opensuse-buildservice/2007-07/msg00043.html https://bugzilla.novell.com/show_bug.cgi?id=212565 NORMAL: - add support for local build of packages which do not exist / have not been created yet in the buildservice - write howto for plugin-izing subcommand implementation - split functionality that needs prj/pac as commandline arguments into a seperate tool (oscremote? osc -r?) - status: implement -u option as in svn [3] - implement (svn-like) switch command - implement 'mv' command - use urllib.urlencode for parameter encoding (or check if this is the case already?) - _real_ SSL support, with certificate verification - copypac: put the current release number into the spec file before sending it - kill BUILD_ROOT/BUILD_DIST support (or make it configurable? It tends to cause confusion if accidentally set. Only useful inside Novell anyway.) - show request body of 400 responses (bad request) - commit: check if errors during PUT are handled sensibly, so the change is not committed to localmeta - store password base64 hashed, so it is not directly visible in plaintext when opening .oscrc and someone is looking over the shoulder - use http://code.google.com/p/iniparse/ instead of ConfigParser, with write capability, for the change MINOR: - new command: osc listbinaries [] [] listing the built package, either as URLs or just the filenames? [1] - new command: osc getbinaries [] [] []+ [1] - add option to disable gpg key checking? - adjust zsh completion to work with cmdln.py implementation OPTIONAL: - add support for importing a src.rpm, extracting it and make it a package Something similar can be done by osc createpac foo-project foo123 followed by cd foo123; osc init foo-project foo123 - add support for adding tags to packages? - add support for package search [1] http://api.opensuse.org/result/Apache/SUSE_Linux_10.0/apache2/result 15:06 kurz zeit ueber 1-2 osc feature request zu reden die ich grade bekommen habe? 15:06 ja 15:06 ok 15:06 das 1. ist 15:06 osc listpackages [] 15:06 als Alias? 15:07 osc listpackages [] [] 15:07 es soll die gebauten sachen listen 15:07 ach so, rpms 15:07 quasi alle rpms/debs die da sind 15:07 und dann 15:07 mit Pfad/URL? 15:07 also praktisch den Link auf software.opesuse.org? 15:07 osc getpackage [] [] []+ 15:07 nein 15:07 im zweifel ueber API saugen 15:08 hm, waere noetig, falls ein Projekt noch nicht durchgebaut hat 15:08 jau 15:08 richi wuerde sich wirklich drueber freuen 15:08 ich weiss dass es ueber die api vom backend geht 15:09 ich weiss nur nicht ob api alles durchreicht 15:09 und leider hab ich schon ein paar sachen im api code gefunden 15:09 der falsch mit dem backend spricht :/ 15:09 ja, macht osc build auch so, eigentlich, allerdings weiss es dann die noetigen Datein aus dem buildinfo (version, release) 15:09 man kann auf dem backend alle rpms listen lassen [2] editmeta: Ah, or rather osc _thought_ it was unmodified because it uses a simple timestamp to compare the file with. This is basically suitable for humans editing, because they need more than a second... I can change that to a real comparison. Meanwhile, you can add a small sleep ;) On the other hand, it would be even nicer if there would be a facility that wouldn't require you to work around with an EDITOR script at all. Noted in the todo. [3] 19:08 < Beineri> DuDE: can you add an option to "up" which moves instead overwriting a file if it has changed in the repository? 19:08 < darix> Beineri: moves? 19:08 < darix> oO 19:08 < darix> Beineri: use case? 19:09 < Beineri> darix: I want to see what changed when updating (we miss notification and history if you didn't notice). so I want to run "diff foo.myversion foo" 19:09 < darix> Beineri: we have a history? 19:09 < darix> Beineri: you should rtfm the api docs before claiming stuff!:p 19:10 < Beineri> darix: trying to turn around my words? 19:10 < darix> Beineri: no 19:10 < darix> just correcting wrong statements. 19:10 < DuDE> Beineri: doesn't sound too useful 19:10 < Beineri> darix: what's wrong with "we miss history"? 19:10 < DuDE> it's deviating too much from the normal usecase 19:10 < DuDE> which is, merging upstream changes in 19:10 < DuDE> Beineri: but I have a better idea, I think 19:11 < DuDE> Beineri: something that I miss in svn very much 19:11 < Beineri> DuDE: it still shall merge, but make a copy of my version before :-) 19:11 < darix> GET http://api.opensuse.org/source/// 19:11 < DuDE> Beineri: you mean, keep a fool.mine file in any case? 19:11 < darix> GET http://api.opensuse.org/source///?rev=1234 19:11 < DuDE> Beineri: what I miss badly, is a command to see upstream changes 19:11 < DuDE> Beineri: such as the good old cvs status 19:12 < DuDE> Beineri: which showed the status of the files on the server 19:12 < Beineri> DuDE: status is not enough, I want to see what changed :-) 19:12 < DuDE> Beineri: I mostly want to know what I have to expect, before up'ping and merging 19:12 < DuDE> Beineri: yes, I also want to see that 19:12 < DuDE> Beineri: some kind of osc updiff 19:13 < DuDE> Beineri: would that help? 19:13 < darix> .oO( i smell nice race conditions^^ )o 19:13 < DuDE> Beineri: sorry, I just recognize that you asked for an option 19:13 < DuDE> Beineri: that's of course always an option 19:14 < DuDE> Beineri: surely 19:14 < Beineri> DuDE: that would help, yes. "my" stuff I could for now do with a wrapper :-) 19:15 < Beineri> darix: and that's how useful without osc/web-frontend support? when can this happen? % osc up checking out new package t A home:poeml/t A home:poeml/t/foo At revision 16. At revision 9. D bar1 Traceback (most recent call last): File "/suse/poeml/bin/osc", line 7, in ? commandline.main() File "/suse/poeml/osc-stable/osc/commandline.py", line 1072, in main cmd(args) File "/suse/poeml/osc-stable/osc/commandline.py", line 572, in update if state == 'M' and p.findfilebyname(filename).md5 == oldp.findfilebyname(filename).md5: AttributeError: 'NoneType' object has no attribute 'md5' [1] 11871 exit 1 osc up