Commit graph

31892 commits

Author SHA1 Message Date
Joey Hess
1ddaf7a27f
decided this is not a problem 2022-06-15 14:00:56 -04:00
Joey Hess
f259be7f39
fix overwrite race with small file that got large
When adding a small file, it does not get locked down, so can be modified
after git-annex checks that it's small. The use of queued git add made the
race window nice and wide too.

Fixed by checking if the file has changed, and by not using git add.
Instead, have to recapitulate git add's handling of things like symlinks
and executable files.

Sponsored-by: Jochen Bartl on Patreon
2022-06-14 16:38:56 -04:00
Joey Hess
56e095aaf4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-14 14:56:16 -04:00
yarikoptic
60a02af856 Added a comment: hold it... ;) 2022-06-14 18:47:25 +00:00
Joey Hess
78a3d44ea0
get rid of racy addLink
The remaining callers all did not rely on it checking gitignore, so were
easy to convert.

They were susceptable to the same overwrite race as add and fix,
although less likely to have it and a narrower window than add's race.

Command.Rekey in passing got an unncessary call to removeFile deleted.
addSymlink handles deleting any existing worktree file.
2022-06-14 14:47:15 -04:00
Joey Hess
e47219bcb5
bug report 2022-06-14 14:13:48 -04:00
Joey Hess
dd6dec4eb1
fix add overwrite race with git-annex add to annex
This is not a complete fix for all such races, only the one where a
large file gets changed while adding and gets added to git rather than
to the annex.

addLink needs to go away, any caller of it is probably subject to the
same kind of race. (Also, addLink itself fails to check gitignore when
symlinks are not supported.)

ingestAdd no longer checks gitignore. (It didn't check it consistently
before either, since there were cases where it did not run git add!)
When git-annex import calls it, it's already checked gitignore itself
earlier. When git-annex add calls it, it's usually on files found
by withFilesNotInGit, which handles checking ignores.

There was one other case, when git-annex add --batch calls it. In that
case, old git-annex behaved rather badly, it would seem to add the file,
but git add would later fail, leaving the file as an unstaged annex symlink.
That behavior has also been fixed.

Sponsored-by: Brett Eisenberg on Patreon
2022-06-14 13:37:19 -04:00
Joey Hess
b471438c51
bug report
Sponsored-by: Luke Shumaker on Patreon
2022-06-14 12:51:09 -04:00
Joey Hess
b9e9ad1ffb
comment 2022-06-14 12:23:33 -04:00
Joey Hess
f7552e4e28
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-14 11:51:44 -04:00
KachoOji
216a78a3e9 Added a comment 2022-06-14 15:32:48 +00:00
yarikoptic
8916c818b4 Added a comment 2022-06-13 23:52:48 +00:00
yarikoptic
1524c5f2dd initial whining about type=git initremote stopped 2022-06-13 23:40:30 +00:00
Joey Hess
596ead85a1
add rf 2022-06-13 16:04:12 -04:00
Joey Hess
49ab467784
comment 2022-06-13 14:20:54 -04:00
Joey Hess
68810ddaf9
comment 2022-06-13 13:38:36 -04:00
Joey Hess
4f23931439
add todo based on forum post 2022-06-13 13:12:18 -04:00
Atemu
c0e648e921 2022-06-11 14:58:11 +00:00
KachoOji
6adaf94709 2022-06-10 23:04:09 +00:00
yarikoptic
c3f1509b9e Added a comment 2022-06-09 21:53:05 +00:00
Joey Hess
6d0b243d9d
avoid cleaning up move log when drop from remote fails
move: Improve resuming a move that succeeded in transferring the content,
but where dropping failed due to eg a network problem, in cases where
numcopies checks prevented the resumed move from dropping the object from
the source repository.

This was earlier done for moves that got interrupted during the drop stage.

Sponsored-by: Svenne Krap on Patreon
2022-06-09 15:26:25 -04:00
Joey Hess
13fc6a9b6a
fix to use 1 chunk for empty file
Fix retrival of an empty file that is stored in a special remote with
chunking enabled.

The speculative chunk stuff caused a reversion by adding an empty list for
the empty file. Which is just wrong; the empty file is still stored on the
remote, and should be retrieved like any other file. It uses 1 chunk, so
`max 1` is the simple fix.

