[TxMt] Tester wanted for the new bundle "GetBundles"
Hans-Joerg Bibiko
bibiko at eva.mpg.de
Thu Jul 17 14:05:45 UTC 2008
Hi,
I just uploaded the bundle "GetBundles" to the review trunk.
It is the first try to provide an easy and hopefully fast GUI to
install additional bundles hosted on the svn repositories Mactomates
Bundles, Macromates Review, and the git repository at github.com.
There is a tiny screencast:
http://www.bibiko.de/TM_GetBundles.mov (5MB)
It is implemented as an async DIALOG window showing a table of all
found bundles in the three repositories as 'Repository' (B := Bundles,
R := Review, G ;= GitHub), 'name', 'description'.
If one invokes that window firstly it looks for the all bundles at
these repositories. If it finds a bundle description in the cache file
for a given bundle it displays that description; if not it shows "not
yet downloaded". At the bottom you will see how many bundle
descriptions are missing. For the github it always downloads the
descriptions, meaning these descriptions aren't cached. If there are
some missing one can press the "update" button. The table and the
cache will be updated.
The GUI provides a search field. One can search for names and/or
bundle descriptions. The search can be restricted to a given
repository, and in addition there is also the chance to search by
using a regexp à la ".*rtf.*[cd]op.*".
One can select one or more bundles (from different repositories) and
press "Install Bundles" (one also can double-click). Furthermore one
can select the installation target Prinstine Copy, ~ Bundles, App
Bundle, etc. or 'user defined'. If 'user defined' was chosen one can
select a folder.
The script will install a bundle by using svn (bundle intern or
TM_SVN) or 'git clone' (git or TM_GIT). If git is not installed it
will download the bundle as zip file from github and installs that one.
There is the chance to show the installation log file.
Next there is an 'Advanced' button. It opens a drawer with up to now
one button "Update TextMate's Support Lib" which installs the latest
Support/lib items.
If a folder already exists the script will ask you what to do. You can
cancel or replace the old one. If one chooses 'replace' the script
will backup the old folder as OLDFOLDERNAME + a time stamp for safety
reasons.
After installing a Reload Bundles will be done.
The entire script works with DIALOG1 or, if installed, with DIALOG2
If someone wants to test it you can check out it from the review
repository and just download it via
http://email.eva.mpg.de/~bibiko/downloads/textmate/GetBundles.tmbundle.zip
Please, for the first time you should select a 'user defined' folder
as installation target.
Furthermore I would be pleased if a Ruby expert can go through the
code. I'm not the Ruby specialist ;)
I tried to get rid of all circumstances, esp. for errors. All relevant
commands are wrapped into timeout and rescue blocks.
But maybe I forgot something ;)
The only way to close that window is to press the Cancel button or
simply ESC. OPTION+W won't work. The script makes usage of some
threads, thus these threads should be aborted safely.
All errors, installation commands will be written into a log file
located in the bundle's lib path. This log file will be erased each
time if one invokes "GetBundles".
I tested it on Tiger 10.4.11 and Leopard 10.5.4 on a ppc Mac with
DIALOG1 and 2.
I didn't use the command line tool 'textmate' and 'thor'. By my
opinion it is 'only' command line tool.
Any comments?
Does the script run?
What is unclear?
What is ugly?
What was misspelled?
Are there any fatal errors or freezing stuff?
What else can be done?
If a fatal error occurred and the window freezes at the screen, you
can destroy that window by entering:
"$DIALOG" - l TOKEN or "$DIALOG" window close TOKEN for DIALOG2
The token can be found at the beginning of the log file.
Please also check if there are still running a Ruby, git, svn,
tm_dialog(2) process in the Activity Monitor.
Thanks,
--Hans
More information about the textmate
mailing list