Opened 15 years ago
Closed 15 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 15 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 15 years ago by
| Owner: | felix winkelmann deleted |
|---|
comment:5 Changed 15 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
actionquery string variable which could assume the following values:list,meta,versionandversionsSo 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
versionNis the latest version andversion0is 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...