Sponsored-by: Noam Kremen on Patreon
2022-06-09 14:24:56 -04:00
Joey Hess
53d289c6c1
comment 2022-06-09 13:38:37 -04:00
Joey Hess
9ef90aa738
comment 2022-06-09 13:32:07 -04:00
Joey Hess
bfdbf59536
close as not a bug 2022-06-09 13:23:33 -04:00
Joey Hess
9f1765b32a
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-09 13:18:10 -04:00
yarikoptic
1a2bff370d initial report on difficulty with 0 length file 2022-06-09 17:17:56 +00:00
Joey Hess
14584e7a38
initremote type=git probe uuid
rather than matching path of an existing remote to find the uuid.

The main benefit of this is that locations not using ssh:// will work
now, including both paths and host:/path

The other benefit is that it's a simpler interface, no need to have an
existing remote with the same url and some other name. Although that
will still work of course.

This does rely on tryGitConfigRead working when given a Git.Repo that is
not a remote. Luckily, it works fine that way.

Also, tryGitConfigRead will auto-init a local repo that has a git-annex
branch. I did not enable auto-init of ssh repos though.

The uuid discovery actually happens twice; initremote discovers it,
and uses it to store the special remote config, but does not set it in the
git remote it creates. So the next run of git-annex does uuid discovery
again, and caches it that time. This could be improved for a tiny
speedup, but I didn't want to complicate things for that in this
commit.

Sponsored-by: Dartmouth College's DANDI project
2022-06-09 13:16:50 -04:00
Joey Hess
2f509e529e
bug report 2022-06-09 13:16:39 -04:00
mih
2d4126e742 2022-06-09 11:43:47 +00:00
jkniiv
4d3178b8ea Added a comment 2022-06-09 02:32:19 +00:00
Joey Hess
5b7a5eedb6
analysis 2022-06-08 15:44:28 -04:00
Joey Hess
676d46032a
comment 2022-06-08 12:54:28 -04:00
yarikoptic
7ecb4a34cc initial whining about type=git initremote 2022-06-08 15:42:58 +00:00
yarikoptic
bbf7459fe1 initial report on addurls issue 2022-06-08 14:05:56 +00:00
Atemu
9cf6feb46d Added a comment 2022-06-07 12:07:30 +00:00
yarikoptic
e796080f32 Added a comment 2022-06-06 17:22:41 +00:00
Joey Hess
21cf33a881
comment 2022-06-06 12:37:40 -04:00
Joey Hess
a57ad1e226
comment 2022-06-06 12:19:28 -04:00
Joey Hess
331c97df88
fix MVar deadlock when sqlite commit fails
The database queue was left empty, which caused subsequent calls to
flushDbQueue to deadlock.

Sponsored-by: Dartmouth College's Datalad project
2022-06-06 12:16:55 -04:00
Joey Hess
7851d8fb42
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-06 11:55:02 -04:00
yarikoptic
79446f47c5 Added a comment 2022-06-06 14:50:16 +00:00
yarikoptic
89034adc44 Added a comment 2022-06-06 14:00:05 +00:00
aurelia@b44312a63326710de6cea9c43290e5debbd55607
4150433ef4 Added a comment 2022-06-06 12:38:26 +00:00
Joey Hess
659572ea17
update 2022-06-05 10:37:32 -04:00
Atemu
4bf7962259 Added a comment 2022-06-05 12:55:04 +00:00
Joey Hess
09edb07ac5
add debugLocks around database operations
to track down a blocked indefinitely on MVar that seems to occur after
sqlite throws ErrorBusy but that I have not been able to reproduce when
I made commits synthetically throw ErrorBusy.

Sponsored-by: Dartmouth College's Datalad project
2022-06-03 14:16:28 -04:00
Joey Hess
d6dfaa8d0f
comment 2022-06-03 14:02:32 -04:00
Joey Hess
b381846fcb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-03 14:01:19 -04:00
Joey Hess
8842488bd8
close 2022-06-03 14:00:48 -04:00
yarikoptic
cbd82f768e Added a comment 2022-06-03 16:42:39 +00:00
war1025@f884a3422ae0f27c6a2eb2335b383c5098f01c92
6d00c11307 2022-06-03 14:20:09 +00:00
yarikoptic
f9a7eb2f49 Added a comment 2022-06-03 01:40:17 +00:00
yarikoptic
4a10d8382b Added a comment: still reports about invalid option but doesn't fail 2022-06-03 01:36:39 +00:00
yarikoptic
5f0df3de7e Added a comment: defending BTRFS 2022-06-02 18:43:02 +00:00
Joey Hess
3aac19a169
ping 2022-06-02 12:24:03 -04:00
Joey Hess
7d0acce3c1
comment 2022-06-02 12:22:07 -04:00
Joey Hess
b382b12837
close as hopefully fixed
did not have a good way to reproduce this, but I had a good theory about
a cause and fix..
2022-06-02 12:07:01 -04:00
Joey Hess
fe2f39abbb
close as already fixed 2022-06-02 11:59:26 -04:00
Joey Hess
9750deafe7
comment 2022-06-02 11:57:24 -04:00
Joey Hess
342de14da9
update content of .git/info/attributes
This got changed but forgot to update it here.
2022-06-02 11:45:49 -04:00
Joey Hess
c59ea5b1ca
info: Added --autoenable option
Use cases include using git-annex init --no-autoenable and then going back
and enabling the special remotes that have autoenable configured. As well
as just querying to remember which ones have it enabled.

