]> dgit.raspbian.org Git - git-annex.git/log
git-annex.git
3 years agoidea
Joey Hess [Wed, 14 Jun 2023 23:40:42 +0000 (19:40 -0400)]
idea

3 years agoclose bug report and improve docs that led to it being filed
Joey Hess [Mon, 12 Jun 2023 20:30:21 +0000 (16:30 -0400)]
close bug report and improve docs that led to it being filed

3 years agoconfig: Added the --show-origin and --for-file options
Joey Hess [Mon, 12 Jun 2023 20:08:26 +0000 (16:08 -0400)]
config: Added the --show-origin and --for-file options

* config: Added the --show-origin and --for-file options.
* config: Support annex.numcopies and annex.mincopies.

There is a little bit of redundancy here with other code elsewhere that
combines the various configs and selects which to use. But really only
for the special case of annex.numcopies, which is a git config that does
not override the annex branch setting and for annex.mincopies, which does
not have a git config but does have gitattributes settings as well as the
annex branch setting.

That seems small enough, and unlikely enough to grow into a mess that it was
worth supporting annex.numcopies and annex.mincopies in git-annex config
--show-origin. Because these settings are a prime thing that someone might
get confused about and want to know where they were configured.

And, it followed that git-annex config might as well support those two
for --set and --get as well. While this is redundant with the speclialized
commands, it's only a little code and it makes it more consistent.

Note that --set does not have as nice output as numcopies/mincopies
commands in some special cases like setting to 0 or a negative number.
It does avoid setting to a bad value thanks to the smart
constructors (eg configuredNumCopies).

As for other git-annex branch configurations that are not set by git-annex
config, things like trust and wanted that are specific to a repository
don't map to a git config name, so don't really fit into git-annex config.
And they are only configured in the git-annex branch with no local override
(at least so far), so --show-origin would not be useful for them.

Sponsored-by: Dartmouth College's DANDI project
3 years agomove unspecifiedAttr check to checkAttr
Joey Hess [Mon, 12 Jun 2023 18:37:42 +0000 (14:37 -0400)]
move unspecifiedAttr check to checkAttr

It just so happens that everywhere that checks attrs other than
annex.largefiles parses the value further, and failed to parse
unspecifiedAttr in a way that behaved the same as if nothing was set. So
this is not a bug fix or behavior change. What it does so is prevent
future uses of checkAttr from needing to remember to handle checking for
this edge case.

Sponsored-by: Dartmouth College's DANDI project
3 years agoassistant: Add dotfiles to git by default, unless annex.dotfiles is configured
Joey Hess [Mon, 12 Jun 2023 17:25:04 +0000 (13:25 -0400)]
assistant: Add dotfiles to git by default, unless annex.dotfiles is configured

Tthe same as git-annex add does.

Sponsored-by: Luke Shumaker on Patreon
3 years agocomment
Joey Hess [Mon, 12 Jun 2023 17:06:04 +0000 (13:06 -0400)]
comment

3 years agoclose weirdly time warped bug report
Joey Hess [Mon, 12 Jun 2023 16:51:50 +0000 (12:51 -0400)]
close weirdly time warped bug report

3 years ago(no commit message)
nobodyinperson [Mon, 12 Jun 2023 13:56:48 +0000 (13:56 +0000)]

3 years agoAdded a comment
jgoerzen [Sun, 11 Jun 2023 02:18:23 +0000 (02:18 +0000)]
Added a comment

3 years ago(no commit message)
jacksondm33@cf6e91518a0fa6a05945d5d4e03ae770f6383615 [Sat, 10 Jun 2023 16:03:12 +0000 (16:03 +0000)]

