comment
This commit is contained in:
parent
c3dd670609
commit
c9b766b914
3 changed files with 54 additions and 0 deletions
|
@ -0,0 +1,10 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 7"""
|
||||
date="2023-11-21T20:23:19Z"
|
||||
content="""
|
||||
Hmm, `cabal build` does not build the library 2x in the case of propellor,
|
||||
which has a similar split between the propellor library and the executables
|
||||
that depend on it. Perhaps cabal has improved that since I posted my
|
||||
comment.
|
||||
"""]]
|
|
@ -0,0 +1,37 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 8"""
|
||||
date="2023-11-21T20:25:55Z"
|
||||
content="""
|
||||
A lot of git-annex's end user functionality is in the `Command/*` modules.
|
||||
Much of the code in those is not in a form that would be useful in a
|
||||
library, unless the library was structured to run a `Command`.
|
||||
|
||||
If the goal is say, to add a file to git-annex, and then to be able to
|
||||
get and drop the file, and `Command.Add`, `Command.Get`, and `Command.Drop`
|
||||
were not in the library, you'd have to put together the eqivilant of what
|
||||
those commands do out of the internal library code:
|
||||
|
||||
* `Command.Add` essentially uses `Annex.Ingest` followed by calling into
|
||||
`Logs.Location` to update the location log.
|
||||
* `Command.Drop` uses `Annex.NumCopies` to construct a drop proof and passes
|
||||
it off to `Annex.Drop`.
|
||||
* `Command.Get` handles trying different remotes itself, calling into
|
||||
`Annex.Transfer`.
|
||||
|
||||
So the library structure works for git-annex as a thing for Command modules
|
||||
to use, but not great for other things. The assistant actually imports some
|
||||
Command modules, eg it uses Command.Add.addFile. Similarly it would be
|
||||
possible to call Command.Get.getKey.
|
||||
|
||||
Maybe it would be better to have a library interface that does mirror the
|
||||
git-annex command line, so you could run eg:
|
||||
|
||||
runCommand (Command.Add.cmd) (AddOptions {...}) "somefile"
|
||||
runCommand (Command.Drop.cmd) (DropOptions {...}) "somefile"
|
||||
|
||||
That would necessarily have output like those commands too (unless quiet
|
||||
mode were enabled).
|
||||
|
||||
It would take some work to get there from the current state.
|
||||
"""]]
|
|
@ -0,0 +1,7 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2023-11-21T20:17:10Z"
|
||||
content="""
|
||||
Hmm, I followed up on that other page to avoid fragmenting the discussion.
|
||||
"""]]
|
Loading…
Reference in a new issue