It lists all special remotes that have autoenable=yes whether currently
enabled or not. And it can be used with --json.

I pondered making this "git-annex info autoenable", but that seemed wrong
because then if the use has a directory named "autoenable", it's unclear
what they are asking for. (Although "git-annex info remote" may be
similarly unclear.) Making it an option does mean that it can't be provided
via --batch though.

Sponsored-by: Dartmouth College's Datalad project
2022-06-01 14:20:38 -04:00
Joey Hess
0d50c90794
init: Added --no-autoenable option
Someone may disagree with what repositories are set to autoenable and
it's good to have local overrides.

See https://github.com/datalad/datalad/issues/6634

Sponsored-by: Dartmouth College's Datalad project
2022-06-01 13:27:49 -04:00
Joey Hess
cac752d720
comment 2022-06-01 13:16:56 -04:00
yarikoptic
6eda6ef042 Added a comment 2022-06-01 13:49:05 +00:00
oliv5
943e1160fb Added a comment 2022-06-01 11:16:35 +00:00
oliv5
fec94b21f3 removed 2022-06-01 11:13:43 +00:00
oliv5
5cb21022e2 Added a comment 2022-06-01 10:53:22 +00:00
Lukey
f0dcf17989 Added a comment 2022-06-01 05:27:22 +00:00
web+git-annex@349c5d90cbeb85be6151d508cf84e7b83aa2280e
f37259b968 2022-06-01 04:34:53 +00:00
web+git-annex@349c5d90cbeb85be6151d508cf84e7b83aa2280e
4acf605b61 2022-06-01 00:46:53 +00:00
yarikoptic
75fec2433e Added a comment 2022-05-31 19:17:05 +00:00
yarikoptic
ffa1e0246d Added a comment 2022-05-31 19:07:59 +00:00
Joey Hess
b44b1b4288
comment 2022-05-31 13:32:27 -04:00
Joey Hess
6f9f776661
moreinfo 2022-05-31 13:12:08 -04:00
Joey Hess
2cc1412c35
comment 2022-05-31 13:11:52 -04:00
Joey Hess
652e0d9f94
comment 2022-05-31 12:58:44 -04:00
Joey Hess
f5940f4952
response 2022-05-31 12:55:29 -04:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
99e75c40de 2022-05-31 09:39:22 +00:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
3c04b760ea 2022-05-31 09:38:43 +00:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
856e644b4e 2022-05-31 09:32:11 +00:00
7thyearold@339ab97e59cee5c85e14df94a5059f251a143e65
646ce54976 Added a comment 2022-05-30 09:52:11 +00:00
7thyearold@339ab97e59cee5c85e14df94a5059f251a143e65
a596e655da 2022-05-30 09:51:11 +00:00
Ilya_Shlyakhter
0d0121e9b8 added question re: exporttree=yes and versioned S3 remotes 2022-05-29 18:07:36 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
6169366b7a Added a comment: adb sync problem (after some upgrades) 2022-05-29 09:59:45 +00:00
yarikoptic
f69c6a3606 Added a comment: another/different? stall 2022-05-26 14:31:33 +00:00
yarikoptic
94be47ca46 Added a comment: What filesystem is this happening on? 2022-05-25 21:09:38 +00:00
Joey Hess
d7e338f221
add news item for git-annex 10.20220525 2022-05-25 14:01:42 -04:00
Joey Hess
d072d9cec2
followup 2022-05-25 13:43:33 -04:00
Atemu
2df856370a Added a comment 2022-05-25 12:22:58 +00:00
yarikoptic
63b65d25b5 Added a comment 2022-05-24 21:05:03 +00:00
yarikoptic
2ad21be338 Added a comment 2022-05-24 20:35:58 +00:00
jkniiv
9109e154c9 Added a comment 2022-05-24 02:46:17 +00:00
jkniiv
fd03ce3984 Added a comment 2022-05-23 19:41:27 +00:00
Joey Hess
85f9193167
fix git-annex test -p
test: When limiting tests to run with -p, work around tasty limitation by
automatically including dependent tests.

