updateAlphaTcl Help
Name: | updateAlphaTcl |
Version: | 0.1 |
Last update: | 2021-05-21 14:43:29 |
This file documents the command line tool updateAlphaTcl
provided by Alpha. This tool lets you update the AlphaTcl library contained
in the application bundle. It extracts the latest state of the library from
the code repository at SourceForge and installs it in the application.
The different kinds of updates are described in the Update Alpha Help page. They correspond to the commands found in the
submenu Update Alpha in the application menu (Alpha ↣ Global Setup ↣ Update Alpha).
The script is distributed with Alpha's ExtraTools: click here to
download the ExtraTools.
It can also be found inside the application bundle in the Alpha.app/Contents/Resources/Libraries/Extras folder
(click here
to place this path in the Clipboard).
Note that this script is also used by Alpha when the user selects
the from 'Terminal' implementation of the UpdateAlphaTcl
service as explained here.
Usage
You may copy this script to a location on your shell PATH
to
make it more easily accessible or just make a soft link pointing to it.
The general syntax of the script is:
updateAlphaTcl [-d] [-u name] [-x] ?appPath?
The appPath argument is the path of the Alpha application whose
library you want to update. If it is not specified, the path is assumed to
be /Applications/Alpha.app by default.
The command supports the following options:
-d | to specify a Developer checkout, rather than a User checkout. |
-u | to specify a SourceForge username. In that case, the script
will use the svn+ssh protocol instead of https to connect
to the repository. |
-x | to prevent deleting the temporary folder used for the
checkout. This is useful only for debugging. |
If option -d is specified, the script automatically detects if the
library inside the bundle is already under Subversion control and takes
the appropriate action accordingly (i-e performs either a svn checkout or an
svn update command).
See the Examples section below.
Prerequisites
The script requires the following standard Unix tools to be installed on
your machine:
- svn, which is the Subversion client
- rsync, which is a very fast file-copying tool
By default, these tools are provided by Mac OS X, so they should be
readily available.
Examples
To make a User update in /Applications/Alpha.app:
> updateAlphaTcl
To make a Developer checkout or update in /Applications/Alpha.app:
> updateAlphaTcl -d
To make a Developer checkout or update in an Alpha which is not located in
the /Applications folder:
> updateAlphaTcl -d /path/to/Alpha.app
Known problems
From time to time, the checkout fails due to a timeout of the Subversion
connection to the repository at SourceForge. This is a known issue (with
SourceForge): if this happens, SourceForge recommends using the svn+ssh protocol instead of https. To do this, you should be a
registered user at SourceForge and then just specify your user name with
the -u option in this script. For instance (assuming your user name
is vhugo):
> updateAlphaTcl -d -u vhugo
Please report any problem or bug you encounter to
Alpha's Bug Tracker.
License and Disclaimer
Copyright (c) 2018-2021, Bernard Desgraupes.
All rights reserved.
The updateAlphaTcl package is free software and distributed under
the terms of the new BSD license:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of Bernard Desgraupes nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BERNARD DESGRAUPES BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.