Commit graph

31526 commits

Author SHA1 Message Date
Joey Hess
aa414d97c9
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
2022-05-16 15:38:06 -04:00
Joey Hess
5a98f2d509
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
2022-05-16 12:34:56 -04:00
Joey Hess
b6c7819803
thoughts 2022-05-10 14:17:29 -04:00
Joey Hess
c5b5fd364a
thoughts 2022-05-10 14:14:41 -04:00
Joey Hess
997e96ef5e
thoughts 2022-05-10 13:25:38 -04:00
Joey Hess
3b83224e57
followup 2022-05-09 16:10:31 -04:00
Joey Hess
136ad17b94
Merge branch 'master' of ssh://git-annex.branchable.com 2022-05-09 15:54:07 -04:00
Joey Hess
e8a601aa24
incremental verification for retrieval from import remotes
Sponsored-by: Dartmouth College's Datalad project
2022-05-09 15:39:43 -04:00
Ilya_Shlyakhter
d39b92c71c Added a comment: interaction of out-of-tree symlinks with exporttree 2022-05-09 19:21:15 +00:00
lh
8b88dcf961 Added a comment 2022-05-09 19:18:01 +00:00
yarikoptic
dfc3bf4daa Added a comment: hm... 2022-05-09 19:10:10 +00:00
Joey Hess
2f2701137d
incremental verification for retrieval from all export remotes
Only for export remotes so far, not export/import.

Sponsored-by: Dartmouth College's Datalad project
2022-05-09 13:49:33 -04:00
Joey Hess
52b768db45
datalad metadata 2022-05-09 11:32:29 -04:00
Joey Hess
7d25d510e8
comment 2022-05-09 11:31:00 -04:00
Joey Hess
35a2f95ff9
comment 2022-05-09 11:19:34 -04:00
Joey Hess
09c94c3a96
comment 2022-05-09 11:10:35 -04:00
Joey Hess
74cf62a51e
comment 2022-05-09 11:00:13 -04:00
wzhd
a0250bd631 2022-05-08 23:47:39 +00:00
yarikoptic
0eeeea318a question/todo about migrating .git/annex/objects 2022-05-06 15:32:56 +00:00
yarikoptic
195b627b10 initial report asking to prevent adjusted branch migration or any other for that sake 2022-05-06 15:25:57 +00:00
mnaoumov
f5c4b470ea Added a comment 2022-05-05 22:44:01 +00:00
yarikoptic
deab526f63 Added a comment: it is still there 2022-05-05 20:22:14 +00:00
Joey Hess
d1cce869ed
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
2022-05-05 15:25:11 -04:00
Joey Hess
3d8af64527
close 2022-05-05 12:13:09 -04:00
Joey Hess
144e5b1cb0
comment 2022-05-05 12:07:04 -04:00
Joey Hess
925648c297
comment 2022-05-05 10:57:17 -04:00
Joey Hess
d08e4c7481
Merge branch 'master' of ssh://git-annex.branchable.com 2022-05-05 10:49:24 -04:00
Joey Hess
13d28e607c
update 2022-05-05 10:49:14 -04:00
mnaoumov
7f125b3559 2022-05-05 04:05:45 +00:00
Joey Hess
8baac93dd3
add news item for git-annex 10.20220504 2022-05-04 11:48:55 -04:00
Joey Hess
0406c33f58
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
2022-05-04 11:32:23 -04:00
Ilya_Shlyakhter
d0b1ecf464 Added a comment: should import follow symlinks? 2022-05-03 19:36:10 +00:00
Joey Hess
961d05a90e
comment 2022-05-03 12:26:29 -04:00
Joey Hess
43701759a3
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
2022-05-03 12:12:41 -04:00
Joey Hess
b760d31be1
comment 2022-05-02 14:54:24 -04:00
Joey Hess
37dea232a4
comment 2022-05-02 14:45:45 -04:00
Joey Hess
31b2213992
comment, retitle 2022-05-02 14:35:07 -04:00
Joey Hess
2ad4679d18
close and comment 2022-05-02 14:26:22 -04:00
Joey Hess
1c00731f9e
comment 2022-05-02 14:24:32 -04:00
Joey Hess
280d41b58f
Fix a build failure with ghc 9.2.2
Thanks, gnezdo for the patch.
2022-05-02 14:21:48 -04:00
Joey Hess
217798f3f1
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
2022-05-02 14:09:37 -04:00
Joey Hess
642703c7e4
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 17b20a2450
was intending to fix, with a much smaller hammer.

Sponsored-by: Dartmouth College's Datalad project
2022-05-02 14:06:20 -04:00
Joey Hess
1b02cd4715
comment 2022-05-02 13:01:37 -04:00
Albert
b4ac551d06 Added a comment: Reproducible Example 2022-04-29 15:57:34 +00:00
Albert
5c467179c4 Added a comment: Minimal Example 2022-04-29 15:14:21 +00:00
kdm9
58fcedb598 2022-04-29 07:28:46 +00:00
yarikoptic
8c6d4863be report about rsync test fail 2022-04-28 14:30:55 +00:00
Albert
143e66e55f 2022-04-26 21:17:11 +00:00
Lukey
a5ce8007c6 Added a comment 2022-04-25 17:12:19 +00:00
gnezdo
c1885e1457 2022-04-25 16:29:11 +00:00