This fixes a reversion because it didn't used to use dependencies and
forced tasty to run the init tests first. That changed when parallelizing
the test suite.

It will sometimes do a little more work than strictly required,
because it adds init tests deps when limited to eg quickcheck tests,
which don't depend on them. But this only adds a few seconds work.

Sponsored-by: Dartmouth College's Datalad project
2022-05-23 14:24:54 -04:00
Joey Hess
478ed28f98
revert windows-specific locking changes that broke tests
This reverts windows-specific parts of 5a98f2d509
There were no code paths in common between windows and unix, so this
will return Windows to the old behavior.

The problem that the commit talks about has to do with multiple different
locations where git-annex can store annex object files, but that is not
too relevant to Windows anyway, because on windows the filesystem is always
treated as criplled and/or symlinks are not supported, so it will only
use one object location. It would need to be using a repo populated
in another OS to have the other object location in use probably.
Then a drop and get could possibly lead to a dangling lock file.

And, I was not able to actually reproduce that situation happening
before making that commit, even when I forced a race. So making these
changes on windows was just begging trouble..

I suspect that the change that caused the reversion is in
Annex/Content/Presence.hs. It checks if the content file exists,
and then called modifyContentDirWhenExists, which seems like it would
not fail, but if something deleted the content file at that point,
that call would fail. Which would result in an exception being thrown,
which should not normally happen from a call to inAnnexSafe. That was a
windows-specific change; the unix side did not have an equivilant
change.

Sponsored-by: Dartmouth College's Datalad project
2022-05-23 13:21:26 -04:00
jkniiv
99964a6ca8 some of the test log output I should've added; formatting 2022-05-23 13:58:43 +00:00
jkniiv
d15ac38fc1 bug: commit 5a98f2d50 causes two failures to appear in repo tests on Windows 2022-05-22 07:52:54 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
a42e76d89f Added a comment 2022-05-20 18:09:45 +00:00
Joey Hess
7f28f41c37
response 2022-05-20 13:17:44 -04:00
Joey Hess
70f25ad757
comment 2022-05-18 17:01:33 -04:00
Joey Hess
bf2e38c3d7
Merge branch 'master' of ssh://git-annex.branchable.com 2022-05-18 16:52:33 -04:00
Joey Hess
296134f15d
comment 2022-05-18 16:49:38 -04:00
Joey Hess
ec42433e55
datalad metadata 2022-05-18 16:49:27 -04:00
Joey Hess
1cacfd1b19
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
2022-05-18 16:45:20 -04:00
Joey Hess
ebb76f0486
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
2022-05-18 16:05:11 -04:00
yarikoptic
4e179deb65 get got stuck 2022-05-18 19:48:07 +00:00
Joey Hess
4ba7a97d8c
add comment I made earlier 2022-05-18 14:57:27 -04:00
Joey Hess
6bf09a38ed
comment and open a todo 2022-05-18 14:57:14 -04:00
yarikoptic
969d499a50 initial report on stuck conflict resolution (adjusted branch) 2022-05-17 12:40:56 +00:00
MatusGoljer1
4912edda9a Added a comment 2022-05-16 23:37:55 +00:00
Joey Hess
12119d8bfe
Merge branch 'master' of ssh://git-annex.branchable.com 2022-05-16 15:38:22 -04:00
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
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
514f50e5be Added a comment: How to disable lockdown in bare repos? 2022-05-15 21:30:50 +00:00
wzhd
6b4a0fa74c Added a comment: Using fuse 2022-05-14 03:10:18 +00:00
yarikoptic
5079891302 Added a comment: shell helper 2022-05-13 16:51:23 +00:00
yarikoptic
e37dddbacb Added a comment 2022-05-13 15:12:29 +00: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
Albert
b25bfecb1b Added a comment: Duplicate Files 2022-04-24 14:13:47 +00:00
gnezdo
1037b737d0 Added a comment: Fixed 2022-04-23 21:42:42 +00:00
Albert
19bcafd789 Added a comment: Clarification Example 2022-04-23 12:10:36 +00:00
Albert
f835fcabb1 Clarification about git assistant invariants 2022-04-23 11:38:31 +00:00
tanakaoji@cd5ba49c38f0a3b42b7e7bf56c4379d9024cd840
62ffc1e975 Added a comment 2022-04-22 20:39:30 +00:00
Ilya_Shlyakhter
2efcd191c4 Added a comment: transitive transfers 2022-04-22 17:01:13 +00:00
Ilya_Shlyakhter
97a57a4c2e Added a comment: transitive transfers 2022-04-22 16:59:59 +00:00
tanakaoji@cd5ba49c38f0a3b42b7e7bf56c4379d9024cd840
c33b6d853e 2022-04-22 03:10:19 +00:00
lh
fd849e2618 Added a comment 2022-04-21 01:18:21 +00:00
datamanager
d258eec2eb Added a comment: I had to come out of the rabbit hole 2022-04-20 15:28:14 +00:00
0nelight
57d53dbe5d 2022-04-20 14:50:18 +00:00
datamanager
e854814287 Added a comment: re: See git-annex-export. 2022-04-20 14:48:00 +00:00
Ilya_Shlyakhter
baaf5eb249 Added a comment: re: Making git-annex preserve file name, and directory 2022-04-20 04:03:46 +00:00
datamanager
ea702e85c1 I want to bend git-annex to my will, but I don't know how 2022-04-20 01:16:38 +00:00
lsmor
e20263c0da 2022-04-19 18:43:25 +00:00
lh
67200bc948 Added a comment 2022-04-19 18:40:57 +00:00
lh
8f11d1a43b Added a comment 2022-04-19 18:15:53 +00:00
Ilya_Shlyakhter
1072d44dd2 added bug report for git-annex-import importing too much 2022-04-19 18:11:55 +00:00
Joey Hess
8bb86ee97e
comment 2022-04-19 14:04:14 -04:00
Joey Hess
17b20a2450
Fix test failure on NFS when cleaning up gpg temp directory
Using removePathForcibly avoids concurrent removal problems.

