Joey Hess [Mon, 4 Jan 2021 17:12:28 +0000 (13:12 -0400)]
add: Significantly speed up adding lots of non-large files to git
* add: Significantly speed up adding lots of non-large files to git,
by disabling the annex smudge filter when running git add.
* add --force-small: Run git add rather than updating the index itself,
so any other smudge filters than the annex one that may be enabled will
be used.
Joey Hess [Mon, 4 Jan 2021 17:11:05 +0000 (13:11 -0400)]
fix bad annex.largefiles example syntax
Joey Hess [Mon, 4 Jan 2021 16:51:55 +0000 (12:51 -0400)]
Git.Queue: allow providing git common options like -c
Joey Hess [Mon, 4 Jan 2021 16:45:19 +0000 (12:45 -0400)]
update year
Joey Hess [Mon, 4 Jan 2021 16:38:43 +0000 (12:38 -0400)]
avoid combining queued commands with different params
I don't think this affected git-annex currently, but if the same command
was queued twice with different params, one set of params was thrown
away, and the files going with those were run with the other set of
params.
Joey Hess [Mon, 4 Jan 2021 16:26:48 +0000 (12:26 -0400)]
comment and todo
Joey Hess [Mon, 4 Jan 2021 16:07:01 +0000 (12:07 -0400)]
comment
Joey Hess [Mon, 4 Jan 2021 16:05:32 +0000 (12:05 -0400)]
comment
Joey Hess [Mon, 4 Jan 2021 16:04:01 +0000 (12:04 -0400)]
comment
Joey Hess [Mon, 4 Jan 2021 15:57:29 +0000 (11:57 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
AlbertZeyer [Mon, 4 Jan 2021 12:04:04 +0000 (12:04 +0000)]
Added a comment
AlbertZeyer [Sun, 3 Jan 2021 22:07:02 +0000 (22:07 +0000)]
Added a comment
AlbertZeyer [Sun, 3 Jan 2021 22:02:02 +0000 (22:02 +0000)]
AlbertZeyer [Sun, 3 Jan 2021 21:48:51 +0000 (21:48 +0000)]
Added a comment
AlbertZeyer [Sat, 2 Jan 2021 23:49:14 +0000 (23:49 +0000)]
Added a comment
Joey Hess [Sat, 2 Jan 2021 23:33:55 +0000 (19:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
AlbertZeyer [Sat, 2 Jan 2021 16:23:05 +0000 (16:23 +0000)]
Added a comment
Lukey [Sat, 2 Jan 2021 15:28:02 +0000 (15:28 +0000)]
Lukey [Sat, 2 Jan 2021 15:22:18 +0000 (15:22 +0000)]
Added a comment
Lukey [Sat, 2 Jan 2021 15:16:04 +0000 (15:16 +0000)]
Added a comment
Lukey [Sat, 2 Jan 2021 15:12:49 +0000 (15:12 +0000)]
Added a comment
Lukey [Sat, 2 Jan 2021 15:05:01 +0000 (15:05 +0000)]
Added a comment
AlbertZeyer [Fri, 1 Jan 2021 22:30:34 +0000 (22:30 +0000)]
Added a comment
AlbertZeyer [Fri, 1 Jan 2021 21:49:29 +0000 (21:49 +0000)]
Added a comment: Difference to import/add?
AlbertZeyer [Fri, 1 Jan 2021 21:33:41 +0000 (21:33 +0000)]
Added a comment: rename or move files
AlbertZeyer [Fri, 1 Jan 2021 21:30:38 +0000 (21:30 +0000)]
Added a comment: Adding external files
AlbertZeyer [Fri, 1 Jan 2021 21:25:44 +0000 (21:25 +0000)]
Added a comment: annex.largefiles
Lukey [Fri, 1 Jan 2021 15:43:43 +0000 (15:43 +0000)]
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Fri, 1 Jan 2021 04:08:44 +0000 (04:08 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:45:03 +0000 (22:45 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:05:19 +0000 (22:05 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:00:08 +0000 (22:00 +0000)]
Added a comment
Lukey [Thu, 31 Dec 2020 21:46:33 +0000 (21:46 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 20:51:12 +0000 (20:51 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 20:34:55 +0000 (20:34 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:41:18 +0000 (19:41 +0000)]
removed
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:40:22 +0000 (19:40 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:40:01 +0000 (19:40 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:34:56 +0000 (19:34 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 18:55:30 +0000 (18:55 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 18:51:50 +0000 (18:51 +0000)]
Joey Hess [Thu, 31 Dec 2020 17:46:25 +0000 (13:46 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Lukey [Thu, 31 Dec 2020 17:32:47 +0000 (17:32 +0000)]
Added a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 16:58:50 +0000 (16:58 +0000)]
Joey Hess [Wed, 30 Dec 2020 17:40:49 +0000 (13:40 -0400)]
close import_tree todo
Split out two todos for things that were mentioned as still open items
in there. Most of the others were already dealt with. I didn't open a
new todo for the import from readonly S3 bucket because I guess if
someone needs that, they can ask for it.
Joey Hess [Wed, 30 Dec 2020 17:21:40 +0000 (13:21 -0400)]
document what importKey returning Nothing does
That was added for thirdpartypopulated remotes, but for others it also
has the effect of skipping including the file in the imported tree.
Lukey [Tue, 29 Dec 2020 23:30:47 +0000 (23:30 +0000)]
Added a comment
Joey Hess [Tue, 29 Dec 2020 17:52:34 +0000 (13:52 -0400)]
add news item for git-annex 8.
20201129
Joey Hess [Tue, 29 Dec 2020 17:51:40 +0000 (13:51 -0400)]
releasing package git-annex version 8.
20201129
Joey Hess [Tue, 29 Dec 2020 17:51:08 +0000 (13:51 -0400)]
update to lts-16.27
Joey Hess [Tue, 29 Dec 2020 16:52:55 +0000 (12:52 -0400)]
update
Joey Hess [Tue, 29 Dec 2020 16:48:21 +0000 (12:48 -0400)]
close
Joey Hess [Mon, 28 Dec 2020 23:38:12 +0000 (19:38 -0400)]
improve tip
Joey Hess [Mon, 28 Dec 2020 21:05:00 +0000 (17:05 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 28 Dec 2020 21:04:41 +0000 (17:04 -0400)]
update
Joey Hess [Mon, 28 Dec 2020 20:55:04 +0000 (16:55 -0400)]
tip for probably best use case for borg with git-annex
Joey Hess [Mon, 28 Dec 2020 20:48:38 +0000 (16:48 -0400)]
don't support dropping from thirdPartyPopulated for now
This code I'm reverting works. But it has a problem: The export db and
log and the ContentIdentifier db and log still list the content as being
stored in the remote. So when I ran borg create again and stored the
content in borg again in a new archive, git-annex sync noticed that, but
since it didn't update the tree for the old archives, it then thought
the content that had been removed from them was still in them, and so
git-annex get failed in an ugly way:
Include pattern 'tmp/x/.git/annex/objects/pX/ZJ/SHA256E-s0--
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' never matched.
[2020-12-28 16:40:44.
878952393] process [933616] done ExitFailure 1
user error (borg ["extract","/tmp/b::abs4","tmp/x/.git/annex/objects/pX/ZJ/SHA256E-s0--
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"] exited 1)
It does not seem worth it to update the git tree for the export when dropping
content, that would make drop of many files very expensive in git tree objects
created. So, let's not support this I suppose..
Joey Hess [Mon, 28 Dec 2020 20:36:52 +0000 (16:36 -0400)]
support removing objects from borg
Joey Hess [Mon, 28 Dec 2020 20:36:26 +0000 (16:36 -0400)]
support removal from thirdPartyPopulated
also some other fixes to thirdPartyPopulated
Joey Hess [Mon, 28 Dec 2020 20:23:38 +0000 (16:23 -0400)]
borg appendonly config
Joey Hess [Mon, 28 Dec 2020 20:05:14 +0000 (16:05 -0400)]
revert recent lockContent change
lockContent should only be done when it's versioned
gb@4a49bb1afcf3d183bba8f07297b0395808768c6c [Mon, 28 Dec 2020 20:03:34 +0000 (20:03 +0000)]
Bug report: annex.adjustedbranchrefresh ignored
Joey Hess [Mon, 28 Dec 2020 19:08:53 +0000 (15:08 -0400)]
move untrust forcing from Logs.Trust into Remote
No behavior changes here, but this is groundwork for letting remotes
such as borg vary untrust forcing depending on configuration.
Joey Hess [Mon, 28 Dec 2020 18:57:23 +0000 (14:57 -0400)]
simplify
adjustExportImport' is never called with both isexport and isimport False.
Joey Hess [Mon, 28 Dec 2020 18:37:15 +0000 (14:37 -0400)]
split off versionedExport from appendonly
S3 uses versionedExport, while GitLFS uses appendonly.
This is groundwork for later changes.
AlbertZeyer [Mon, 28 Dec 2020 16:31:09 +0000 (16:31 +0000)]
AlbertZeyer [Mon, 28 Dec 2020 16:02:24 +0000 (16:02 +0000)]
AlbertZeyer [Mon, 28 Dec 2020 15:50:54 +0000 (15:50 +0000)]
AlbertZeyer [Mon, 28 Dec 2020 15:46:52 +0000 (15:46 +0000)]
AlbertZeyer [Mon, 28 Dec 2020 15:33:08 +0000 (15:33 +0000)]
Joey Hess [Fri, 25 Dec 2020 20:32:03 +0000 (16:32 -0400)]
switch to createrepo_c
createrepo used python2 and got removed from debian
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Wed, 23 Dec 2020 19:57:49 +0000 (19:57 +0000)]
removed
Joey Hess [Wed, 23 Dec 2020 19:21:33 +0000 (15:21 -0400)]
generate more compact git-annex branch for imports
Especially from borg, where the content identifier logs
all end up being the same identical file!
But also, for other imports, the location tracking logs can,
in some cases, be identical files.
Bonus optimisation: Avoid looking up (and parsing when set)
GIT_ANNEX_VECTOR_CLOCK env var every time a log is written to.
Although the lookup does happen at startup even when no
log will be written now.
Joey Hess [Wed, 23 Dec 2020 18:31:14 +0000 (14:31 -0400)]
avoid grafting in an imported tree when it's not changed
This just avoids some churn in the git-annex branch.
Joey Hess [Wed, 23 Dec 2020 18:27:38 +0000 (14:27 -0400)]
graft in imported tree to avoid gc
Fix a bug that could prevent getting files from an importtree=yes remote,
because the imported tree was allowed to be garbage collected.
Joey Hess [Wed, 23 Dec 2020 17:58:01 +0000 (13:58 -0400)]
remove ContentIndentifiersCidRemoteIndex uniqueness constraint
For reasons explained in the bug report.
Implemented using a persistent migration, which works fine. It may add a
little startup overhead when a remote is enabled that uses this, but
probably un-noticable.
On the next major version, it would be fine to delete this database,
and regenerate it from the git-annex branch information. Then this
change could be reverted.
Did nothing about adding back the data that got dropped from the db
due to the bug. Only the borg special remote was probably affected,
and it's not been released yet. rm -rf .git/annex/cidsdb does work.
Joey Hess [Wed, 23 Dec 2020 17:41:02 +0000 (13:41 -0400)]
bug
Joey Hess [Wed, 23 Dec 2020 17:17:46 +0000 (13:17 -0400)]
avoid using export method when the remote only supports import
Joey Hess [Wed, 23 Dec 2020 17:02:13 +0000 (13:02 -0400)]
borg: add subdir= config
Note that, after changing it with enableremote, syncing won't rescan
known archives in the borg repo using the changed config. Probably not a
problem?
Also used File in some places where filenames that could theoretically
start with - are passed to borg, to avoid it confusing them with
options.
Joey Hess [Wed, 23 Dec 2020 16:10:39 +0000 (12:10 -0400)]
make sync --content get from third-party populated remotes like borg
Joey Hess [Tue, 22 Dec 2020 20:55:15 +0000 (16:55 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 22 Dec 2020 20:53:40 +0000 (16:53 -0400)]
devblog
Joey Hess [Tue, 22 Dec 2020 20:37:19 +0000 (16:37 -0400)]
todo
Joey Hess [Tue, 22 Dec 2020 20:28:13 +0000 (16:28 -0400)]
move unimplemented option to todo
Joey Hess [Tue, 22 Dec 2020 20:22:44 +0000 (16:22 -0400)]
merged borg
Still a couple related todos, but it's basically usable now.
Joey Hess [Tue, 22 Dec 2020 20:19:32 +0000 (16:19 -0400)]
Merge branch 'borg'
Joey Hess [Tue, 22 Dec 2020 20:19:02 +0000 (16:19 -0400)]
todo
Joey Hess [Tue, 22 Dec 2020 20:07:53 +0000 (16:07 -0400)]
implement retrieveExportWithContentIdentifier
Moved out an XXX to a todo
This seems about ready to merge..
Joey Hess [Tue, 22 Dec 2020 19:48:17 +0000 (15:48 -0400)]
borg can prompt
Joey Hess [Tue, 22 Dec 2020 19:45:06 +0000 (15:45 -0400)]
notice when an archive that was seen before gets deleted
Joey Hess [Tue, 22 Dec 2020 19:34:41 +0000 (15:34 -0400)]
implemented checkPresentExportWithContentIdentifier
Joey Hess [Tue, 22 Dec 2020 19:01:07 +0000 (15:01 -0400)]
todo
Joey Hess [Tue, 22 Dec 2020 19:00:11 +0000 (15:00 -0400)]
todo
Joey Hess [Tue, 22 Dec 2020 18:35:02 +0000 (14:35 -0400)]
optimisation for borg
Skip needing to list importable contents when unchanged since last time.
Joey Hess [Tue, 22 Dec 2020 18:20:11 +0000 (14:20 -0400)]
convert listImportableContents to throwing exceptions
Joey Hess [Tue, 22 Dec 2020 18:06:40 +0000 (14:06 -0400)]
avoid borg list of archives that have been listed before
This makes sync a lot faster in the common case where there's no new
backup.
There's still room for it to be faster. Currently the old imported tree
has to be traversed, to generate the ImportableContents. Which then
gets turned around to generate the new imported tree, which is
identical. So, it would be possible to just return a "no new imports",
or an ImportableContents that has a way to graft in a tree. The latter
is probably too far to go to optimise this, unless other things need it.
The former might be worth it, but it's already pretty fast, since git
ls-tree is pretty fast.
Joey Hess [Tue, 22 Dec 2020 16:00:11 +0000 (12:00 -0400)]
improve storage of redundant ContentIdentifiers
When a ContentIdentifier is already recorded, don't add it to the log
again, and avoid updating the log.
Joey Hess [Tue, 22 Dec 2020 15:53:00 +0000 (11:53 -0400)]
include borg archive name in tree, use empty ContentIdentifier
It's unusual to use a ContentIdentifier that is not semi-unique
for different contents. Note that in importKeys, it checks if a content
identifier is one that's known before, to avoid downloading the same
content twice. But that's done in a code path not used for borg repos,
because they are thirdpartypopulated.
Joey Hess [Tue, 22 Dec 2020 15:23:00 +0000 (11:23 -0400)]
notes on ImportableContents history not being used for retrieval
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Mon, 21 Dec 2020 20:59:21 +0000 (20:59 +0000)]