- forgot to lock
MULLE_ENV_HOST_VAR_DIR
during setup, which lead to problems when multiple concurrent mulle-sde processes accessed the same project
- reuse stale locks
- improve locking scheme: move lock dir outside protected directory and add error handling for failed locks
- Add --script and --no-script options for tool commands
- Fix symlink resolution and add --no-resolve option
- tool symlinks are now resolved, which fixes cmake breakage. you can specify 'no-resolve' as a tool mark to get back to the old behaviour
- protect against multiple scripts in parallel trying to setup the same .mulle/var directory and getting into protecting and unprotecting races
- fix multiple mulle-env commands in same project possibly clobbering old-environment
- add support for environment environment-user-...-os-... and environment user-...-host-... files
- fix environment set with a double quoted string
- more is no longer required
- you can now say mulle-env env --output-eval and this is correctly recognized as a list command
- environment variables like -DFOO=BAR were always set before sourcing the environment. Now FOO=BAR will also clobber any FOO definitions made in the environment, therefore effectively overriding changes in the custom environfiles. You can choose though with the additional -DB and -DE flags.
- added --remove option for environment values
- environment variables are now listed sorted by default (per section) use --cat to get the old style back
- the relax environment keys can now be expanded by plugins, meaning that there are now less
MULLE_SDE
specific key in there by default - mudo is now a properly linked mulle-tool
- you can now get the list of compiled tools with
tool list compiled
- fix tool compilation by removing duplicated and doing proper removal
- support for
MULLE_SOURCETREE_PLUGIN_PATH
andMULLE_SDE_SANDBOX_RUNNING
in restrict mode - don't sort environment keys in output by default anymore, because it confuses the user about the replacement order in values
- changed internal .mulle/var/
<hostname>
path to .mulle/var/<hostname>
/<user>
. This makes changing logins and working on the same source without major cleaning possible. - you can now use --concat and --concat0 for environment set
- mudo is now only available in minimal mode (none didn't really work)
- minimal gains some more tool entries to make mudo and mulle-env work properly
- reworked the various style commands into a command with subcommands
- tools are now optional by default and must be explicitly set as required, which makes everything much easier
- fix some crossplatform bugs
- give hardcoded scope prio 1 (instead of 0) mostly for the benefit of a test
- more commands are now optional, because they are usually not needed (like dd for instance)
- added unveil command
- some fixes for zsh
- new commands mulle-bin-dir and mulle-libexec-dir for script support
- new environment::get options for script support
- fix installer (?)
- fix version check for new version 4
- big function rename to
<tool>
::<file>
::<function>
to make it easier to read hopefully - added invoke command to substitute env -i
- add
MULLE_USERNAME
to list of exported/injected environment variables - new doctor command
- used mulle-bashfunctions 4 now
- compatible with zsh and will run zsh, if bash is not installed
- big function rename to
<tool>
::<file>
::<function>
to make it easier to read hopefully - added invoke command to substitute env -i
- add
MULLE_USERNAME
to list of exported/injected environment variables - new doctor command
- used mulle-bashfunctions 4 now
- compatible with zsh and will run zsh, if bash is not installed
- clarify distinction between os (host) and plaform (target) a bit
- allow environment set FOO=1 along with set FOO 1
- protect and unprotect files a bit more cleverly
- there is now a hardcoded scope, so we can list hardcoded values
- the "project" and "extension" scopes are now known to mulle-env
- new option --protect-flag to speed up mulle-sde init
- preserve leading whitespace on -C arguments
- improve info for tools a bit
- allow entry of environment if required tool is missing with -f
- fix PATH for tight/restrict/inherit to include .env/bin (again)
- tight now forwards LOGNAME, because environment files and style command needs it
- add --search-here, mostly for calling mulle-tool-env
- there are now shortcut commands get/set/list for environment get/set/list
- the var directories can be rerouted outside of the project by setting
MULLE_ENV_HOST_VAR_DIR
andMULLE_ENV_VAR_DIR
- added scope command
- project file (mulle-sde) moves from share to etc, which is an incompatible change
- mudo gains the -f flag so you can run mudo outside of environments
- remove --share opion from environment commands
- add --if-missing to environment add command
- add --create-file to environment add command
- pass-thru NO_COLORS environment variable
- improved setting of comment text for
environment set
- new command "local"
- enable per-project bash history
- fix mudo quoting
- add -aef option to add temporary environment
- new command "local"
- use 4 instead of 2 as error return code to distinguish from shell error code 2
- -ef can now accept an absolute path, which will bypass searches in .mulle
- remove --no-search from flags
- moved to mulle-bashfunctions v2
- use stubs instead of symlinks for windows native executables
- make it possible to move .mulle/var somewhere else
- mudo gains the -e flag to call executables with the "outside" environment
- remove environment key in proper reverse file order
requires mulle-bashfunctions 1.11.0
- fix escaping problem
- relax and strict switch meanings, because relax sounds looser than strict, but wasn't
- added a reset command, to fix broken symlinks from the outside
- allow addition of multiple tools with --csv option
- pass
MULLE_NO_COLOR
through environment, give style -h flag - proper environment get
- proper sed replacement escape support
- fix some more protection problems
- fix problems when rsyncing projects across platforms
- fix another protection problem
- tool defaults to list command, fix protect problem
- improved upgrade experience when little things go wrong
- fix incomplete subshell entry
- improved verbosity when logging
- fix wrong error function call
- remove optionaltool on migration
- proper tool migration to 2.2
- fix plentfiful regressions
- fix plugin tools not being reconsidered after init
- reworked the tool command
- resolve plugin installdir path
- don't protect bindir anymore, since its in var now
- use common .mulle folder instead of .mulle-env
- use common .mulle folder instead of .mulle-env
- ... and fix awk
- fix awk for mawk, which dont like substr index 0
- fix README.md
- fix wrong optionality filename check
- reinstate ed and vi as optional developer tools
- remove command, ed and vi from developer tools
- mingw can only do wild, as it has no symlinks
- use /tmp in developer mode
- fix tool placement, recognize src
MULLE_ENV_LIBEXEC_DIR
- install-dir instead of installpath
- fix plugins path in installer
- fix typo in installer :/
- provide plugins directory for external plugins
- add plugin-searchpath and plugin-installpath commands
- use -D defines as environment during init
- debug installer for mulle-env
- fix wrong plugin search path, add plugins-path command
- -D is ignored on init with warning now
- mulle-env doesnt climb to a parent environment by default anymore
- make mulle-env as a command available in the subshell (developer)
- also expose
MULLE_HOSTNAME
because its used in mulle-sde so much - added the long missing environment remove command and add some tests too
- finally move mulle.sh plugin to mulle-sde, where it belongs
- redo the way script mode is invoked to fix redirection problem
- plugins can now be easily installed via /share and custom plugin path
- use
r_
functions of mulle-bashfunctions 1.8.0
- improve usage info
- fixes for mingw
- rename scopes to scope, improve usage info a little
- improve usage a bit
- fix PATH bug
- dont show reload info in non-interactive shells
- unset
MULLE_USER_PWD
and fix some texts
- fix aux set code
- slightly improved error messages
- cd w/o parameter now goes to
MULLE_VIRTUAL_ROOT
- add -D option to define environment variables on the fly
- fix aux list, export PATH propely for mulle plugin
- reintroduction of environment-aux fot plugin env values, improved usage info
- mulle-plugin modifies PATH for dependency/bin ...
- return status from -c command properly
- use scope host instead of hostname
- Various small improvements
- simplify README
- improved brew formula defintion
- add mudo to CMakeLists.txt
- separate is now default, and default is merged for environment list
- dont attempt terminal title sets in script
- delete empty value for real now, because empty values mess up overrides
- add -C option for passing in command lines
- mulle-env -c behaves now like sh -c with respect to variable expansion etc (need to reinit!)
- deal better with absence of USER env var
- add missing file to distribution
- fix package dependencies more
- fix package dependencies
- fix homebrew install ruby script
- rename install to installer, because of name conflict
- Separate environment-project.sh file for mulle-sde
- rename install.sh to install
- simplified CMakeLists.txt
- add subenv command to eventually support subprojects
- fix bug in list, add experimental --output-command
- add toolstyls and envstyles command for completion
- fix README
- improve README
- fix dox, fix an ugly
- use : as += value delimiter, allow addition
- list as single quoted environment variables
- fix problems when cding out of the wilderness
- fix -c execution, make bin/libexec dependent on hostname
- bug fix
- fix single quote escapes for sed output
- do not write protect share for the benefit of git checkouts
- make it possible to append to envionement variables
- don't clobber share on init -f, gain reinit command
- mulle-env gains environment-aux.sh and a cd catcher
- some fixes for different style with / instead of :
- update documentation a little
- style scheme now uses / as separator for easier bash completion
- experimental bash completion now available
-
- fix option handling for project, lose .bak seds
- improved grokability of mulle-env by subdividing plugins
- Various small improvements
- change environment file scheme a bit to make it easier for --output-eval
- moved tool from mulle-sde to mulle-env where it belongs
- added environment editing functionality
- renamed restricted to restrict
- adapt to new mulle-bashfunctions 1.3
- improve README.md a bit
- optional tools added
- use --posix mode to avoid SYS_BASHRC backdoor on debian/linux
- add mudo command
- improve TRACE facility
- add environment-aux.sh to read files
- optional tools added
- use --posix mode to avoid SYS_BASHRC backdoor on debian/linux
- add mudo command
- improve TRACE facility
- add environment-aux.sh to read files
- use mulle-craft instead of mulle-build now
- various bugfixes
- moved to a plugin architecture
- fix stuff for newer mulle-project, don't depend on cmake for install (necessarily)
- changed name to mulle-env for clarity of purpose