The i386ancient build still uses an old version of ghc and directory that
do not include removePathForcibly though.

Sponsored-by: Dartmouth College's Datalad project
2022-04-19 13:33:33 -04:00
Joey Hess
fa89a52d36
remove moreinfo 2022-04-19 13:17:11 -04:00
Joey Hess
c69a3bd842
comment 2022-04-19 12:40:17 -04:00
Joey Hess
b67d55099d
comment 2022-04-19 12:21:47 -04:00
Joey Hess
fa5616a5ea
remove 2022-04-19 12:14:27 -04:00
Joey Hess
e57a3efd1b
comment 2022-04-19 12:14:12 -04:00
Joey Hess
9a78444d36
comment 2022-04-19 12:08:12 -04:00
Joey Hess
fd65de0eb9
multicast: Support uftp 5.0 by switching from aes256-cbc to aes256-gcm
aes256-gcm is supported by both 4.x and 5.x, while 5.x dropped aes256-cbc.

Sponsored-by: Graham Spencer on Patreon
2022-04-19 12:02:10 -04:00
Joey Hess
3371fedbba
comment 2022-04-19 11:56:32 -04:00
yarikoptic
d93a441326 Added a comment 2022-04-19 14:40:18 +00:00
yarikoptic
238baf5d64 report on cryto test FAIL on NFS 2022-04-19 14:37:43 +00:00
lh
76a739d243 2022-04-19 01:50:23 +00:00
Ilya_Shlyakhter
1c069dafb0 Added a comment: new backends 2022-04-17 19:02:10 +00:00
david@62eef13b7e480dc51c94ea50b67ebc0181410cd1
7fcd0dd782 Describe compatibility bug with uftp 5.0 2022-04-16 22:29:25 +00:00
lh
bd9d172ea6 Added a comment: The man page export seems to be broken 2022-04-15 12:26:20 +00:00
lell
e9b74076a3 Added a comment 2022-04-15 12:05:19 +00:00
Abdulbasi
573e89221f Added a comment: Myself 2022-04-14 00:56:59 +00:00
lh
252dc454e2 Added a comment: recording state in git 2022-04-13 23:56:09 +00:00
lh
a15cd57446 Added a comment: Discrepancy between git add and git annex add when annex.largefiles is set 2022-04-13 23:15:25 +00:00
lh
e1841c9896 Added a comment: Improving on the WORM situation 2022-04-13 22:19:40 +00:00
Joey Hess
021fafc086
todo 2022-04-13 11:08:33 -04:00
Joey Hess
8f0c7eac09
todo 2022-04-12 23:26:17 -04:00
Ilya_Shlyakhter
6bd23e1725 Added a comment: maxextensionlength 2022-04-08 19:13:38 +00:00
Joey Hess
adaac8bb5f
add easy-git-annex to related_software 2022-04-06 13:13:35 -04:00
Joey Hess
6db9ef77f7
Merge branch 'master' of ssh://git-annex.branchable.com 2022-04-06 13:13:08 -04:00
jstritch
58c9f75d43 2022-04-06 14:03:00 +00:00
Joey Hess
469801c886
how to implement this? 2022-04-05 14:52:09 -04:00
Joey Hess
b1ba03216a
add a link to git-annex-dead 2022-04-05 14:47:27 -04:00
Joey Hess
9dc9086dad
comment 2022-04-05 13:44:07 -04:00
Joey Hess
6c0dc63d04
Merge branch 'master' of ssh://git-annex.branchable.com 2022-04-05 13:42:41 -04:00
Joey Hess
c19df69141
update 2022-04-05 09:35:47 -04:00
yarikoptic
d52b7dd79e Added a comment 2022-04-04 20:01:14 +00:00
Joey Hess
77de20c925
todo triage
Tagging todos that seem to have a plan ready as confirmed.

