comment
This commit is contained in:
parent
7b3d7a8f78
commit
49ee0a2a06
1 changed files with 32 additions and 0 deletions
|
@ -0,0 +1,32 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 1"""
|
||||||
|
date="2025-04-22T17:19:05Z"
|
||||||
|
content="""
|
||||||
|
Adding --json to `map` would be a useful thing to do.
|
||||||
|
|
||||||
|
Conceptually, we have here a directed graph (cyclic) with named edges
|
||||||
|
(remote names) and nodes (repository uuids or urls). Fitting a cyclic graph
|
||||||
|
into json probably needs something not unlike the graphviz output, and
|
||||||
|
also as implemented `map` doesn't actually build the graph internally.
|
||||||
|
|
||||||
|
So I envision a json output something like a list of nodes, where each node
|
||||||
|
has a field for uuid (omitted for non-annex git repos), a field
|
||||||
|
for url, and a field containing a list of its remotes. With each json
|
||||||
|
object in the remotes list having a remote name, a uuid (for annex repos),
|
||||||
|
and an url.
|
||||||
|
|
||||||
|
As for how well it might fit the needs of your project, some thoughts:
|
||||||
|
|
||||||
|
* `map` is able to spider out to remotes of remotes, but that's as far as
|
||||||
|
it can go, since it only queries the `git config` of remote repositories,
|
||||||
|
and does not run itself recursively on other hosts. Which can only get so
|
||||||
|
far, but is a reasonable limitation for it. Often sshing into a remote
|
||||||
|
host to run map recursively would be blocked for security reasons anyway.
|
||||||
|
With --json output, you could run `map` on several hosts and combine them
|
||||||
|
easily enough.
|
||||||
|
* `map` does not currently show connections to special remotes, which maybe you
|
||||||
|
would need. This would be easy to do for special remotes of the local
|
||||||
|
repository, but it seems like it would actually be pretty hard to do for
|
||||||
|
special remotes of a remote repository.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue