git-gui: add build tabbw/master
commit847467e2ec138c2678f317b105e4ea97f59cecd0
authorBert Wesarg <bert.wesarg@googlemail.com>
Tue, 13 May 2014 15:52:09 +0000 (13 17:52 +0200)
committerBert Wesarg <bert.wesarg@googlemail.com>
Tue, 13 May 2014 15:52:09 +0000 (13 17:52 +0200)
treed65ad924f55b38d4a3f93e0c85226eb3d51912dd
parenta3b73171c66987bc1b4ff4c9855e6c4f0876ffda
git-gui: add build tab

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
ChangeLog:

2014/05/13:
  - Close open pipes in case we could not record the envirionment
    (e.g., if modules conflict).
  - Do not run empty commands.

2014/05/09:
  - Fix creating config submenus.

2014/05/07:
 - Fix gui.build.nodefault. Logic was inverted.

2014/05/05:
- Change and extend buildconfig.
  The config variables are now called 'gui.buildconfig.<configname>.env'.
  This gives more freedom in the name of the config variable, as it is now
  possible to use "" in the config file:

  [gui.buildconfig "Take this"]
      env = PATH+:=/home/bin

  An additional .title is also possible.
  The new gui.build.configCommand specifies an command which should be run
  to get dynamic build configs. The output must be the same as for
  'git config --null', e.g., of the format '<name>\n<value>\0'.
  The config menu is now cascaded on '/'.

2014/05/04:
 - Close fd from ls-tree. (Fixes <defunct> git-ls-tree after going back to
   previous command).
 - Use GNU grep to only get the hit lines in the GNU nl fallback.
 - Use env command to modify the env in the forked program.
 - Add +=, %=, and -= env modifier to alter an environment variable.
   "+" is append, "%" is prepend, "-" is remove. Default separator is "".
   To specify a custom separator use "+:=", e.g., any character between
   the operator and the equal sign will be taken as the separator. The
   The += and %= operations also remove any occurrence of the value from
   the variable before appending or prepending it. I.e., they
   move the entry to the front or back, if it was already in the variable.
 - Add feature to select current configs.
   Possible configs are taken from the "gui.buildconfigs.*" variables.
   Example:

   [gui.buildconfigs]
       usefoo = PATH+:=/home/example/foo

   This defines the config 'usefoo' which alters the PATH environmental
   variable. Multiple variables of the same name are permitted and applied
   in order. A build  have a default of selected configs, given by the
   gui.build.config or the build specific gui.build.*.config variable.
   To change the current list of configurations open a context menu
   in the indicator widget (the colored one between the file lists and
   the main output widget).
git-gui.sh
lib/blame.tcl
lib/build.tcl [new file with mode: 0644]
lib/diff.tcl
lib/search.tcl
lib/themed.tcl