1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-27 10:16:14 +01:00
github.com_openSUSE_osc/TODO
Dr. Peter Poeml 0e6dcd9a4a add to TODO
2007-07-13 14:43:22 +00:00

193 lines
7.7 KiB
Plaintext

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 <package-name>-<repository-name>.spec, and with <package-name>-<version>.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 [<project>] [<package>]
listing the built package, either as URLs or just the filenames? [1]
- new command: osc getbinaries [<project>] [<package>] [<rpm>]+ [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 <darix> kurz zeit ueber 1-2 osc feature request zu reden die ich grade bekommen habe?
15:06 <DuDE_> ja
15:06 <darix> ok
15:06 <darix> das 1. ist
15:06 <darix> osc listpackages [<project>]
15:06 <DuDE_> als Alias?
15:07 <darix> osc listpackages [<project>] [<package>]
15:07 <darix> es soll die gebauten sachen listen
15:07 <DuDE_> ach so, rpms
15:07 <darix> quasi alle rpms/debs die da sind
15:07 <darix> und dann
15:07 <DuDE_> mit Pfad/URL?
15:07 <DuDE_> also praktisch den Link auf software.opesuse.org?
15:07 <darix> osc getpackage [<project>] [<package>] [<rpm>]+
15:07 <darix> nein
15:07 <darix> im zweifel ueber API saugen
15:08 <DuDE_> hm, waere noetig, falls ein Projekt noch nicht durchgebaut hat
15:08 <darix> jau
15:08 <darix> richi wuerde sich wirklich drueber freuen
15:08 <darix> ich weiss dass es ueber die api vom backend geht
15:09 <darix> ich weiss nur nicht ob api alles durchreicht
15:09 <darix> und leider hab ich schon ein paar sachen im api code gefunden
15:09 <darix> der falsch mit dem backend spricht :/
15:09 <DuDE_> ja, macht osc build auch so, eigentlich, allerdings weiss es dann die noetigen Datein aus dem buildinfo (version, release)
15:09 <darix> 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/<project>/<package>/<filename>
19:11 < DuDE> Beineri: you mean, keep a fool.mine file in any case?
19:11 < darix> GET http://api.opensuse.org/source/<project>/<package>/<filename>?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