部署
-
${GTWS_ORIGIN}/<project>/<repo>[/<version>]
-
${GTWS_BASE_SRCDIR}/<project>/<version>/<workspacename>/{<repo>[,<repo>...]}
源代码目录的每一级(包括全局的家目录)可以包含一个 .gtwsrc
文件,这个文件中维护与当前级相关的设置和 bash 代码。每一级的配置会覆盖上一级。
安装
用下面的命令检出 GTWS:
-
git clone https://github.com/dang/gtws.git
配置你的 ${HOME}/.gtwsrc
。它应该包含 GTWS_ORIGIN
,也可以再包含 GTWS_SETPROMPT
。
把仓库目录加到环境变量中:
-
export PATH="${PATH}:/path/to/gtws
配置
通过级联 .gtwsrc
文件来进行配置。它从根目录向下遍历,会执行在每级目录中找到的 .gtwsrc
文件。下级目录的文件会覆盖上一级。
在你最上层的文件 ~/.gtws/.gtwsrc
中进行如下设置:
-
GTWS_BASE_SRCDIR
:所有项目源文件目录树的基目录。默认为$HOME/src
。 -
GTWS_ORIGIN
: 指定 origin git 目录树的路径。默认为$HOME/origin
。 -
GTWS_SETPROMPT
: 可选配置。如果配置了这个参数,shell 提示符会有工作空间的名字。 -
GTWS_DEFAULT_PROJECT
: 不指定项目或项目未知时默认的项目名。如果不指定,使用命令行时必须指明项目。 -
GTWS_DEFAULT_PROJECT_VERSION
: 检出的默认版本。默认为master
。
在每个项目的根目录进行以下设置:
-
GTWS_PROJECT
: 项目的名字(和基目录)。 -
gtws_project_clone
: 这个函数用于克隆一个项目的指定版本。如果未定义,它会假定项目的 origin 对每一个版本都有一个单独的目录,这样会导致克隆一堆 Git 仓库。 -
gtws_project_setup
: 在克隆完所有的仓库后,可以选择是否调用这个函数,调用后可以对项目进行必要的配置,如在 IDE 中配置工作空间。
在项目版本级进行以下设置:
-
GTWS_PROJECT_VERSION:
项目的版本。用于正确地从 origin 拉取代码。类似 Git 中的分支名字。
下面这些参数可以在目录树的任意地方进行配置,如果能生效,它们可以被重写多次:
-
GTWS_PATH_EXTRA
: 这些是工作空间中加到路径后的额外的路径元素。 -
GTWS_FILES_EXTRA
: 这些是不在版本控制内,但应该在工作空间中被检出的额外的文件。这些文件包括.git/info/exclude
,每个文件都与仓库的基目录相关联。