Also closed some old ones for various reasons. Including several that
turn out to be addressed by newer features.

Also opened a new todo about git-annex-config needing a criteria to add
new configs to it.
2022-04-04 15:22:49 -04:00
Joey Hess
f51007d716
comment 2022-04-04 14:27:48 -04:00
Joey Hess
91b2285010
comment 2022-04-04 12:18:05 -04:00
Joey Hess
a50a1e8606
commnet 2022-04-04 12:05:21 -04:00
amerlyq
eb4e20c80b Added a comment: TL;DR 2022-04-02 14:13:48 +00:00
amerlyq
93e056b8bc Added a comment: Inode rotation on android /sdcard 2022-04-02 14:00:45 +00:00
Atemu
53d0f4b0f0 2022-04-01 10:30:48 +00:00
Atemu
f7ad3990c8 Added a comment 2022-04-01 07:53:16 +00:00
Joey Hess
ff6b36c706
assistant prompt pushing of manual commits to remotes
assistant: When annex.autocommit is set, notice commits that the user makes
manually, and push them out to remotes promptly.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-03-31 13:02:16 -04:00
Atemu
9c6dc9db0c Added a comment 2022-03-31 10:39:28 +00:00
Joey Hess
513a017107
comment 2022-03-30 12:56:57 -04:00
Joey Hess
eec5a46cc9
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-30 12:54:25 -04:00
Joey Hess
04f13c7d3d
more thoughts
This idea seems fleshed out enough to implement now.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-03-30 12:53:42 -04:00
Joey Hess
afced1a8ba
idea 2022-03-30 12:28:25 -04:00
Atemu
82e40b9d34 Added a comment 2022-03-30 13:10:48 +00:00
https://openid.stackexchange.com/user/2098ac7f-d1c7-413d-8a8a-b7d0d7704ea3
206a68eeb0 Added a comment: No bueno 2022-03-29 22:29:21 +00:00
Joey Hess
0605cc1bfb
idea 2022-03-29 18:09:41 -04:00
Joey Hess
3ab1619804
improve documentation of overridding git-annex config with gitconfig 2022-03-29 15:03:57 -04:00
Joey Hess
bc6d64ec8a
comment 2022-03-29 14:53:07 -04:00
Joey Hess
b7c2a8a443
retitle 2022-03-29 14:03:11 -04:00
Joey Hess
dd7ee7da72
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-28 15:23:00 -04:00
Joey Hess
d266a41f8d
prevent numcopies or mincopies being configured to 0
Ignore annex.numcopies set to 0 in gitattributes or git config, or by
git-annex numcopies or by --numcopies, since that configuration would make
git-annex easily lose data. Same for mincopies.

This is a continuation of the work to make data only be able to be lost
when --force is used. It earlier led to the --trust option being disabled,
and similar reasoning applies here.

Most numcopies configs had docs that strongly discouraged setting it to 0
anyway. And I can't imagine a use case for setting to 0. Not that there
might not be one, but it's just so far from the intended use case of
git-annex, of managing and storing your data, that it does not seem like
it makes sense to cater to such a hypothetical use case, where any
git-annex drop can lose your data at any time.

