git-annex.git
5 years agoadded suggestion: support tree-ish in command args
Ilya_Shlyakhter [Thu, 29 Apr 2021 16:53:31 +0000 (16:53 +0000)]
added suggestion: support tree-ish in command args

5 years agoAdded a comment: openSUSE Leap 15.2
daniel [Thu, 29 Apr 2021 14:47:00 +0000 (14:47 +0000)]
Added a comment: openSUSE Leap 15.2

5 years agodoc/git-annex-config: Fix typo in annex.synconlyannex description
Kyle Meyer [Thu, 29 Apr 2021 14:01:57 +0000 (10:01 -0400)]
doc/git-annex-config: Fix typo in annex.synconlyannex description

5 years agoadd news item for git-annex 8.20210428
Joey Hess [Wed, 28 Apr 2021 16:17:08 +0000 (12:17 -0400)]
add news item for git-annex 8.20210428

5 years agoreleasing package git-annex version 8.20210428
Joey Hess [Wed, 28 Apr 2021 16:16:45 +0000 (12:16 -0400)]
releasing package git-annex version 8.20210428

5 years agoAdded a comment: I think I am having the same issue
datamanager [Wed, 28 Apr 2021 01:19:46 +0000 (01:19 +0000)]
Added a comment: I think I am having the same issue

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 27 Apr 2021 22:12:19 +0000 (18:12 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoclose
Joey Hess [Tue, 27 Apr 2021 22:11:29 +0000 (18:11 -0400)]
close

test case ran for over an hour successfully

5 years agoAvoid more than 1 gpg password prompt at the same time
Joey Hess [Tue, 27 Apr 2021 20:36:33 +0000 (16:36 -0400)]
Avoid more than 1 gpg password prompt at the same time

Which could happen occasionally before when concurrency is enabled.
While not much of a problem when it did happen, better to avoid it. Also,
since it seems likely the gpg-agent sometimes fails in such a situation,
this makes it not happen when running a single git-annex command with
concurrency enabled.

This commit was sponsored by Jake Vosloo on Patreon.

5 years agoreproduced, some analysis of a gpg bug
Joey Hess [Tue, 27 Apr 2021 20:31:37 +0000 (16:31 -0400)]
reproduced, some analysis of a gpg bug

This commit was sponsored by Graham Spencer on Patreon.

5 years agoadd missing whitespace
Joey Hess [Tue, 27 Apr 2021 19:23:56 +0000 (15:23 -0400)]
add missing whitespace

5 years agoAdded a comment
pat [Tue, 27 Apr 2021 18:34:30 +0000 (18:34 +0000)]
Added a comment

5 years agoimprove message
Joey Hess [Tue, 27 Apr 2021 17:39:56 +0000 (13:39 -0400)]
improve message

Pluralize copies appropriately.

This commit was sponsored by Mark Reidenbach on Patreon.

5 years agocheck mincopies is satisfied even when numcopies is known to be satisfied
Joey Hess [Tue, 27 Apr 2021 17:37:03 +0000 (13:37 -0400)]
check mincopies is satisfied even when numcopies is known to be satisfied

I had been assuming that numcopies would be a larger or at most equal to
mincopies, so no need to check both. But users get confused and use configs
that don't really make sense, so make sure to handle mincopies being larger
than numcopies.

Also add something to the mincopies man page to discourage this
misconfiguration.

This commit was sponsored by Denis Dzyubenko on Patreon.

5 years agofix pasto
Joey Hess [Tue, 27 Apr 2021 17:13:53 +0000 (13:13 -0400)]
fix pasto

5 years agoremove "checking remotename" message
Joey Hess [Tue, 27 Apr 2021 16:50:45 +0000 (12:50 -0400)]
remove "checking remotename" message

This fixes fsck of a remote that uses chunking displaying
(checking remotename) (checking remotename)" for every chunk.

Also, some remotes displayed the message, and others did not, with no
consistency. It was originally displayed only when accessing remotes
that were expensive or might involve a password prompt, I think, but
nothing in the API said when to do it so it became an inconsistent mess.

Originally I thought fsck should always display it. But it only displays
in fsck --from remote, so the user knows the remote is being accessed,
so there is no reason to tell them it's accessing it over and over.

It was also possible for git-annex move to sometimes display it twice,
due to checking if content is present twice. But, the user of move
specifies --from/--to, so it does not need to display when it's
accessing the remote, as the user expects it to access the remote.

git-annex get might display it, but only if the remote also supports
hasKeyCheap, which is really only local git remotes, which didn't
display it always; and in any case nothing displayed it before hasKeyCheap,
which is checked first, so I don't think this needs to display it ever.

mirror is like move. And that's all the main places it would have been
displayed.

This commit was sponsored by Jochen Bartl on Patreon.

5 years agocomment
Joey Hess [Tue, 27 Apr 2021 16:24:36 +0000 (12:24 -0400)]
comment

5 years agogit-annex-config: Allow setting annex.securehashesonly
Joey Hess [Mon, 26 Apr 2021 17:50:37 +0000 (13:50 -0400)]
git-annex-config: Allow setting annex.securehashesonly

Which has otherwise been supported since 2019, but was missing from the
list of allowed repo-global configs.

Reordered the list to match the order in the git-annex-config man page, to
make them easy to cross-compare.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.

5 years agoresponse and close
Joey Hess [Mon, 26 Apr 2021 17:34:00 +0000 (13:34 -0400)]
response and close

5 years agocomment
Joey Hess [Mon, 26 Apr 2021 17:22:53 +0000 (13:22 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 26 Apr 2021 17:13:13 +0000 (13:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoupdate
Joey Hess [Mon, 26 Apr 2021 17:12:51 +0000 (13:12 -0400)]
update

5 years agoAdded a comment
ntraut9@6c7c5e5bfddb591c28ab8222f1de9cb56840a69e [Mon, 26 Apr 2021 16:40:15 +0000 (16:40 +0000)]
Added a comment

5 years agoAdded a comment
ntraut9@6c7c5e5bfddb591c28ab8222f1de9cb56840a69e [Mon, 26 Apr 2021 16:01:02 +0000 (16:01 +0000)]
Added a comment

5 years agoAdded a comment
https://launchpad.net/~r0lf [Mon, 26 Apr 2021 13:05:15 +0000 (13:05 +0000)]
Added a comment

5 years agoremoved
https://launchpad.net/~r0lf [Mon, 26 Apr 2021 13:03:46 +0000 (13:03 +0000)]
removed

5 years agoAdded a comment
https://launchpad.net/~r0lf [Mon, 26 Apr 2021 13:03:20 +0000 (13:03 +0000)]
Added a comment

5 years agoAdded a comment
https://launchpad.net/~r0lf [Mon, 26 Apr 2021 12:22:43 +0000 (12:22 +0000)]
Added a comment

5 years ago(no commit message)
https://launchpad.net/~r0lf [Mon, 26 Apr 2021 11:58:13 +0000 (11:58 +0000)]

5 years agoAdded a comment: Still happening
felix.hagemann@b76e9ea0928cf33dacffc37ec3dbecf33171a8a5 [Sun, 25 Apr 2021 16:20:05 +0000 (16:20 +0000)]
Added a comment: Still happening

5 years agoAdded a comment
Lukey [Sun, 25 Apr 2021 11:53:29 +0000 (11:53 +0000)]
Added a comment

5 years ago(no commit message)
ijc@c69abafeb65fa2e784811fc549e9976a5cf4b903 [Sun, 25 Apr 2021 10:15:28 +0000 (10:15 +0000)]

5 years ago(no commit message)
lucasleblow@82e8f9921fb2e69327ce533bc128180600761839 [Sun, 25 Apr 2021 03:30:18 +0000 (03:30 +0000)]

5 years agoAdded a comment: sparse checkouts to hide non-present files
Ilya_Shlyakhter [Sat, 24 Apr 2021 22:00:14 +0000 (22:00 +0000)]
Added a comment: sparse checkouts to hide non-present files

5 years agoAdded a comment: try to find a better solution
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 11:03:28 +0000 (11:03 +0000)]
Added a comment: try to find a better solution

5 years agoremoved
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 10:41:15 +0000 (10:41 +0000)]
removed

5 years agoAdded a comment: try to find a better solution
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 10:40:18 +0000 (10:40 +0000)]
Added a comment: try to find a better solution

5 years agoremoved
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 10:39:21 +0000 (10:39 +0000)]
removed

