]> dgit.raspbian.org Git - git-annex.git/log
git-annex.git
4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 23 May 2022 16:56:48 +0000 (12:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agofix typo in comment
Joey Hess [Mon, 23 May 2022 16:53:55 +0000 (12:53 -0400)]
fix typo in comment

4 years agosome of the test log output I should've added; formatting
jkniiv [Mon, 23 May 2022 13:58:43 +0000 (13:58 +0000)]
some of the test log output I should've added; formatting

4 years agobug: commit 5a98f2d50 causes two failures to appear in repo tests on Windows
jkniiv [Sun, 22 May 2022 07:52:54 +0000 (07:52 +0000)]
bug: commit 5a98f2d50 causes two failures to appear in repo tests on Windows

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 20 May 2022 18:40:31 +0000 (14:40 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agodeal with git's changes for CVE-2022-24765
Joey Hess [Fri, 20 May 2022 18:18:19 +0000 (14:18 -0400)]
deal with git's changes for CVE-2022-24765

Deal with git's recent changes to fix CVE-2022-24765, which prevent using
git in a repository owned by someone else.

That makes git config --list not list the repo's configs, only global
configs. So annex.uuid and annex.version are not visible to git-annex.
It displayed a message about that, which is not right for this situation.
Detect the situation and display a better message, similar to the one other
git commands display.

Also, git-annex init when run in that situation would overwrite annex.uuid
with a new one, since it couldn't see the old one. Add a check to prevent
it running too in this situation. It may be that this fix has security
implications, if a config set by the malicious user who owns the repo
causes git or git-annex to run code. I don't think any git-annex configs
get run by git-annex init. It may be that some git config of a command
does get run by one of the git commands that git-annex init runs. ("git
status" is the command that prompted the CVE-2022-24765, since
core.fsmonitor can cause it to run a command). Since I don't know how
to exploit this, I'm not treating it as a security fix for now.

Note that passing --git-dir makes git bypass the security check. git-annex
does pass --git-dir to most calls to git, which it does to avoid needing
chdir to the directory containing a git repository when accessing a remote.
So, it's possible that somewhere in git-annex it gets as far as running git
with --git-dir, and git reads some configs that are unsafe (what
CVE-2022-24765 is about). This seems unlikely, it would have to be part of
git-annex that runs in git repositories that have no (visible) annex.uuid,
and git-annex init is the only one that I can think of that then goes on to
run git, as discussed earlier. But I've not fully ruled out there being
others..

The git developers seem mostly worried about "git status" or a similar
command implicitly run by a shell prompt, not an explicit use of git in
such a repository. For example, Ævar Arnfjörð Bjarma wrote:
> * There are other bits of config that also point to executable things,
>   e.g. core.editor, aliases etc, but nothing has been found yet that
>   provides the "at a distance" effect that the core.fsmonitor vector
>   does.
>
>   I.e. a user is unlikely to go to /tmp/some-crap/here and run "git
>   commit", but they (or their shell prompt) might run "git status", and
>   if you have a /tmp/.git ...

Sponsored-by: Jarkko Kniivilä on Patreon
4 years agoAdded a comment
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Fri, 20 May 2022 18:09:45 +0000 (18:09 +0000)]
Added a comment

4 years agoresponse
Joey Hess [Fri, 20 May 2022 17:17:44 +0000 (13:17 -0400)]
response

4 years agocomment
Joey Hess [Wed, 18 May 2022 21:01:33 +0000 (17:01 -0400)]
comment

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 18 May 2022 20:52:33 +0000 (16:52 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agocomment
Joey Hess [Wed, 18 May 2022 20:49:38 +0000 (16:49 -0400)]
comment

4 years agodatalad metadata
Joey Hess [Wed, 18 May 2022 20:49:27 +0000 (16:49 -0400)]
datalad metadata

4 years agoremove git-annex test runner segfault workarounds
Joey Hess [Wed, 18 May 2022 20:45:27 +0000 (16:45 -0400)]
remove git-annex test runner segfault workarounds

Those segfaults were caused by setEnv, which should have been fixed by
commits 79017c612e16653d00253f6862b925b287102624 and
ebb76f0486030e1e6bae43b5f05d00d63a968681.

Sponsored-by: Dartmouth College's Datalad project
4 years agoavoid setEnv in test framework when tasty is running
Joey Hess [Wed, 18 May 2022 20:41:41 +0000 (16:41 -0400)]
avoid setEnv in test framework when tasty is running

setEnv is not thread safe and could cause a getEnv by another thread to
segfault, or perhaps other had behavior. This is particularly a problem
when using tasty, because tasty runs the test in a thread, and a getEnv
in another thread.

The use of top-level TMVars is ugly, but ok because only 1 test actually
runs at a time per process. Because it has to chdir into the test repo.

The setEnv that remains happens before tasty is running.

Sponsored-by: Dartmouth College's Datalad project
4 years agoavoid setEnv while testing gpg
Joey Hess [Wed, 18 May 2022 19:32:40 +0000 (15:32 -0400)]
avoid setEnv while testing gpg

setEnv is not thread safe and could cause a getEnv by another thread to
segfault, or perhaps other had behavior.

Sponsored-by: Dartmouth College's Datalad project
4 years agoget got stuck
yarikoptic [Wed, 18 May 2022 19:48:07 +0000 (19:48 +0000)]
get got stuck

4 years agoadd comment I made earlier
Joey Hess [Wed, 18 May 2022 18:57:27 +0000 (14:57 -0400)]
add comment I made earlier

4 years agocomment and open a todo
Joey Hess [Wed, 18 May 2022 18:57:14 +0000 (14:57 -0400)]
comment and open a todo

4 years agoinitial report on stuck conflict resolution (adjusted branch)
yarikoptic [Tue, 17 May 2022 12:40:56 +0000 (12:40 +0000)]
initial report on stuck  conflict resolution (adjusted branch)

4 years agoAdded a comment
MatusGoljer1 [Mon, 16 May 2022 23:37:55 +0000 (23:37 +0000)]
Added a comment

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 16 May 2022 19:38:22 +0000 (15:38 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agomake fsck normalize object locations
Joey Hess [Mon, 16 May 2022 19:19:48 +0000 (15:19 -0400)]
make fsck normalize object locations

The purpose of this is to fix situations where the annex object file is
stored in a directory structure other than where annex symlinks point to.

But it will also move object files from the hashdirmixed back to
hashdirlower if the repo configuration makes that the normal location.
It would have been more work to avoid that than to let it do it.

Sponsored-by: Dartmouth College's Datalad project
4 years agofix hardcoding of number of hash directories
Joey Hess [Mon, 16 May 2022 19:08:42 +0000 (15:08 -0400)]
fix hardcoding of number of hash directories

It can be changed to 1 via a tuning, rather than the 2 this assumed. So
it would have tried to rmdir .git/annex/objects in that case, which
would not hurt anything, but is not what it is supposed to do.

Sponsored-by: Dartmouth College's Datalad project
4 years agoavoid creating content directory when locking content
Joey Hess [Mon, 16 May 2022 16:34:56 +0000 (12:34 -0400)]
avoid creating content directory when locking content

If the content directory does not exist, then it does not make sense to
lock the content file, as it also does not exist, and so it's ok for the
lock operation to fail.

This avoids potential races where the content file exists but is then
deleted/renamed, while another process sees that it exists and goes to
lock it, resulting in a dangling lock file in an otherwise empty object
directory.

Also renamed modifyContent to modifyContentDir since it is not only
necessarily used for modifying content files, but also other files in
the content directory.

Sponsored-by: Dartmouth College's Datalad project
4 years agoAdded a comment: How to disable lockdown in bare repos?
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9 [Sun, 15 May 2022 21:30:50 +0000 (21:30 +0000)]
Added a comment: How to disable lockdown in bare repos?

4 years agoAdded a comment: Using fuse
wzhd [Sat, 14 May 2022 03:10:18 +0000 (03:10 +0000)]
Added a comment: Using fuse

4 years agoAdded a comment: shell helper
yarikoptic [Fri, 13 May 2022 16:51:23 +0000 (16:51 +0000)]
Added a comment: shell helper

4 years agoAdded a comment
yarikoptic [Fri, 13 May 2022 15:12:29 +0000 (15:12 +0000)]
Added a comment

4 years agothoughts
Joey Hess [Tue, 10 May 2022 18:17:29 +0000 (14:17 -0400)]
thoughts

4 years agothoughts
Joey Hess [Tue, 10 May 2022 18:14:41 +0000 (14:14 -0400)]
thoughts

4 years agothoughts
Joey Hess [Tue, 10 May 2022 17:25:38 +0000 (13:25 -0400)]
thoughts

4 years agofollowup
Joey Hess [Mon, 9 May 2022 20:10:31 +0000 (16:10 -0400)]
followup

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 9 May 2022 19:54:07 +0000 (15:54 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agofix untrustworthiness of import/export remotes
Joey Hess [Mon, 9 May 2022 19:53:23 +0000 (15:53 -0400)]
fix untrustworthiness of import/export remotes

Commit 36133f27c0bd5ba037291420d4b66a3bd8e26308 had a boolean flip in it,
aaargh.

Special remotes with importtree=yes or exporttree=yes are once again
treated as untrusted, since files stored in them can be deleted or modified
at any time.

Sponsored-by: Kevin Mueller on Patreon
4 years agoincremental verification for retrieval from import remotes
Joey Hess [Mon, 9 May 2022 19:38:21 +0000 (15:38 -0400)]
incremental verification for retrieval from import remotes

Sponsored-by: Dartmouth College's Datalad project
4 years agoAdded a comment: interaction of out-of-tree symlinks with exporttree
Ilya_Shlyakhter [Mon, 9 May 2022 19:21:15 +0000 (19:21 +0000)]
Added a comment: interaction of out-of-tree symlinks with exporttree

4 years agoAdded a comment
lh [Mon, 9 May 2022 19:18:01 +0000 (19:18 +0000)]
Added a comment

4 years agoAdded a comment: hm...
yarikoptic [Mon, 9 May 2022 19:10:10 +0000 (19:10 +0000)]
Added a comment: hm...

4 years agoincremental verification for retrieval from all export remotes
Joey Hess [Mon, 9 May 2022 17:18:47 +0000 (13:18 -0400)]
incremental verification for retrieval from all export remotes

Only for export remotes so far, not export/import.

Sponsored-by: Dartmouth College's Datalad project
4 years agosupport incremental verification when retrieving from export/import remotes
Joey Hess [Mon, 9 May 2022 16:25:04 +0000 (12:25 -0400)]
support incremental verification when retrieving from export/import remotes

None of the special remotes do it yet, but this lays the groundwork.

Added MustFinishIncompleteVerify so that, when an incremental verify is
started but not complete, it can be forced to finish it. Otherwise, it
would have skipped doing it when verification is disabled, but
verification must always be done when retrievin from export remotes
since files can be modified during retrieval.

Note that retrieveExportWithContentIdentifier doesn't support incremental
verification yet. And I'm not sure if it can -- it doesn't know the Key
before it downloads the content. It seems a new API call would need to
be split out of that, which is provided with the key.

Sponsored-by: Dartmouth College's Datalad project
4 years agodatalad metadata
Joey Hess [Mon, 9 May 2022 15:32:29 +0000 (11:32 -0400)]
datalad metadata

4 years agocomment
Joey Hess [Mon, 9 May 2022 15:31:00 +0000 (11:31 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 9 May 2022 15:19:34 +0000 (11:19 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 9 May 2022 15:10:35 +0000 (11:10 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 9 May 2022 15:00:13 +0000 (11:00 -0400)]
comment

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 9 May 2022 13:27:20 +0000 (09:27 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years ago(no commit message)
wzhd [Sun, 8 May 2022 23:47:39 +0000 (23:47 +0000)]

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 7 May 2022 16:30:52 +0000 (12:30 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agoquestion/todo about migrating .git/annex/objects
yarikoptic [Fri, 6 May 2022 15:32:56 +0000 (15:32 +0000)]
question/todo about migrating .git/annex/objects

4 years agoinitial report asking to prevent adjusted branch migration or any other for that...
yarikoptic [Fri, 6 May 2022 15:25:57 +0000 (15:25 +0000)]
initial report asking to prevent adjusted branch migration or any other for that sake

4 years agoAdded a comment
mnaoumov [Thu, 5 May 2022 22:44:01 +0000 (22:44 +0000)]
Added a comment

4 years agoAdded a comment: it is still there
yarikoptic [Thu, 5 May 2022 20:22:14 +0000 (20:22 +0000)]
Added a comment: it is still there

4 years agorename memoryUnits
Joey Hess [Thu, 5 May 2022 19:35:11 +0000 (15:35 -0400)]
rename memoryUnits

It's not just used for memory sizes.

4 years agoimplement dataUnits finally
Joey Hess [Thu, 5 May 2022 19:22:11 +0000 (15:22 -0400)]
implement dataUnits finally

Added support for "megabit" and related bandwidth units in
annex.stalldetection and everywhere else that git-annex parses data units.

Note that the short form is "Mbit" not "Mb" because that differs from "MB"
only in case, and git-annex parses units case-insensitively. It would be
horrible if two different versions of git-annex parsed the same value
differently, so I don't think "Mb" can be supported.

See comment for bonus sad story from my childhood.

Sponsored-by: Nicholas Golder-Manning
4 years agoclose
Joey Hess [Thu, 5 May 2022 16:13:09 +0000 (12:13 -0400)]
close

4 years agocomment
Joey Hess [Thu, 5 May 2022 16:07:04 +0000 (12:07 -0400)]
comment

4 years agocomment
Joey Hess [Thu, 5 May 2022 14:57:17 +0000 (10:57 -0400)]
comment

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 5 May 2022 14:49:24 +0000 (10:49 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agoupdate
Joey Hess [Thu, 5 May 2022 14:49:14 +0000 (10:49 -0400)]
update

4 years ago(no commit message)
mnaoumov [Thu, 5 May 2022 04:05:45 +0000 (04:05 +0000)]

4 years agoadd news item for git-annex 10.20220504
Joey Hess [Wed, 4 May 2022 15:48:55 +0000 (11:48 -0400)]
add news item for git-annex 10.20220504

4 years agohah, I mean 0504 of course
Joey Hess [Wed, 4 May 2022 15:47:40 +0000 (11:47 -0400)]
hah, I mean 0504 of course

4 years agoreleasing package git-annex version 10.20220404
Joey Hess [Wed, 4 May 2022 15:46:56 +0000 (11:46 -0400)]
releasing package git-annex version 10.20220404

4 years agobump year for Utility/*
Joey Hess [Wed, 4 May 2022 15:40:25 +0000 (11:40 -0400)]
bump year for Utility/*

4 years agofix git-annex repair false positive
Joey Hess [Wed, 4 May 2022 15:32:23 +0000 (11:32 -0400)]
fix git-annex repair false positive

Avoid treating refs/annex/last-index or other refs that are not commit
objects as evidence of repository corruption.

The repair code checks to find bad refs by trying to run `git log` on
them, and assumes that no output means something is broken.  But git log
on a tree object is empty.

This was worth fixing generally, not as a special case, since it's certainly
possible that other things store tree or other objects in refs.

Sponsored-by: Max Thoursie on Patreon
4 years agoAdded a comment: should import follow symlinks?
Ilya_Shlyakhter [Tue, 3 May 2022 19:36:10 +0000 (19:36 +0000)]
Added a comment: should import follow symlinks?

4 years agocomment
Joey Hess [Tue, 3 May 2022 16:26:29 +0000 (12:26 -0400)]
comment

4 years agodisable shellescape for rsync 3.2.4
Joey Hess [Tue, 3 May 2022 16:12:25 +0000 (12:12 -0400)]
disable shellescape for rsync 3.2.4

rsync 3.2.4 broke backwards-compatability by preventing exposing filenames
to the shell. Made the rsync and gcrypt special remotes detect this and
disable shellescape.

An alternative fix would have been to always set RSYNC_OLD_ARGS=1.
Which would avoid the overhead of probing rsync --help for each affected
remote. But that is really very fast to run, and it seemed better to switch
to the modern code path rather than keeping on using the bad old code path.

Sponsored-by: Tobias Ammann on Patreon
4 years agocomment
Joey Hess [Mon, 2 May 2022 18:53:47 +0000 (14:53 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 2 May 2022 18:45:45 +0000 (14:45 -0400)]
comment

4 years agocomment, retitle
Joey Hess [Mon, 2 May 2022 18:35:07 +0000 (14:35 -0400)]
comment, retitle

4 years agoclose and comment
Joey Hess [Mon, 2 May 2022 18:26:22 +0000 (14:26 -0400)]
close and comment

4 years agocomment
Joey Hess [Mon, 2 May 2022 18:24:32 +0000 (14:24 -0400)]
comment

4 years agoFix a build failure with ghc 9.2.2
Joey Hess [Mon, 2 May 2022 18:21:48 +0000 (14:21 -0400)]
Fix a build failure with ghc 9.2.2

Thanks, gnezdo for the patch.

4 years agofilter out ExitSuccess
Joey Hess [Mon, 2 May 2022 18:09:37 +0000 (14:09 -0400)]
filter out ExitSuccess

This avoids displaying the unexpected exit codes message when
the list is eg [ExitSuccess, ExitFailure 1].

Sponsored-by: Dartmouth College's Datalad project
4 years agoavoid using removePathForcibly everywhere, it is unsafe
Joey Hess [Mon, 2 May 2022 18:06:20 +0000 (14:06 -0400)]
avoid using removePathForcibly everywhere, it is unsafe

If the temp directory can somehow contain a hard link, it changes the
mode, which affects all other hard linked files. So, it's too unsafe
to use everywhere in git-annex, since hard links are possible in
multiple ways and it would be very hard to prove that every place that
uses a temp directory cannot possibly put a hard link in it.

Added a call to removeDirectoryForCleanup to test_crypto, which will
fix the problem that commit 17b20a24502aee3bfc5683146c3899a233295aea
was intending to fix, with a much smaller hammer.

Sponsored-by: Dartmouth College's Datalad project
4 years agocomment
Joey Hess [Mon, 2 May 2022 17:01:37 +0000 (13:01 -0400)]
comment

4 years agoAdded a comment: Reproducible Example
Albert [Fri, 29 Apr 2022 15:57:34 +0000 (15:57 +0000)]
Added a comment: Reproducible Example

4 years agoAdded a comment: Minimal Example
Albert [Fri, 29 Apr 2022 15:14:21 +0000 (15:14 +0000)]
Added a comment: Minimal Example

4 years ago(no commit message)
kdm9 [Fri, 29 Apr 2022 07:28:46 +0000 (07:28 +0000)]

4 years agoreport about rsync test fail
yarikoptic [Thu, 28 Apr 2022 14:30:55 +0000 (14:30 +0000)]
report about rsync test fail

4 years ago(no commit message)
Albert [Tue, 26 Apr 2022 21:17:11 +0000 (21:17 +0000)]

4 years agoAdded a comment
Lukey [Mon, 25 Apr 2022 17:12:19 +0000 (17:12 +0000)]
Added a comment

4 years ago(no commit message)
gnezdo [Mon, 25 Apr 2022 16:29:11 +0000 (16:29 +0000)]

4 years agoAdded a comment: Duplicate Files
Albert [Sun, 24 Apr 2022 14:13:47 +0000 (14:13 +0000)]
Added a comment: Duplicate Files

4 years agoAdded a comment: Fixed
gnezdo [Sat, 23 Apr 2022 21:42:42 +0000 (21:42 +0000)]
Added a comment: Fixed

4 years agoAdded a comment: Clarification Example
Albert [Sat, 23 Apr 2022 12:10:36 +0000 (12:10 +0000)]
Added a comment: Clarification Example

4 years agoClarification about git assistant invariants
Albert [Sat, 23 Apr 2022 11:38:31 +0000 (11:38 +0000)]
Clarification about git assistant invariants

4 years agoAdded a comment
tanakaoji@cd5ba49c38f0a3b42b7e7bf56c4379d9024cd840 [Fri, 22 Apr 2022 20:39:30 +0000 (20:39 +0000)]
Added a comment

4 years agoAdded a comment: transitive transfers
Ilya_Shlyakhter [Fri, 22 Apr 2022 17:01:13 +0000 (17:01 +0000)]
Added a comment: transitive transfers

4 years agoAdded a comment: transitive transfers
Ilya_Shlyakhter [Fri, 22 Apr 2022 16:59:59 +0000 (16:59 +0000)]
Added a comment: transitive transfers

4 years ago(no commit message)
tanakaoji@cd5ba49c38f0a3b42b7e7bf56c4379d9024cd840 [Fri, 22 Apr 2022 03:10:19 +0000 (03:10 +0000)]

4 years agoAdded a comment
lh [Thu, 21 Apr 2022 01:18:21 +0000 (01:18 +0000)]
Added a comment

4 years agoAdded a comment: I had to come out of the rabbit hole
datamanager [Wed, 20 Apr 2022 15:28:14 +0000 (15:28 +0000)]
Added a comment: I had to come out of the rabbit hole

4 years ago(no commit message)
0nelight [Wed, 20 Apr 2022 14:50:18 +0000 (14:50 +0000)]

4 years agoAdded a comment: re: See git-annex-export.
datamanager [Wed, 20 Apr 2022 14:48:00 +0000 (14:48 +0000)]
Added a comment: re: See git-annex-export.

4 years agoAdded a comment: re: Making git-annex preserve file name, and directory
Ilya_Shlyakhter [Wed, 20 Apr 2022 04:03:46 +0000 (04:03 +0000)]
Added a comment: re: Making git-annex preserve file name, and directory

4 years agoI want to bend git-annex to my will, but I don't know how
datamanager [Wed, 20 Apr 2022 01:16:38 +0000 (01:16 +0000)]
I want to bend git-annex to my will, but I don't know how

4 years ago(no commit message)
lsmor [Tue, 19 Apr 2022 18:43:25 +0000 (18:43 +0000)]

4 years agoAdded a comment
lh [Tue, 19 Apr 2022 18:40:57 +0000 (18:40 +0000)]
Added a comment