Hi,
I played with 'Show Bundles on Repository' a bit. The only thing is that it is a bit slow.
Is there a reason for using svn list/cat?
My suggestion would it be is to use a direct way by using Net::HTTP.get(URI.parse(url)). It is much mor faster. Furthermore I implemented the entire download stuff in many threads. By using these threads the descriptions are downloaded in roughly 10sec (depending on the band-width of course).
Then I wrote a routine to install one or more bundles (also while fetching the descriptions).
To be fast as possible I cache the already downloaded descriptions. Thus if one invokes that command it looks for a description in the cache. If something was found one sees it at once, but the descriptions are still updated in the background.
I also modified the NIB a bit. If the fetching was finished the progress bar also disappears. Furthermore I include a further progress bar to indicate the install status.
Of course, there are some tiny unsolved issues, e.g. while fetching I select one or more bundle; if the a result of a thread is written to the dialog my selection could disappear.
Anyway, if you want to look at it here is a 10MB movie
http://www.bibiko.de/TM_GetBundle.mov
Is someone interested? Will the getBundle issue be integrated in TM2?
Cheers,
--Hans
On Wed, Jul 2, 2008 at 8:43 AM, Hans-Jörg Bibiko bibiko@eva.mpg.de wrote:
Hi,
I played with 'Show Bundles on Repository' a bit. The only thing is that it is a bit slow.
Is there a reason for using svn list/cat?
My suggestion would it be is to use a direct way by using Net::HTTP.get(URI.parse(url)). It is much mor faster. Furthermore I implemented the entire download stuff in many threads. By using these threads the descriptions are downloaded in roughly 10sec (depending on the band-width of course).
Then I wrote a routine to install one or more bundles (also while fetching the descriptions).
To be fast as possible I cache the already downloaded descriptions. Thus if one invokes that command it looks for a description in the cache. If something was found one sees it at once, but the descriptions are still updated in the background.
I also modified the NIB a bit. If the fetching was finished the progress bar also disappears. Furthermore I include a further progress bar to indicate the install status.
Of course, there are some tiny unsolved issues, e.g. while fetching I select one or more bundle; if the a result of a thread is written to the dialog my selection could disappear.
Anyway, if you want to look at it here is a 10MB movie
http://www.bibiko.de/TM_GetBundle.mov
Is someone interested? Will the getBundle issue be integrated in TM2?
Cheers,
--Hans
I recommend integrating with the textmate gem: http://github.com/wycats/textmate That way any improvements can be nicely segregated into either the front end UI or the backend engine.
The advantage of the textmate gem right now is that it has support for GitHub. And it runs from the terminal.
-- Thomas Aylott subtleGradient.com
On 05.07.2008, at 18:43, Thomas Aylott / subtleGradient wrote:
I recommend integrating with the textmate gem: http://github.com/ wycats/textmate That way any improvements can be nicely segregated into either the front end UI or the backend engine.
The advantage of the textmate gem right now is that it has support for GitHub. And it runs from the terminal.
This is a nice piece of software ;)
To include the textmate routine is quite easy because I've already separated GUI and the command which (de)install the bundles. Furthermore I did some improvements for the GUI.
Give me some time ;)
--Hans
On Jul 5, 2008, at 6:48 PM, Hans-Jörg Bibiko wrote:
On 05.07.2008, at 18:43, Thomas Aylott / subtleGradient wrote:
I recommend integrating with the textmate gem: http://github.com/ wycats/textmate That way any improvements can be nicely segregated into either the front end UI or the backend engine.
The advantage of the textmate gem right now is that it has support for GitHub. And it runs from the terminal.
This is a nice piece of software ;)
To include the textmate routine is quite easy because I've already separated GUI and the command which (de)install the bundles. Furthermore I did some improvements for the GUI.
Give me some time ;)
--Hans
Push it to GitHub, whatever you have
On 6 Jul 2008, at 00:50, Thomas Aylott - subtleGradient wrote:
On Jul 5, 2008, at 6:48 PM, Hans-Jörg Bibiko wrote:
On 05.07.2008, at 18:43, Thomas Aylott / subtleGradient wrote:
I recommend integrating with the textmate gem: http://github.com/ wycats/textmate That way any improvements can be nicely segregated into either the front end UI or the backend engine.
The advantage of the textmate gem right now is that it has support for GitHub. And it runs from the terminal.
This is a nice piece of software ;)
To include the textmate routine is quite easy because I've already separated GUI and the command which (de)install the bundles. Furthermore I did some improvements for the GUI.
To use textmate gem would be rather simple. But one thing is a bit tricky. textmate depends on Rubygem and thor. I believe if one wants to write a general GetBundle command one should make usage only of default libraries. By my opinion GetBundle is an essential piece of software. I guess it could be a bit annoying for people who want to use this GetBundle to install several other Ruby libraries in beforehand.
--Hans
To use textmate gem would be rather simple. But one thing is a bit tricky. textmate depends on Rubygem and thor. I believe if one wants to write a general GetBundle command one should make usage only of default libraries. By my opinion GetBundle is an essential piece of software. I guess it could be a bit annoying for people who want to use this GetBundle to install several other Ruby libraries in beforehand.
--Hans
Then just include the thor gem in GetBundle too. "freeze the gem" as they say.
On 2 Jul 2008, at 14:43, Hans-Jörg Bibiko wrote:
I played with 'Show Bundles on Repository' a bit. The only thing is that it is a bit slow.
Is there a reason for using svn list/cat?
It seemed natural, considering we want a list of bundles, then cat each info.plist :)
My suggestion would it be is to use a direct way by using Net::HTTP.get(URI.parse(url)).
hmm… while the present stuff is unusable because of the speed issue, the http approach has the disadvantage that the format is undocumented.
I need to move the svn repository to a new server then I can probably setup access via the svn protocol, which is faster than webdav. Direct http should not be faster than using svn (although it clearly is).
Btw: this reply might be outdated. I’ve been without internet in all of July and is catching up to this list chronologically, but know there is a GetBundles thread later.
On 4 Aug 2008, at 11:32, Allan Odgaard wrote:
On 2 Jul 2008, at 14:43, Hans-Jörg Bibiko wrote:
I played with 'Show Bundles on Repository' a bit. The only thing is that it is a bit slow.
Is there a reason for using svn list/cat?
It seemed natural, considering we want a list of bundles, then cat each info.plist :)
My suggestion would it be is to use a direct way by using Net::HTTP.get(URI.parse(url)).
hmm… while the present stuff is unusable because of the speed issue, the http approach has the disadvantage that the format is undocumented.
I need to move the svn repository to a new server then I can probably setup access via the svn protocol, which is faster than webdav. Direct http should not be faster than using svn (although it clearly is).
This would be great. Let me know if done.
Btw: this reply might be outdated. I’ve been without internet in all of July ...
Sorry for the delay. I'm abroad and I had no internet access.
--Hans