5 years agoAdded a comment
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 10:38:37 +0000 (10:38 +0000)]
Added a comment

5 years ago(no commit message)
https://launchpad.net/~r0lf [Sat, 24 Apr 2021 10:17:46 +0000 (10:17 +0000)]

5 years agoremove misleading para
Joey Hess [Fri, 23 Apr 2021 20:01:12 +0000 (16:01 -0400)]
remove misleading para

moving journal-private to journal risks losing other lines from the log
files

5 years agoadd note to git-annex-log man page about when information is not available
Joey Hess [Fri, 23 Apr 2021 18:53:38 +0000 (14:53 -0400)]
add note to git-annex-log man page about when information is not available

5 years agodone
Joey Hess [Fri, 23 Apr 2021 18:48:45 +0000 (14:48 -0400)]
done

5 years agoinitremote --private
Joey Hess [Fri, 23 Apr 2021 18:47:46 +0000 (14:47 -0400)]
initremote --private

5 years agoconsistent name for config
Joey Hess [Fri, 23 Apr 2021 18:36:20 +0000 (14:36 -0400)]
consistent name for config

annex.private is a bit ambiguous about what kind of privacy, but
it keeps the name symmetric with remote.foo.annex-private.

5 years agoimplement annex.privateremote and remote.name.private configs
Joey Hess [Fri, 23 Apr 2021 18:21:57 +0000 (14:21 -0400)]
implement annex.privateremote and remote.name.private configs

