git-annex.git
5 years agoadd: Significantly speed up adding lots of non-large files to git
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.

5 years agofix bad annex.largefiles example syntax
Joey Hess [Mon, 4 Jan 2021 17:11:05 +0000 (13:11 -0400)]
fix bad annex.largefiles example syntax

5 years agoGit.Queue: allow providing git common options like -c
Joey Hess [Mon, 4 Jan 2021 16:51:55 +0000 (12:51 -0400)]
Git.Queue: allow providing git common options like -c

5 years agoupdate year
Joey Hess [Mon, 4 Jan 2021 16:45:19 +0000 (12:45 -0400)]
update year

5 years agoavoid combining queued commands with different params
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.

5 years agocomment and todo
Joey Hess [Mon, 4 Jan 2021 16:26:48 +0000 (12:26 -0400)]
comment and todo

5 years agocomment
Joey Hess [Mon, 4 Jan 2021 16:07:01 +0000 (12:07 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 4 Jan 2021 16:05:32 +0000 (12:05 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 4 Jan 2021 16:04:01 +0000 (12:04 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 4 Jan 2021 15:57:29 +0000 (11:57 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment
AlbertZeyer [Mon, 4 Jan 2021 12:04:04 +0000 (12:04 +0000)]
Added a comment

5 years agoAdded a comment
AlbertZeyer [Sun, 3 Jan 2021 22:07:02 +0000 (22:07 +0000)]
Added a comment

5 years ago(no commit message)
AlbertZeyer [Sun, 3 Jan 2021 22:02:02 +0000 (22:02 +0000)]

5 years agoAdded a comment
AlbertZeyer [Sun, 3 Jan 2021 21:48:51 +0000 (21:48 +0000)]
Added a comment

5 years agoAdded a comment
AlbertZeyer [Sat, 2 Jan 2021 23:49:14 +0000 (23:49 +0000)]
Added a comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 2 Jan 2021 23:33:55 +0000 (19:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment
AlbertZeyer [Sat, 2 Jan 2021 16:23:05 +0000 (16:23 +0000)]
Added a comment

5 years ago(no commit message)
Lukey [Sat, 2 Jan 2021 15:28:02 +0000 (15:28 +0000)]

5 years agoAdded a comment
Lukey [Sat, 2 Jan 2021 15:22:18 +0000 (15:22 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Sat, 2 Jan 2021 15:16:04 +0000 (15:16 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Sat, 2 Jan 2021 15:12:49 +0000 (15:12 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Sat, 2 Jan 2021 15:05:01 +0000 (15:05 +0000)]
Added a comment

5 years agoAdded a comment
AlbertZeyer [Fri, 1 Jan 2021 22:30:34 +0000 (22:30 +0000)]
Added a comment

5 years agoAdded a comment: Difference to import/add?
AlbertZeyer [Fri, 1 Jan 2021 21:49:29 +0000 (21:49 +0000)]
Added a comment: Difference to import/add?

5 years agoAdded a comment: rename or move files
AlbertZeyer [Fri, 1 Jan 2021 21:33:41 +0000 (21:33 +0000)]
Added a comment: rename or move files

5 years agoAdded a comment: Adding external files
AlbertZeyer [Fri, 1 Jan 2021 21:30:38 +0000 (21:30 +0000)]
Added a comment: Adding external files

5 years agoAdded a comment: annex.largefiles
AlbertZeyer [Fri, 1 Jan 2021 21:25:44 +0000 (21:25 +0000)]
Added a comment: annex.largefiles

5 years ago(no commit message)
Lukey [Fri, 1 Jan 2021 15:43:43 +0000 (15:43 +0000)]

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Fri, 1 Jan 2021 04:08:44 +0000 (04:08 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:45:03 +0000 (22:45 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:05:19 +0000 (22:05 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 22:00:08 +0000 (22:00 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Thu, 31 Dec 2020 21:46:33 +0000 (21:46 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 20:51:12 +0000 (20:51 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 20:34:55 +0000 (20:34 +0000)]
Added a comment

5 years agoremoved
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:41:18 +0000 (19:41 +0000)]
removed

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:40:22 +0000 (19:40 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:40:01 +0000 (19:40 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 19:34:56 +0000 (19:34 +0000)]
Added a comment

5 years agoAdded a comment
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 18:55:30 +0000 (18:55 +0000)]
Added a comment

5 years ago(no commit message)
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 18:51:50 +0000 (18:51 +0000)]

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 31 Dec 2020 17:46:25 +0000 (13:46 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment
Lukey [Thu, 31 Dec 2020 17:32:47 +0000 (17:32 +0000)]
Added a comment

5 years ago(no commit message)
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Thu, 31 Dec 2020 16:58:50 +0000 (16:58 +0000)]

5 years agoclose import_tree todo
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.

5 years agodocument what importKey returning Nothing does
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.

5 years agoAdded a comment
Lukey [Tue, 29 Dec 2020 23:30:47 +0000 (23:30 +0000)]
Added a comment

5 years agoadd news item for git-annex 8.20201129
Joey Hess [Tue, 29 Dec 2020 17:52:34 +0000 (13:52 -0400)]
add news item for git-annex 8.20201129

5 years agoreleasing package git-annex version 8.20201129
Joey Hess [Tue, 29 Dec 2020 17:51:40 +0000 (13:51 -0400)]
releasing package git-annex version 8.20201129

5 years agoupdate to lts-16.27
Joey Hess [Tue, 29 Dec 2020 17:51:08 +0000 (13:51 -0400)]
update to lts-16.27

5 years agoupdate
Joey Hess [Tue, 29 Dec 2020 16:52:55 +0000 (12:52 -0400)]
update

5 years agoclose
Joey Hess [Tue, 29 Dec 2020 16:48:21 +0000 (12:48 -0400)]
close

5 years agoimprove tip
Joey Hess [Mon, 28 Dec 2020 23:38:12 +0000 (19:38 -0400)]
improve tip

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 28 Dec 2020 21:05:00 +0000 (17:05 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoupdate
Joey Hess [Mon, 28 Dec 2020 21:04:41 +0000 (17:04 -0400)]
update

5 years agotip for probably best use case for borg with git-annex
Joey Hess [Mon, 28 Dec 2020 20:55:04 +0000 (16:55 -0400)]
tip for probably best use case for borg with git-annex

5 years agodon't support dropping from thirdPartyPopulated for now
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..

5 years agosupport removing objects from borg
Joey Hess [Mon, 28 Dec 2020 20:36:52 +0000 (16:36 -0400)]
support removing objects from borg

5 years agosupport removal from thirdPartyPopulated
Joey Hess [Mon, 28 Dec 2020 20:36:26 +0000 (16:36 -0400)]
support removal from thirdPartyPopulated

also some other fixes to thirdPartyPopulated

5 years agoborg appendonly config
Joey Hess [Mon, 28 Dec 2020 20:23:38 +0000 (16:23 -0400)]
borg appendonly config

5 years agorevert recent lockContent change
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

5 years agoBug report: annex.adjustedbranchrefresh ignored
gb@4a49bb1afcf3d183bba8f07297b0395808768c6c [Mon, 28 Dec 2020 20:03:34 +0000 (20:03 +0000)]
Bug report: annex.adjustedbranchrefresh ignored

5 years agomove untrust forcing from Logs.Trust into Remote
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.

5 years agosimplify
Joey Hess [Mon, 28 Dec 2020 18:57:23 +0000 (14:57 -0400)]
simplify

adjustExportImport' is never called with both isexport and isimport False.

5 years agosplit off versionedExport from appendonly
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.

5 years ago(no commit message)
AlbertZeyer [Mon, 28 Dec 2020 16:31:09 +0000 (16:31 +0000)]

5 years ago(no commit message)
AlbertZeyer [Mon, 28 Dec 2020 16:02:24 +0000 (16:02 +0000)]

5 years ago(no commit message)
AlbertZeyer [Mon, 28 Dec 2020 15:50:54 +0000 (15:50 +0000)]

5 years ago(no commit message)
AlbertZeyer [Mon, 28 Dec 2020 15:46:52 +0000 (15:46 +0000)]

5 years ago(no commit message)
AlbertZeyer [Mon, 28 Dec 2020 15:33:08 +0000 (15:33 +0000)]

5 years agoswitch to createrepo_c
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

5 years agoremoved
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Wed, 23 Dec 2020 19:57:49 +0000 (19:57 +0000)]
removed

5 years agogenerate more compact git-annex branch for imports
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.

5 years agoavoid grafting in an imported tree when it's not changed
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.

5 years agograft in imported tree to avoid gc
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.

5 years agoremove ContentIndentifiersCidRemoteIndex uniqueness constraint
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.

5 years agobug
Joey Hess [Wed, 23 Dec 2020 17:41:02 +0000 (13:41 -0400)]
bug

5 years agoavoid using export method when the remote only supports import
Joey Hess [Wed, 23 Dec 2020 17:17:46 +0000 (13:17 -0400)]
avoid using export method when the remote only supports import

5 years agoborg: add subdir= config
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.

5 years agomake sync --content get from third-party populated remotes like borg
Joey Hess [Wed, 23 Dec 2020 16:10:39 +0000 (12:10 -0400)]
make sync --content get from third-party populated remotes like borg

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 22 Dec 2020 20:55:15 +0000 (16:55 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agodevblog
Joey Hess [Tue, 22 Dec 2020 20:53:40 +0000 (16:53 -0400)]
devblog

5 years agotodo
Joey Hess [Tue, 22 Dec 2020 20:37:19 +0000 (16:37 -0400)]
todo

5 years agomove unimplemented option to todo
Joey Hess [Tue, 22 Dec 2020 20:28:13 +0000 (16:28 -0400)]
move unimplemented option to todo

5 years agomerged borg
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.

5 years agoMerge branch 'borg'
Joey Hess [Tue, 22 Dec 2020 20:19:32 +0000 (16:19 -0400)]
Merge branch 'borg'

5 years agotodo
Joey Hess [Tue, 22 Dec 2020 20:19:02 +0000 (16:19 -0400)]
todo

5 years agoimplement retrieveExportWithContentIdentifier
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..

5 years agoborg can prompt
Joey Hess [Tue, 22 Dec 2020 19:48:17 +0000 (15:48 -0400)]
borg can prompt

5 years agonotice when an archive that was seen before gets deleted
Joey Hess [Tue, 22 Dec 2020 19:45:06 +0000 (15:45 -0400)]
notice when an archive that was seen before gets deleted

5 years agoimplemented checkPresentExportWithContentIdentifier
Joey Hess [Tue, 22 Dec 2020 19:34:41 +0000 (15:34 -0400)]
implemented checkPresentExportWithContentIdentifier

5 years agotodo
Joey Hess [Tue, 22 Dec 2020 19:01:07 +0000 (15:01 -0400)]
todo

5 years agotodo
Joey Hess [Tue, 22 Dec 2020 19:00:11 +0000 (15:00 -0400)]
todo

5 years agooptimisation for borg
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.

5 years agoconvert listImportableContents to throwing exceptions
Joey Hess [Tue, 22 Dec 2020 18:20:11 +0000 (14:20 -0400)]
convert listImportableContents to throwing exceptions

5 years agoavoid borg list of archives that have been listed before
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.

5 years agoimprove storage of redundant ContentIdentifiers
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.

5 years agoinclude borg archive name in tree, use empty ContentIdentifier
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.

5 years agonotes on ImportableContents history not being used for retrieval
Joey Hess [Tue, 22 Dec 2020 15:23:00 +0000 (11:23 -0400)]
notes on ImportableContents history not being used for retrieval

5 years ago(no commit message)
eric.w@eee65cd362d995ced72640c7cfae388ae93a4234 [Mon, 21 Dec 2020 20:59:21 +0000 (20:59 +0000)]