使用GTWS分析复杂的Git工作空间

部署


  1. ${GTWS_ORIGIN}/<project>/<repo>[/<version>]
  2. ${GTWS_BASE_SRCDIR}/<project>/<version>/<workspacename>/{<repo>[,<repo>...]}

源代码目录的每一级(包括全局的家目录)可以包含一个 .gtwsrc 文件,这个文件中维护与当前级相关的设置和 bash 代码。每一级的配置会覆盖上一级。

安装

用下面的命令检出 GTWS:


  1. git clone https://github.com/dang/gtws.git

配置你的 ${HOME}/.gtwsrc。它应该包含 GTWS_ORIGIN,也可以再包含 GTWS_SETPROMPT

把仓库目录加到环境变量中:


  1. 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,每个文件都与仓库的基目录相关联。
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章