The slightly unusual parsing in Types.GitConfig avoids the need to look
at the remote list to get configs of remotes. annexPrivateRepos combines
all the configs, and will only be calculated once, so it's nice and
fast.

privateUUIDsKnown and regardingPrivateUUID now need to read from the
annex mvar, so are not entirely free. But that overhead can be optimised
away, as seen in getJournalFileStale. The other call sites didn't seem
worth optimising to save a single MVar access. The feature should have
impreceptable speed overhead when not being used.

5 years agomake remoteKeyToRemoteName safer
Joey Hess [Fri, 23 Apr 2021 17:28:23 +0000 (13:28 -0400)]
make remoteKeyToRemoteName safer

If it's passed a ConfigKey such as annex.version, avoid returning
an empty remote name and return Nothing instead. Also, foo.bar.baz is
not treated as a remote named "bar".

5 years agofix build after merge
Joey Hess [Fri, 23 Apr 2021 17:26:10 +0000 (13:26 -0400)]
fix build after merge

5 years agoMerge branch 'master' into hiddenannex
Joey Hess [Fri, 23 Apr 2021 17:06:33 +0000 (13:06 -0400)]
Merge branch 'master' into hiddenannex

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 23 Apr 2021 16:37:28 +0000 (12:37 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoimportfeed: fix bug while also speeding up 12x!
Joey Hess [Fri, 23 Apr 2021 16:36:56 +0000 (12:36 -0400)]
importfeed: fix bug while also speeding up 12x!

* Fix bug that could make git-annex importfeed not see recently recorded
  state when configured with annex.alwayscommit=false.
* importfeed: Made "checking known urls" phase run 12 times faster.

The massive speedup is because it no longer queries for metadata
accompanying each url. Instead it processes the whole git-annex branch and
checks all metadata files for feed item ids, and uses any it finds.

This could result in a behavior change, in an unlikely situation: If a feed
id is recorded in a key's metadata, but the url gets removed, the old code
would not see that item id and would re-download it if it finds an url for
it in a feed, while the new code will see the item id. I don't think
the old behavior was intentional, and it may be that the new behavior is
better. Not gonna worry about this.

5 years agorefactoring
Joey Hess [Fri, 23 Apr 2021 15:44:10 +0000 (11:44 -0400)]
refactoring

5 years agoremoved
fooness [Fri, 23 Apr 2021 15:39:28 +0000 (15:39 +0000)]
removed

5 years agoconvert withKnownUrls to use overBranchFileContents
Joey Hess [Fri, 23 Apr 2021 15:32:25 +0000 (11:32 -0400)]
convert withKnownUrls to use overBranchFileContents

This only partly fixes importfeed to see journalled files, since it
separately cats metadata directly from the branch. Held off on a
changelog for a bug fix until that's dealt with.

5 years agoRevert "reorder another test"
Joey Hess [Fri, 23 Apr 2021 05:01:29 +0000 (01:01 -0400)]
Revert "reorder another test"

This reverts commit 3e63f00f636eac897d58264733ec34d400598b19.

5 years agowindows needs to die
Joey Hess [Fri, 23 Apr 2021 04:38:18 +0000 (00:38 -0400)]
windows needs to die

5 years agoclose old bug
Joey Hess [Fri, 23 Apr 2021 04:25:22 +0000 (00:25 -0400)]
close old bug

5 years agorename forum post that breaks windows checkout
Joey Hess [Thu, 22 Apr 2021 23:15:43 +0000 (19:15 -0400)]
rename forum post that breaks windows checkout

at least sometimes, not on the autobuilder. I think git treats the ...
as a possible path traveral or something

5 years agoupdate
Joey Hess [Thu, 22 Apr 2021 16:47:05 +0000 (12:47 -0400)]
update

5 years agoreorder another test
Joey Hess [Thu, 22 Apr 2021 14:03:35 +0000 (10:03 -0400)]
reorder another test

continuing to try to narrow down cause of failure on windows

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 22 Apr 2021 13:40:25 +0000 (09:40 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment
Atemu [Thu, 22 Apr 2021 10:01:01 +0000 (10:01 +0000)]
Added a comment

5 years agoupdate
Joey Hess [Thu, 22 Apr 2021 03:42:00 +0000 (23:42 -0400)]
update

5 years agoAdded a comment
pat [Wed, 21 Apr 2021 22:33:55 +0000 (22:33 +0000)]
Added a comment

5 years agocomment
Joey Hess [Wed, 21 Apr 2021 21:30:27 +0000 (17:30 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Apr 2021 21:19:25 +0000 (17:19 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoalternative
Joey Hess [Wed, 21 Apr 2021 21:18:47 +0000 (17:18 -0400)]
alternative

5 years ago(no commit message)
pat [Wed, 21 Apr 2021 21:04:27 +0000 (21:04 +0000)]

5 years agodocs
Joey Hess [Wed, 21 Apr 2021 21:01:03 +0000 (17:01 -0400)]
docs

5 years agogot private repos really working
Joey Hess [Wed, 21 Apr 2021 20:26:23 +0000 (16:26 -0400)]
got private repos really working

This new TODO will need private indexes to resolve; until then the
private journal has to be checked when private UUIDs are known.

5 years agooptimisation
Joey Hess [Wed, 21 Apr 2021 20:02:56 +0000 (16:02 -0400)]
optimisation

Avoid trying to read private journal files when no private uuids are
known.

5 years agoadapt recent bug fixes to support private journal
Joey Hess [Wed, 21 Apr 2021 19:54:37 +0000 (15:54 -0400)]
adapt recent bug fixes to support private journal

At this point, private repos should mostly work, except for a few
commands that directly read from the git-annex branch and will not see
the private journal.

Private index not yet implemented.

5 years agoMerge branch 'master' into hiddenannex
Joey Hess [Wed, 21 Apr 2021 19:45:12 +0000 (15:45 -0400)]
Merge branch 'master' into hiddenannex

5 years agofix --all to include not yet committed files from the journal
Joey Hess [Wed, 21 Apr 2021 19:40:32 +0000 (15:40 -0400)]
fix --all to include not yet committed files from the journal

Fix bug caused by recent optimisations that could make git-annex not see
recently recorded status information when configured with
annex.alwayscommit=false.

This does mean that --all can end up processing the same key more than once,
but before the optimisations that introduced this bug, it used to also behave
that way. So I didn't try to fix that; it's an edge case and anyway git-annex
behaves well when run on the same key repeatedly.

I am not too happy with the use of a MVar to buffer the list of files in the
journal. I guess it doesn't defeat lazy streaming of the list, if that
list is actually generated lazily, and anyway the size of the journal is
normally capped and small, so if configs are changed to make it huge and
this code path fire, git-annex using enough memory to buffer it all is not a
large problem.

5 years agorefactoring
Joey Hess [Wed, 21 Apr 2021 18:19:58 +0000 (14:19 -0400)]
refactoring

5 years agofix branch precacheing bug by checking journal
Joey Hess [Wed, 21 Apr 2021 18:02:15 +0000 (14:02 -0400)]
fix branch precacheing bug by checking journal

Fix bug caused by recent optimisations that could make git-annex not see
recently recorded status information when configured with
annex.alwayscommit=false.

When not using --all, precaching only gets triggered when the
command actually needs location logs, and so there's no speed hit there.

This is a minor speed hit for --all, because it precaches even when the
location log is not actually going to be used, and so checking the journal
is not necessary. It would have been possible to defer checking the journal
until the cache gets used. But that would complicate the usual Branch.get
code path with two different kinds of caches, and the speed hit is really
minimal. A better way to speed up --all, later, would be to avoid
precaching at all when the location log is not going to be used.

5 years agowip
Joey Hess [Wed, 21 Apr 2021 17:46:39 +0000 (13:46 -0400)]
wip

5 years agobug report
Joey Hess [Wed, 21 Apr 2021 17:24:32 +0000 (13:24 -0400)]
bug report

5 years agoMerge branch 'master' into hiddenannex
Joey Hess [Wed, 21 Apr 2021 17:04:40 +0000 (13:04 -0400)]
Merge branch 'master' into hiddenannex

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Apr 2021 17:02:47 +0000 (13:02 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoreorder tests debugging windows failure
Joey Hess [Wed, 21 Apr 2021 17:01:41 +0000 (13:01 -0400)]
reorder tests debugging windows failure

This order will work just as well, so no need to revert this change
later.

5 years agodoc/git-annex.mdwn: Fix quoting of annex.supportunlocked
Kyle Meyer [Wed, 21 Apr 2021 16:36:34 +0000 (12:36 -0400)]
doc/git-annex.mdwn: Fix quoting of annex.supportunlocked

5 years agoAdded a comment: re: clarifying unlocked files
kyle [Wed, 21 Apr 2021 16:34:50 +0000 (16:34 +0000)]
Added a comment: re: clarifying unlocked files

5 years agoAdded a comment: re: Are my unlocked, annexed files still safe?
kyle [Wed, 21 Apr 2021 16:32:42 +0000 (16:32 +0000)]
Added a comment: re: Are my unlocked, annexed files still safe?

5 years agoupdate
Joey Hess [Wed, 21 Apr 2021 16:18:04 +0000 (12:18 -0400)]
update

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Apr 2021 16:15:57 +0000 (12:15 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agocomment
Joey Hess [Wed, 21 Apr 2021 16:15:42 +0000 (12:15 -0400)]
comment

5 years agoAdded a comment: clarifying unlocked files
Ilya_Shlyakhter [Wed, 21 Apr 2021 16:08:05 +0000 (16:08 +0000)]
Added a comment: clarifying unlocked files

5 years agoAdded a comment: Are my unlocked, annexed files still safe?
pat [Wed, 21 Apr 2021 15:47:48 +0000 (15:47 +0000)]
Added a comment: Are my unlocked, annexed files still safe?

5 years agoAdded a comment: auto-expire temp repos
Ilya_Shlyakhter [Wed, 21 Apr 2021 15:37:38 +0000 (15:37 +0000)]
Added a comment: auto-expire temp repos

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 20 Apr 2021 19:18:56 +0000 (15:18 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoupdate
Joey Hess [Tue, 20 Apr 2021 19:18:18 +0000 (15:18 -0400)]
update

5 years agostart implementing hidden git-annex repositories
Joey Hess [Tue, 20 Apr 2021 18:32:41 +0000 (14:32 -0400)]
start implementing hidden git-annex repositories

This adds a separate journal, which does not currently get committed to
an index, but is planned to be committed to .git/annex/index-private.

Changes that are regarding a UUID that is private will get written to
this journal, and so will not be published into the git-annex branch.

All log writing should have been made to indicate the UUID it's
regarding, though I've not verified this yet.

Currently, no UUIDs are treated as private yet, a way to configure that
is needed.

The implementation is careful to not add any additional IO work when
privateUUIDsKnown is False. It will skip looking at the private journal
at all. So this should be free, or nearly so, unless the feature is
used. When it is used, all branch reads will be about twice as expensive.

It is very lucky -- or very prudent design -- that Annex.Branch.change
and maybeChange are the only ways to change a file on the branch,
and Annex.Branch.set is only internal use. That let Annex.Branch.get
always yield any private information that has been recorded, without
the risk that Annex.Branch.set might be called, with a non-private UUID,
and end up leaking the private information into the git-annex branch.

And, this relies on the way git-annex union merges the git-annex branch.
When reading a file, there can be a public and a private version, and
they are just concacenated together. That will be handled the same as if
there were two diverged git-annex branches that got union merged.

5 years agoAdded a comment
Atemu [Tue, 20 Apr 2021 18:30:39 +0000 (18:30 +0000)]
Added a comment

5 years agoAdded a comment
Atemu [Tue, 20 Apr 2021 18:05:27 +0000 (18:05 +0000)]
Added a comment

5 years agooptimisation
Joey Hess [Tue, 20 Apr 2021 17:13:45 +0000 (13:13 -0400)]
optimisation

Avoid unnecessary conversion to/from String.

5 years agoremove now redundant function
Joey Hess [Tue, 20 Apr 2021 16:42:57 +0000 (12:42 -0400)]
remove now redundant function

5 years ago(no commit message)
fooness [Tue, 20 Apr 2021 16:38:33 +0000 (16:38 +0000)]

5 years agocomment
Joey Hess [Tue, 20 Apr 2021 15:57:10 +0000 (11:57 -0400)]
comment

5 years agofix reversion in recent CoW changes
Joey Hess [Tue, 20 Apr 2021 15:41:43 +0000 (11:41 -0400)]
fix reversion in recent CoW changes

File handle accidentially left open is both a FD leak and causes the
haskell RTS to reject opening it again with "file is locked".