Opened 15 years ago
Closed 14 years ago
#236 closed enhancement (fixed)
extend "list" command for henrietta CGI
Reported by: | felix winkelmann | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | infrastructure | Version: | |
Keywords: | henrietta | Cc: | Mario Domenech Goulart |
Estimated difficulty: |
Description
Handy would be
- List all eggs with the highest available version
- send all *.meta files
Change History (5)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Hmmm. Actually version
is not a value for action
. version
is a variable and versions
is a value for action
.
comment:3 Changed 14 years ago by
Owner: | set to felix winkelmann |
---|---|
Status: | new → assigned |
I'm not sure how to handle this efficiently. We will have to do an svn ls
(which we already do), and then walk the egg directories, doing more ls
commands, etc. Unfortunately this doesn't scale at all in the case of "whole repository-info" style actions (like listing the available versions) - recursive ls
operations are slow.
Recently, I have implemented name=<name>&mode=meta
to support at least retrieving the meta-file for an egg (this isn't installed yet, see the scripts
subdirectory in the chicken-core repository); this should work for any given version.
Listing available versions sounds feasible, though. I would recommend against providing much more: it's not so much the size of response, but the time needed to process the file-list of a repository that is already large and likely to get larger.
comment:4 Changed 14 years ago by
Owner: | felix winkelmann deleted |
---|
comment:5 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
A listversion
command has been added to henrietta (r19432). This will require the changes made in commit aca9e5a (experimental) in the chicken-core git repository.
Here's a suggestion for the henrietta API:
Have an
action
query string variable which could assume the following values:list
,meta
,version
andversions
So we could have requests like (the first three examples consider compatibility with the current henrietta):
Return the files for the latest version of egg
<name>
Return the files for the version
<version>
of egg<name>
List the egg names
Return a list of the available versions for egg
<name>
(most recent versions first).Return a text response in the following format (one egg per line):
where
versionN
is the latest version andversion0
is the oldest version in the eggs repo.Return the meta file for the latest version of egg
<name>
Return the meta file for version
<version>
of egg<name>
Return all the meta files for the most recent egg versions. (Is it feasible?)
On the current repo for release 4, we have
That's just a quick measurement. Some eggs don't use the trunk/tags layout and the meta file should be picked from the latest tag directory, but that gives an idea about the size of the response.
Maybe that's too overengineered...