RFR: cli: add trees command
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Apr 24 12:41:26 UTC 2020
Interesting idea. I think you missed a proper implementation of tconfig,
though, if you want backwards compatibility:
magnusi at sthihse:/localhome/hg/jdk-ALT$ hg tconfig --help
hg tconfig [OPTION]... [SUBTREE]...
list or change the subtrees configuration
One of five operations can be selected:
--list : list the configured subtrees; this is the default if no
operation is selected.
--add : add the specified subtrees to the configuration.
--del : delete the specified subtrees from the configuration. Use
--del --all to delete all subtrees.
--set : set the subtree configuration to the specified
--set --walk to walk the filesystem rooted at REPO and set
the subtree configuration to the discovered repos. Use
--depth to write the subtree configuration depth-most, so
that each subtree is defined within the nearest enclosing
repository. Note that --walk and --depth may be used
--expand : list the value of config items from the [trees]
in the [trees] section can be defined in terms of other
in the [trees] section; tconfig --expand shows the
recursively expanded value. It returns 0 if at least one
config item was found; otherwise it returns 1.
Note that with the slight exception of --set --depth, this command does
not recurse into subtrees; it operates only on the current repository.
(To recursively list subtrees, use the tlist command.)
-a --add add the specified SUBTREEs to config
--all with --del, delete all subtrees from config
-d --del delete the specified SUBTREEs from config
-e --expand recursively expand config items in the [trees] section
-l --list list the configured subtrees
--depth store subtree configuration depth-most
-s --set set the subtree config to SUBTREEs
--tns NAMESPACE trees namespace to use
-w --walk walk the filesystem to discover subtrees
--mq operate on patch repository
(some details hidden, use --verbose to show complete help)
Your code seems to do automatic configuration, which is probably an
improvment :-) (but not backwards compatibility).
It's also unclear what the "tconfig = tree config" alias means.
It's not at all clear that we want or need backwards compatibility here.
But if not, then the tconfig command should probably be removed.
On 2020-04-24 11:27, Erik Helin wrote:
> Hi all,
> please review this patch that adds
> [trees](https://hg.openjdk.java.net/code-tools/trees) functionality to Skara.
> This is mainly for those who want to use Skara for working with Mercurial today
> and are missing the trees functionality, but I also added a couple of trees
> "commands" like `tstatus`. `tpull` etc. to `skara.gitconfig`.
> - Manual testing of both Mercurial and Git trees commands
> Commit messages:
> - cli: add trees command
> Changes: https://git.openjdk.java.net/skara/pull/599/files
> Webrev: https://webrevs.openjdk.java.net/skara/599/webrev.00
> Stats: 222 lines in 5 files changed: 210 ins; 0 del; 12 mod
> Patch: https://git.openjdk.java.net/skara/pull/599.diff
> Fetch: git fetch https://git.openjdk.java.net/skara pull/599/head:pull/599
> PR: https://git.openjdk.java.net/skara/pull/599
More information about the skara-dev