Using a smart constructor makes sure every place avoids 0. Note that this
does mean that NumCopies is for the configured desired values, and not the
actual existing number of copies, which of course can be 0. The name
configuredNumCopies is used to make that clear.

Sponsored-by: Brock Spratlen on Patreon
2022-03-28 15:20:34 -04:00
dev@c1c358f0d3c8563701193b66791eb1bc57a25ac9
f9b357ff37 2022-03-27 14:02:53 +00:00
dev@c1c358f0d3c8563701193b66791eb1bc57a25ac9
7b6b7e9072 2022-03-27 14:02:20 +00:00
Joey Hess
5a723f4644
add news item for git-annex 10.20220322 2022-03-22 13:56:54 -04:00
Joey Hess
150d73c268
fix quickcheck test on windows
prop_relPathDirToFileAbs_basics (TestableFilePath ":/") failed on
windows. The colon was filtered out after trying to make
the path relative, which only removed leading path separators.
So, ":/" changed to "/" which is not relative. Filtering out the colon
before hand avoids this problem.

Sponsored-by: Luke Shumaker on Patreon
2022-03-22 13:53:55 -04:00
jkniiv
e37f0f227b prop_relPathDirToFileAbs_basics has another hickup again in QuickChecks 2022-03-22 17:15:15 +00:00
Joey Hess
e80a578335
comment 2022-03-21 16:00:24 -04:00
Joey Hess
71d5516125
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-21 15:58:50 -04:00
Joey Hess
6079b0c72c
fix reversion
add: Avoid unncessarily converting a newly unlocked file to be stored
in git when it is not modified, even when annex.largefiles does not
match it.

This fixes a reversion in version 10.20220222, where git-annex unlock
followed by git-annex add, followed by git commit file could result in
git thinking the file was modified after the commit.

I do have half a mind to remove the withUnmodifiedUnlockedPointers part
of git-annex add. It seems weird, despite that old bug report arguing
a case of consistency that it ought to behave that way. When git-annex
add surpises me, it seems likely it's wrong.. But for now, this is the
smallest possible fix.

Sponsored-by: Dartmouth College's Datalad project
2022-03-21 15:54:04 -04:00
bz4
1440599676 Added a comment 2022-03-21 19:18:53 +00:00
michael@ff03af62c7fd492c75066bda2fbf02370f5431f4
9926429400 Added a comment 2022-03-21 19:10:35 +00:00
Joey Hess
d7cd8491b0
comment 2022-03-21 13:29:56 -04:00
Joey Hess
37be2c500e
diagnose user error 2022-03-21 13:24:04 -04:00
Joey Hess
c9797318d1
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-21 13:12:40 -04:00
Joey Hess
3e2f1f73cb
add back inode to directory special remote ContentIdentifier
Directory special remotes with importtree=yes have changed to once more
take inodes into account. This will cause extra work when importing from a
directory on a FAT filesystem that changes inodes on every mount.

To avoid that extra work, set ignoreinodes=yes when initializing a new
directory special remote, or change the configuration of your existing
remote: git-annex enableremote foo ignoreinodes=yes

This will mean a one-time re-import of all contents from every directory
special remote due to the changed setting.

73df633a62 thought
it was too unlikely that there would be modifications that the inode number
was needed to notice. That was probably right; it's very unlikely that a
file will get modified and end up with the same size and mtime as before.
But, what was not considered is that a program like NextCloud might write
two files with different content so closely together that they share the
mtime. The inode is necessary to detect that situation.

Sponsored-by: Max Thoursie on Patreon
2022-03-21 13:12:02 -04:00
Lukey
78ff8eb2c3 removed 2022-03-21 17:00:33 +00:00
bz4
d219626794 2022-03-21 12:43:08 +00:00
Jamie
e8b76f1706 Added a comment: Site Migration Issue Faced 2022-03-21 10:34:07 +00:00
michael@ff03af62c7fd492c75066bda2fbf02370f5431f4
b9a2e98f90 Created 2022-03-20 15:30:31 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
3d99eb5d52 Added a comment 2022-03-18 08:37:23 +00:00
rafd
4813bd9ad6 Added a comment 2022-03-17 16:09:38 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
7104a7b43e 2022-03-17 14:13:58 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
75d9368cb2 2022-03-17 14:13:16 +00:00
yarikoptic
a03aee0033 Added a comment 2022-03-16 20:32:57 +00:00
Joey Hess
693942a07a
comment 2022-03-16 15:18:24 -04:00
Joey Hess
ec1c389638
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-16 15:07:38 -04:00
Joey Hess
025c18128b
test: Added --jobs option
Default to the number of CPU cores, which seems about optimal
on my laptop. Using one more saves me 2 seconds actually.

