./devel/garden, Grows and cultivates collections of Git trees

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.9.1, Package name: garden-1.9.1, Maintainer: pin

Garden streamlines development workflows that involve a loosely-coupled set
of multiple, independent Git trees.

Garden allows you to define dynamic relationships and workflows between these
repositories using a declarative YAML config file that can be shared and used
as a bootstrapping mechanism for getting a auditable, from-source project
cloned, built, installed and running with minimal effort for consumers
of a Garden file.

Garden sits above any individual project's build scripts and conventions.
Garden is all about making it easy to remix and reuse libraries maintained in
seperate Git repositories.


Master sites:

Filesize: 141.532 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-08 10:01:39 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.9.1

v1.9.1 Released 2024-11-06

Features:

GARDEN_CMD_VERBOSE and GARDEN_CMD_QUIET are now updated when using
garden <command> -v ... and garden cmd <command> -v ....
Previously, these variables were only set when -v was used against the garden
command directly, before any sub-commands, e.g. garden -v ....

Fixes:

garden exec's parallel mode was made more robust.
   2024-10-13 00:56:21 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.9.0

v1.9.0 Released 2024-10-11
Features:
 - garden exec can now run commands in parallel using the -j# | --jobs=# option.
   (#43)

Packaging:
 - Garden's Nix flake was improved and using Garden with Nix home-manager was \ 
documented.
   (#46) (#17)

Development:
 - Internal APIs for running commands were refactored.
 - The yaml-rust2 dependency was upgraded to v0.9.0.
   2024-09-27 13:53:30 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.8.0

v1.8.0 Released 2024-09-26

Features:
 - garden cmd and custom commands now have a --jobs | -j option that enables
   running multiple in parallel. Specifying --jobs=0 will detect and set the
   concurrency level to use all available cores.
 - garden ls now has a --reverse | -r option to display trees in reverse order.

Development:
 - The which, yansi and strum dependencies were upgraded. yansi was a new major
   version and required a fair amount of changes. strum involved minor changes.
   2024-07-18 11:56:17 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.7.0

Released 2024-06-29

Features:
 - garden ls now has a --commands | -c option to display just commands. The \ 
related --no-commands | -C option is used to omit commands from being displayed.
 - garden cmd and garden <custom-command> now support a --dry-run | -N \ 
option to perform trial runs without actually running any commands.
 - garden exec made -N the short option for its --dry-run option and the \ 
original -n short option was made an undocumented alias for compatibility.
 - The garden eval, garden exec, garden cmd and custom sub-commands now accept \ 
the same --define | -D name=value override options as the root garden command.
 - garden grow reports more details about the commands it runs and no longer \ 
prints redundant git config commands.

Fixes:
 - garden ls now prints the list of commands in the same order as they appear in \ 
garden.yaml.

Packaging:
 - The nix flake was updated to re-enable llvm coverage.
 - nix run can now be used to run garden and nix shell can now be used to open a \ 
nix shell with garden installed.

Development:
 - More structs, functions and methods were made private.
 - Several types were renamed from "HashMap" to "Map".
   2024-06-03 08:15:39 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.6.0

v1.6.0 - Released 2024-06-02
Features:

zsh is now invoked using zsh +o nomatch for better portability across
shells. This prevents zsh from erroring when wildcard patterns find
no matches. Wildcards can be used, for example, to implement a
custom clean command that feeds rm -f using wildcard patterns,
but these commands would generate errors without disabling nomatch.
The zsh nomatch option is a less useful option for non-interactive use
so we disable it unconditionally.

The --verbose (-v) option can now be passed to custom and built-in commands.
The verbose option was previously a global option that had to
be specified before sub-commands. The following invocations are all
equivalent now:

garden -vv build
garden -v build -v
garden build -vv

Packaging:

The nix flake was updated to use Fenix for the latest stable rustc 1.78.0.

Development:

An .envrc file was added to enable the nix flake for direnv users.
   2024-04-15 09:42:54 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.5.0

v1.5.0 - Released 2024-04-14
Features:
 - Running garden init inside a Git repository will now record the
   current directory as a tree with its path set to  ${GARDEN_CONFIG_DIR}. (#34)

 - Custom commands skip missing trees by default. A new -f | --force
   option can be used to make garden run commands on missing trees. (#33)

 - garden plant now avoids updating the configuration when a tree is
   re-planted and its configuration contains expressions that evaluate
   to the same value as currently exist in git. (#31) (#32)

Packaging:
 - Prebuilt binaries are now available!

Development:
 - The original github repository under davvid's namespace was transferred to the
   garden-rs organization on github.

 - The yaml-rust2 dependency was upgraded to 0.8.0 to avoid the encoding crate
   (RUSTSEC-2021-0153).
   2024-03-23 20:09:40 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.4.1

Released 2024-03-22
Features:
 - The empty directory detection in garden grow was improved.

Development:
 - The internal APIs were updated to use AsRef<Path> wherever possible.
   2024-03-21 12:29:36 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/garden: update to 1.4.0

v1.4.0
Released 2024-03-21
Features:
 - Custom commands can now specify an interpreter to use on a per-command basis.
If a command uses a shebang #! line then the command's text will be passed as the
next argument to the specified command. For example, using #!python3 -c as the
first line in a custom command will cause python3 -c <command> to be executed.

 - Trees can now use branches defined in separate remotes when configuring the
default branch to checkout. garden grow will now fetch the remote associated with the
configured branch switching branches in order to make this possible.

 - Trees can now use any upstream branch from any configured remote in the \ 
branches section.
Previously, branches associated with non-default remotes could not be created unless
they were fetched beforehand. garden grow will now fetch the associated remote
before creating the local branch.

 - garden grow now detects empty directories (e.g. the directories that are created
when using uninitialized Git submodules) and will properly clone into the empty \ 
directories
instead of treating them like an already-grown tree.
(#30)

Development:
 - garden can now be built on Windows. Symlink trees and the XDG base directory \ 
support
is UNIX-only and disabled on Windows.
(#17)

 - yaml-rust2 is now used instead of
the yaml-rust-davvid fork that was
being maintained by @davvid for use by garden.
(#29)