3 years agoAdded a comment
nobodyinperson [Sat, 10 Jun 2023 06:06:59 +0000 (06:06 +0000)]
Added a comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 9 Jun 2023 20:14:25 +0000 (16:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agofixed
Joey Hess [Fri, 9 Jun 2023 20:13:52 +0000 (16:13 -0400)]
fixed

3 years agoadd ContentIndentifiersCidRemoteKeyIndex
Joey Hess [Fri, 9 Jun 2023 19:12:33 +0000 (15:12 -0400)]
add ContentIndentifiersCidRemoteKeyIndex

Optimise database to further speed up importing large trees from special
remotes.

See comment for details of why the other index didn't help cid queries.

It would probably be better to manually create an index on only cid, rather
than adding a second uniqueness constraint that is a larger index. But
persitent does not support creating indexes, and an attempt to manually add
it to the migration failed.

Sponsored-by: Nicholas Golder-Manning on Patreon
3 years agoinitial todo/question for easing
yarikoptic [Fri, 9 Jun 2023 18:47:23 +0000 (18:47 +0000)]
initial todo/question for easing

3 years agorename forum/set_only_keep_current_version_in_repo.mdwn to forum/only_keep_current_ve...
Jack [Thu, 8 Jun 2023 22:45:06 +0000 (22:45 +0000)]
rename forum/set_only_keep_current_version_in_repo.mdwn to forum/only_keep_current_version_of_files_in_repo.mdwn

3 years ago(no commit message)
Jack [Thu, 8 Jun 2023 22:44:37 +0000 (22:44 +0000)]

3 years ago(no commit message)
Jack [Thu, 8 Jun 2023 22:42:59 +0000 (22:42 +0000)]

3 years agoupdate exportdb tree in getImportableContents
Joey Hess [Thu, 8 Jun 2023 22:36:24 +0000 (18:36 -0400)]
update exportdb tree in getImportableContents

This avoids bottlenecking on git check-ignore in a particular situation.
Also, there may have been a correctness issue with it not having updated it.
When the exportdb is already up-to-date, this is not expensive. And the
exportdb is updated elsewhere, so usually it is up-to-date.

Sponsored-by: Joshua Antonishen on Patreon
3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 8 Jun 2023 20:54:05 +0000 (16:54 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agosync: use log to track adjusted branch needs updating
Joey Hess [Thu, 8 Jun 2023 18:35:26 +0000 (14:35 -0400)]
sync: use log to track adjusted branch needs updating

Speeds up sync in an adjusted branch by avoiding re-adjusting the branch
unncessarily, particularly when it is adjusted with --hide-missing or
--unlock-present.

When there are a lot of files, that was the majority of the time of a
--no-content sync.

Uses a log file, which is updated when content presence changes. This
adds a little bit of overhead to every file get/drop when on such an
adjusted branch. The overhead is minimal for get of any size of file,
but might be noticable for drop in some cases. It seems like a reasonable
trade-off. It would be possible to update the log file only at the end, but
then it would not happen if the command is interrupted.

When not in an adjusted branch, there should be no additional overhead.
(getCurrentBranch is an MVar read, and it avoids the MVar read of
getGitConfig.)

Note that this does not deal with situations such as:
git checkout master, git-annex get, git checkout adjusted branch,
git-annex sync. The sync won't know that the adjusted branch needs to be
updated. Dealing with that would add overhead to operation in non-adjusted
branches, which I don't like. Also, there are other situations like having
two adjusted branches that both need to be updated like this, and switching
between them and sync not updating.

This does mean a behavior change to sync, since it did previously deal
with those situations. But, the documentation did not say that it did.
The man pages only talk about sync updating the adjusted branch after
it transfers content.

I did consider making sync keep track of content it transferred (and
dropped) and only update the adjusted branch then, not to catch up to other
changes made previously. That would perform better. But it seemed rather
hard to implement, and also it would have problems with races with a
concurrent get/drop, which this implementation avoids.

And it seemed pretty likely someone had gotten used to get/drop followed by
sync updating the branch. It seems much less likely someone is switching
branches, doing get/drop, and then switching back and expecting sync to update
the branch.

Re-running git-annex adjust still does a full re-adjusting of the branch,
for anyone who needs that.

Sponsored-by: Leon Schuermann on Patreon
3 years agofix adjusted branch update breakage
Joey Hess [Thu, 8 Jun 2023 17:33:58 +0000 (13:33 -0400)]
fix adjusted branch update breakage

Introduced recently in commit 64fc34b3dab4c3ae1a623d1dce8e8b1110045e33.

adjustBranch changes the sha that is recorded for the current branch
(eg the adjusted branch). So, have to get the original sha before
calling it.

Sponsored-by: Jack Hill on Patreon
3 years agostalling report
yarikoptic [Thu, 8 Jun 2023 15:46:29 +0000 (15:46 +0000)]
stalling report

3 years agoupdate
Joey Hess [Wed, 7 Jun 2023 15:27:02 +0000 (11:27 -0400)]
update

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 7 Jun 2023 15:16:39 +0000 (11:16 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agonarrow window where HEAD is detached
Joey Hess [Wed, 7 Jun 2023 15:10:54 +0000 (11:10 -0400)]
narrow window where HEAD is detached

Updating an adjusted branch can take a while when there are a lot of
files. HEAD was detached at the start, so if eg git-annex sync was
interrupted at the wrong point, there was a possibly wide window where
it would leave the repo with HEAD detached.

There's still a window, just much narrower. I don't know if it's
possible to close the window entirely. While git can clearly update
the currently checked out branch in eg git merge, it doesn't seem to
provide another way to do it.

Sponsored-by: Graham Spencer on Patreon
3 years agoAdded a comment
nobodyinperson [Wed, 7 Jun 2023 04:49:04 +0000 (04:49 +0000)]
Added a comment

3 years agocomment
Joey Hess [Tue, 6 Jun 2023 19:17:09 +0000 (15:17 -0400)]
comment

3 years agocomment
Joey Hess [Tue, 6 Jun 2023 18:45:48 +0000 (14:45 -0400)]
comment

3 years agocache negative lookups of global numcopies and mincopies
Joey Hess [Tue, 6 Jun 2023 18:15:47 +0000 (14:15 -0400)]
cache negative lookups of global numcopies and mincopies

Speeds up eg git-annex sync --content by up to 50%. When it does not need
to transfer or drop anything, it now noops a lot more quickly.

I didn't see anything else in sync --content noop loop that could really
be sped up. It has to cat git objects to keys, stat object files, etc.

Sponsored-by: unqueued on Patreon
3 years agoupdate
Joey Hess [Tue, 6 Jun 2023 17:04:47 +0000 (13:04 -0400)]
update

3 years agocomment
Joey Hess [Tue, 6 Jun 2023 17:02:15 +0000 (13:02 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 6 Jun 2023 16:48:47 +0000 (12:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoAdded a comment
nobodyinperson [Tue, 6 Jun 2023 12:54:36 +0000 (12:54 +0000)]
Added a comment

3 years ago(no commit message)
nobodyinperson [Tue, 6 Jun 2023 12:49:11 +0000 (12:49 +0000)]

3 years agoAdded a comment
Mowgli [Mon, 5 Jun 2023 20:35:19 +0000 (20:35 +0000)]
Added a comment

3 years agoAdded a comment: comment igendwas
Mowgli [Mon, 5 Jun 2023 20:33:42 +0000 (20:33 +0000)]
Added a comment: comment igendwas

3 years agoAdded a comment
jgoerzen [Mon, 5 Jun 2023 19:32:29 +0000 (19:32 +0000)]
Added a comment

3 years agowrap
Joey Hess [Mon, 5 Jun 2023 19:15:20 +0000 (15:15 -0400)]
wrap

3 years agoclose this release blocker
Joey Hess [Mon, 5 Jun 2023 19:10:52 +0000 (15:10 -0400)]
close this release blocker

3 years agoreject
Joey Hess [Mon, 5 Jun 2023 19:00:39 +0000 (15:00 -0400)]
reject

3 years agocomment and wontfix
Joey Hess [Mon, 5 Jun 2023 18:40:25 +0000 (14:40 -0400)]
comment and wontfix

3 years agocomment
Joey Hess [Mon, 5 Jun 2023 18:08:12 +0000 (14:08 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 5 Jun 2023 15:46:19 +0000 (11:46 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoupdate
Joey Hess [Mon, 5 Jun 2023 15:45:18 +0000 (11:45 -0400)]
update

3 years agoAdded a comment
jgoerzen [Fri, 2 Jun 2023 21:44:54 +0000 (21:44 +0000)]
Added a comment

3 years agospeed up very first tree import by 25%
Joey Hess [Fri, 2 Jun 2023 17:30:30 +0000 (13:30 -0400)]
speed up very first tree import by 25%

Reading from the cidsdb is responsible for about 25% of the runtime of
an import. Since the cidmap is used to store the same information in
ram, the cidsdb is not written to during an import any longer. And so,
if it started off empty (and updateFromLog wasn't needed), those reads
can just be skipped.

This is kind of a cheesy optimisation, since after any import from any
special remote, the database will no longer be empty, so it's a single
use optimisation. But it's probably not uncommon to start by importing a
lot of files, and it can save a lot of time then.

Sponsored-by: Brock Spratlen on Patreon
3 years agocomment
Joey Hess [Fri, 2 Jun 2023 17:11:24 +0000 (13:11 -0400)]
comment

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 2 Jun 2023 16:14:03 +0000 (12:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Fri, 2 Jun 2023 16:13:50 +0000 (12:13 -0400)]
comment

3 years agoAdded a comment
jgoerzen [Fri, 2 Jun 2023 03:25:27 +0000 (03:25 +0000)]
Added a comment

3 years agosync content with import remotes
Joey Hess [Thu, 1 Jun 2023 22:52:19 +0000 (18:52 -0400)]
sync content with import remotes

This didn't used to be needed because importKeys would import all
content and so doing another pass was redundant.

But since 40017089f268391f79226592850b58855cdbf808 it uses
importChanges, so only new files are imported. If a file that was
already imported before was dropped, that would prevent sync --content
from gettng its content again.

Sponsored-by: Jack Hill on Patreon
3 years agoretitle
Joey Hess [Thu, 1 Jun 2023 22:44:11 +0000 (18:44 -0400)]
retitle

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 1 Jun 2023 22:43:29 +0000 (18:43 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Thu, 1 Jun 2023 22:43:17 +0000 (18:43 -0400)]
comment

3 years agoAdded a comment
jgoerzen [Thu, 1 Jun 2023 21:26:23 +0000 (21:26 +0000)]
Added a comment

3 years agodevblog
Joey Hess [Thu, 1 Jun 2023 19:07:03 +0000 (15:07 -0400)]
devblog

3 years agocomment
Joey Hess [Thu, 1 Jun 2023 18:21:55 +0000 (14:21 -0400)]
comment

3 years agouse importChanges optimisation
Joey Hess [Thu, 1 Jun 2023 17:46:16 +0000 (13:46 -0400)]
use importChanges optimisation

Large speed up to importing trees from special remotes that contain a lot
of files, by only processing changed files.

Benchmarks:

Importing from a special remote that has 10000 files, that have all been
imported before, and 1 new file sped up from 26.06 to 2.59 seconds.

An import with no change and 10000 unchanged files sped up from 24.3 to
1.99 seconds.

Going up to 20000 files, an import with no changes sped up from
125.95 to 3.84 seconds.

Sponsored-by: k0ld on Patreon
3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 31 May 2023 20:34:03 +0000 (16:34 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agoimplement importChanges optimisaton (not used yet)
Joey Hess [Wed, 31 May 2023 19:45:23 +0000 (15:45 -0400)]
implement importChanges optimisaton (not used yet)

For simplicity, I've not tried to make it handle History yet, so when
there is a history, a full import will still be done. Probably the right
way to handle history is to first diff from the current tree to the last
imported tree. Then, diff from the current tree to each of the
historical trees, and recurse through the history diffing from child tree
to parent tree.

I don't think that will need a record of the previously imported
historical trees, and so Logs.Import doesn't store them. Although I did
leave room for future expansion in that log just in case.

Next step will be to change importTree to importChanges and modify
recordImportTree et all to handle it, by using adjustTree.

Sponsored-by: Brett Eisenberg on Patreon
3 years agobuild git trees using ContentIdentifier to speed up import
Joey Hess [Wed, 31 May 2023 16:31:14 +0000 (12:31 -0400)]
build git trees using ContentIdentifier to speed up import

This gets the trees built, but it does not use them. Next step will be
to remember the tree for next time an import is done, and diff between
old and new trees to find the files that have changed.

Added --missing to the mktree parameters. That only disables a check, so
it's ok to do everywhere mktree is used. It probably also speeds up
mktree to disable the check.

Note that git fsck does not complain about the resulting tree objects
that point to shas that are not in the repository. Even with --strict.

A quick benchmark, importing 10000 files, this slowed it down
from 2:04.06 to 2:04.28. So it will more than pay for itself.

Sponsored-by: Luke Shumaker on Patreon
3 years agoupdate
Joey Hess [Tue, 30 May 2023 21:19:23 +0000 (17:19 -0400)]
update

3 years agoavoid import writing to cidsdb initially
Joey Hess [Tue, 30 May 2023 21:05:28 +0000 (17:05 -0400)]
avoid import writing to cidsdb initially

Speed up importing trees from special remotes somewhat by avoiding
redundant writes to sqlite database.

Before, import would write to both the git-annex branch and also to the
sqlite database. But then the next time it was run, needsUpdateFromLog
would see the branch had changed, so run updateFromLog, which would make
the same writes to the sqlite database a second time.

Now import writes only to the git-annex branch. The next time it's run,
needsUpdateFromLog sees that the branch has changed and so calls
updateFromLog, which updates the sqlite database.

Why defer the write to the sqlite database like this? It seems that it
could write to the database as it goes, and at the end call
recordAnnexBranchTree to indicate that the information in the git-annex
branch has all been written to the cidsdb. That would avoid the second
import doing extra work.

But, there could be other processes running at the same time, and one of
them may update the git-annex branch, eg merging a remote git-annex branch
into it. Any cids logs on that merged git-annex branch would not be
reflected in the cidsdb yet. If the import then called
recordAnnexBranchTree, the cidsdb would never get updated with that merged
information.

I don't think there's a good way to prevent, or to detect that situation.
So, it can't call recordAnnexBranchTree at the end. So it might as well
wait until the next run and do updateFromLog then. It could instead do
updateFromLog at the end, but it's going to check needsUpdateFromLog
at the beginning anyway.

Note that the database writes were queued, so there is already a cidmap
that is used to remember changes that the current process has made.
So, omitting database writes can't change the behavior of the current
process.

Also note that thirdpartypopulatedimport uses recordcidkeyindb, which
reflects what it already did. That code path does not use the cidmap,
but does not need to query it either. It might be possible to make that
code path also only update the git-annex branch and not the db, but I
haven't checked.

Sponsored-by: Noam Kremen on Patreon
3 years agoAdded a comment
jgoerzen [Tue, 30 May 2023 20:58:21 +0000 (20:58 +0000)]
Added a comment

3 years agoimprove test descriptions
Joey Hess [Tue, 30 May 2023 20:11:29 +0000 (16:11 -0400)]
improve test descriptions

3 years agorepair: Fix handling of git ref names on Windows
Joey Hess [Tue, 30 May 2023 20:09:13 +0000 (16:09 -0400)]
repair: Fix handling of git ref names on Windows

Sponsored-by: Kevin Mueller on Patreon
3 years agoupdate
Joey Hess [Tue, 30 May 2023 19:49:52 +0000 (15:49 -0400)]
update

3 years agocomment and a neat idea
Joey Hess [Tue, 30 May 2023 19:42:34 +0000 (15:42 -0400)]
comment and a neat idea

3 years agotab indentation
Joey Hess [Tue, 30 May 2023 19:42:11 +0000 (15:42 -0400)]
tab indentation

3 years agocomment
Joey Hess [Tue, 30 May 2023 18:30:39 +0000 (14:30 -0400)]
comment

3 years ago(no commit message)
jgoerzen [Tue, 30 May 2023 12:23:28 +0000 (12:23 +0000)]

3 years ago(no commit message)
jgoerzen [Tue, 30 May 2023 00:37:10 +0000 (00:37 +0000)]

3 years ago(no commit message)
jgoerzen [Tue, 30 May 2023 00:35:54 +0000 (00:35 +0000)]

3 years agoAdded a comment: Use locales for that porpose
Mowgli [Mon, 29 May 2023 22:42:13 +0000 (22:42 +0000)]
Added a comment: Use locales for that porpose

3 years agoAdd borg2annex to related_software
Daniel Höxtermann [Sun, 28 May 2023 05:12:15 +0000 (07:12 +0200)]
Add borg2annex to related_software

3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 27 May 2023 17:09:48 +0000 (13:09 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agodefault to yt-dlp and fix progress parsing bugs
Joey Hess [Sat, 27 May 2023 16:45:16 +0000 (12:45 -0400)]
default to yt-dlp and fix progress parsing bugs

I noticed git-annex was using a lot of CPU when downloading from youtube,
and was not displaying progress. Turns out that yt-dlp (and I think also
youtube-dl) sometimes only knows an estimated size, not the actual size,
and displays the progress output slightly differently for that. That broke
the parser. And, the parser was feeding chunks that failed to parse back
as a remainder, which caused it to try to re-parse the entire output each
time, so it got slower and slower.

Using --progress-template like this should avoid parsing problems as well
as future proof against output changes. But it will work with only yt-dlp.

So, this seemed like the right time to deprecate youtube-dl, and default
to yt-dlp when available.

git-annex will still use youtube-dl if that's all that's available.
However, since the progress parser for youtube-dl was buggy, and I don't
want to maintain two different progress parsers (especially since
youtube-dl is no longer in debian unstable having been replaced by
yt-dlp), made git-annex no longer try to parse youtube-dl's progress.

Also, updated docs for yt-dlp being default. It did not seem worth
renaming annex.youtube-dl-options and annex.youtube-dl-command.

Note that yt-dlp does not seem to document the fields available in the
progress template. I found them by reading the source and looking at
the templates it uses internally. Also note that the use of "i" (rather
than "s") in progressTemplate makes it display floats rounded to integers;
particularly the estimated total size can be a float. That also does not
seem to be documented but I assume is a python thing?

Sponsored-by: Joshua Antonishen on Patreon
3 years ago(no commit message)
matthew.cieslak@100d765b497d71318a302445df55bbab4b78f4d5 [Thu, 25 May 2023 13:44:52 +0000 (13:44 +0000)]

3 years agoassist: honor gitignore
Joey Hess [Wed, 24 May 2023 18:04:09 +0000 (14:04 -0400)]
assist: honor gitignore

Sponsored-by: Graham Spencer on Patreon
3 years ago(no commit message)
nobodyinperson [Wed, 24 May 2023 14:59:40 +0000 (14:59 +0000)]

3 years agoAdded a comment
yarikoptic [Tue, 23 May 2023 16:12:42 +0000 (16:12 +0000)]
Added a comment

3 years agocomment
Joey Hess [Tue, 23 May 2023 16:00:01 +0000 (12:00 -0400)]
comment

3 years agodocument -m
Joey Hess [Tue, 23 May 2023 15:46:54 +0000 (11:46 -0400)]
document -m

3 years agocomment
Joey Hess [Tue, 23 May 2023 15:45:17 +0000 (11:45 -0400)]
comment

3 years ago(no commit message)
Mowgli [Tue, 23 May 2023 13:10:45 +0000 (13:10 +0000)]

3 years ago(no commit message)
nobodyinperson [Mon, 22 May 2023 11:22:42 +0000 (11:22 +0000)]

3 years agoAdded a comment
nobodyinperson [Sat, 20 May 2023 06:03:30 +0000 (06:03 +0000)]
Added a comment

3 years agoAdded a comment
yarikoptic [Fri, 19 May 2023 19:22:04 +0000 (19:22 +0000)]
Added a comment

3 years agoAdded a comment
yarikoptic [Fri, 19 May 2023 19:06:01 +0000 (19:06 +0000)]
Added a comment

3 years agoversion: Avoid error message when entire output is not read
Joey Hess [Fri, 19 May 2023 19:00:57 +0000 (15:00 -0400)]
version: Avoid error message when entire output is not read

Sponsored-by: Dartmouth College's Datalad project
3 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 19 May 2023 18:54:09 +0000 (14:54 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

3 years agocomment
Joey Hess [Fri, 19 May 2023 18:53:18 +0000 (14:53 -0400)]
comment

3 years agoAdded a comment
yarikoptic [Fri, 19 May 2023 18:49:48 +0000 (18:49 +0000)]
Added a comment

3 years agoAdded a comment
yarikoptic [Fri, 19 May 2023 18:49:29 +0000 (18:49 +0000)]
Added a comment

3 years agoAdded a comment
yarikoptic [Fri, 19 May 2023 18:47:49 +0000 (18:47 +0000)]
Added a comment

3 years agoassist: operate on all files in working tree by default
Joey Hess [Fri, 19 May 2023 18:47:05 +0000 (14:47 -0400)]
assist: operate on all files in working tree by default

Consistency with sync and internal consistency is more important than
consistency with the assistant, which is not itself consistent about
what it does when run in a subdirectory.

Note that with -C, it will still commit staged changes to files outside
the directory. Like sync does. Presumably if the user is manually
staging things, then running this command, they intend to build up a
commit.

Sponsored-by: unqueued on Patreon
3 years agoFix bug in -z handling of trailing NUL in input
Joey Hess [Fri, 19 May 2023 18:34:02 +0000 (14:34 -0400)]
Fix bug in -z handling of trailing NUL in input

The obvious way to fix this would be to adapt lines to split on null.

However, it's actually nontrivial to rewrite lines. In particular it has a
weird implementation to avoid a space leak. See:
https://gitlab.haskell.org/ghc/ghc/-/issues/4334

Also, while that is a small amount of code, it's covered by a rather
complex copyright and I'd have to include that copyright in git-annex.

So, I opted to filter out the trailing empty string instead.

Sponsored-by: Dartmouth College's Datalad project
3 years agocomment
Joey Hess [Fri, 19 May 2023 17:53:21 +0000 (13:53 -0400)]
comment

3 years agoquestion about annotating availability in the snapshot
yarikoptic [Fri, 19 May 2023 14:36:46 +0000 (14:36 +0000)]
question about annotating availability in the snapshot