Better packing of workers improves speed significantly.

In 2 tests runs, I saw segfaulting workers despite my attempt
to work around that issue. So detect when a worker does, and re-run it.

Removed installSignalHandlers again, because I was seeing an
error "lost signal due to full pipe", which I guess was somehow caused
by using it.

Sponsored-by: Dartmouth College's Datalad project
2022-03-16 14:42:07 -04:00
Gus
16ad2cd008 Added a comment: I have seen this 2022-03-16 16:10:52 +00:00
yarikoptic
aedd27d477 Added a comment: FWIW a detail 2022-03-16 14:38:45 +00:00
bpoldrack
068f438a9b 2022-03-16 10:22:34 +00:00
bpoldrack
a9ccec5e59 2022-03-16 10:04:39 +00:00
rafd
3ed3fbac97 2022-03-15 16:57:04 +00:00
Joey Hess
8d14ce8f38
parallelize git-annex test for 25% speedup
Note the very weird workaround for what appears to be some kind of tasty
bug, which causes a segfault. This is not new to this modification,
I was seeing a segfault before at least intermittently when limiting
git-annex test -p to only run a single test group.

Also, the path from one test repo to a remote test repo used to be
"../../foo", which somehow broke when moving the test repos from .t to
.t/N. I don't actually quite understand how it used to work, but
"../foo" seems correct and works in the new situation.

Test output from the concurrent processes is not yet serialized.
Should be easy to do using concurrent-output.

More test groups will probably make the speedup larger. It would
probably be best to have a larger number of test groups and divvy them
amoung subprocesses numbered based on the number of CPU cores, perhaps
times 2 or 3.

Sponsored-by: Dartmouth College's Datalad project
2022-03-14 15:24:37 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
35e91ecb55 Added a comment 2022-03-11 18:46:40 +00:00
ErrGe
7580d787cc Added a comment 2022-03-11 02:26:56 +00:00
ErrGe
4d593d4461 Added a comment 2022-03-11 02:23:20 +00:00
Joey Hess
afeb9b728e
comment 2022-03-10 16:10:46 -04:00
Joey Hess
feaf16141e
comment 2022-03-10 13:22:32 -04:00
Joey Hess
6f468a8bfc
comment 2022-03-10 13:10:39 -04:00
Atemu
0e39304905 Added a comment 2022-03-09 12:07:45 +00:00
Atemu
d476fc5a75 Added a comment 2022-03-09 11:40:28 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
7365aed80a Added a comment 2022-03-09 06:33:52 +00:00
ErrGe
f706a68c43 2022-03-09 01:08:23 +00:00
Joey Hess
c7f7be0236
comment 2022-03-08 15:50:31 -04:00
Joey Hess
82f1d82286
comment 2022-03-08 15:46:29 -04:00
Joey Hess
4cab0c1b05
comment 2022-03-08 14:51:01 -04:00
Joey Hess
14add55c2b
reopen 2022-03-08 14:08:27 -04:00
Joey Hess
64e9fa3267
comment 2022-03-08 14:07:24 -04:00
Joey Hess
7424ce54f4
comment 2022-03-08 13:54:07 -04:00
Joey Hess
2c5bf952cf
comment 2022-03-08 13:47:06 -04:00
Joey Hess
88d5a61fb7
comment 2022-03-08 13:08:16 -04:00
Atemu
6253bd391c Added a comment 2022-03-08 13:24:21 +00:00
Atemu
c7e3414d8d Added a comment 2022-03-08 13:21:03 +00:00
Atemu
327d06eb9d Added a comment 2022-03-08 11:56:42 +00:00
anamyk
a5086345bc Added a comment 2022-03-08 08:11:17 +00:00
anamyk
d4aa2dfb94 Added a comment 2022-03-08 07:49:38 +00:00
yarikoptic
875a04e1e2 Added a comment: still slow 2022-03-08 00:28:00 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
041cea21ba Added a comment 2022-03-07 19:59:18 +00:00
Joey Hess
cd473f071c
comment 2022-03-07 15:30:16 -04:00
Joey Hess
434812bcfb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-07 15:25:57 -04:00
Joey Hess
1cbbd23109
comment 2022-03-07 15:25:32 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
85eb26e746 Added a comment 2022-03-07 19:22:54 +00:00