Commit graph

11532 commits

Author SHA1 Message Date
Joey Hess
02ef3d6a64
fix build with assistant disabled and webapp enabled
The webapp modules cannot build with the assistant disabled, so make the
webapp be under the assistant build flag.

Sponsored-by: Jarkko Kniivilä on Patreon
2022-06-29 14:19:18 -04:00
Joey Hess
46faf74d90
close 2022-06-29 13:45:33 -04:00
Joey Hess
7f1d556d13
close 2022-06-29 13:38:46 -04:00
Joey Hess
b223988e22
remove --backend from global options
--backend is no longer a global option, and is only accepted by commands
that actually need it.

Three commands that used to support backend but don't any longer are
watch, webapp, and assistant. It would be possible to make them support it,
but I doubt anyone used the option with these. And in the case of webapp
and assistant, the option was handled inconsistently, only taking affect
when the command is run with an existing git-annex repo, not when it
creates a new one.

Also, renamed GlobalOption etc to AnnexOption. Because there are many
options of this type that are not actually global (any more) and get
added to commands that need them.

Sponsored-by: Kevin Mueller on Patreon
2022-06-29 13:33:25 -04:00
Joey Hess
3eecf2033a
update 2022-06-29 12:51:01 -04:00
Joey Hess
2a009bf14e
close 2022-06-29 12:43:30 -04:00
Joey Hess
21c50c0f72
fix parallel copy from/to a local git repo
Improve handling of parallelization with -J when copying content from/to a
git remote that is a local path.

Sponsored-by: Nicholas Golder-Manning on Patreon
2022-06-29 12:40:12 -04:00
Joey Hess
54baa480b6
close mistaken bug report 2022-06-29 12:26:36 -04:00
Joey Hess
ae6c54cc0e
wontfix 2022-06-29 12:24:25 -04:00
Joey Hess
58e7869e35
retitle 2022-06-29 12:19:08 -04:00
Joey Hess
e1aa96ac21
fix my comment format 2022-06-29 12:18:28 -04:00
Joey Hess
d7771a6cdc
comment 2022-06-29 12:17:42 -04:00
Joey Hess
d78cb5e5cc
comment and retitle 2022-06-28 12:35:08 -04:00
Joey Hess
a9c531b867
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-28 12:28:57 -04:00
Joey Hess
a0a0ec51dd
comment 2022-06-28 12:27:48 -04:00
contr-error
14c113fe0e add bug 2022-06-28 10:03:57 +00:00
Soxofaan
6a58fd3626 Added a comment: Same problem 2022-06-26 21:53:39 +00:00
Joey Hess
e5c418b99c
convert bug to todo 2022-06-22 14:23:46 -04:00
Joey Hess
af1a45c69c
use replaceWorkTreeFile when fixing an annex symlink
This does not change any behavior, but it's useful for all worktree
changes to be made using this.

Sponsored-by: Graham Spencer on Patreon
2022-06-22 13:41:41 -04:00
Joey Hess
cfc65ee9fc
followup 2022-06-22 13:19:35 -04:00
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
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
68810ddaf9
comment 2022-06-13 13:38:36 -04: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
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
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
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
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
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
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
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
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
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
yarikoptic
4e179deb65 get got stuck 2022-05-18 19:48:07 +00: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
Ilya_Shlyakhter
d39b92c71c Added a comment: interaction of out-of-tree symlinks with exporttree 2022-05-09 19:21:15 +00: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
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
144e5b1cb0
comment 2022-05-05 12:07:04 -04:00
Joey Hess
925648c297
comment 2022-05-05 10:57:17 -04:00
mnaoumov
7f125b3559 2022-05-05 04:05:45 +00: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
b760d31be1
comment 2022-05-02 14:54:24 -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
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
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
gnezdo
c1885e1457 2022-04-25 16:29:11 +00:00
gnezdo
1037b737d0 Added a comment: Fixed 2022-04-23 21:42:42 +00:00
0nelight
57d53dbe5d 2022-04-20 14:50:18 +00:00
lsmor
e20263c0da 2022-04-19 18:43:25 +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
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
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
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
david@62eef13b7e480dc51c94ea50b67ebc0181410cd1
7fcd0dd782 Describe compatibility bug with uftp 5.0 2022-04-16 22:29:25 +00:00
lell
e9b74076a3 Added a comment 2022-04-15 12:05:19 +00: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
Joey Hess
b7c2a8a443
retitle 2022-03-29 14:03:11 -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
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
bz4
d219626794 2022-03-21 12:43:08 +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
tag@e36c1c00f7653e4441059bbc5b3405e961379108
7104a7b43e 2022-03-17 14:13:58 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
75d9368cb2 2022-03-17 14:13:16 +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
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
35e91ecb55 Added a comment 2022-03-11 18:46:40 +00:00
Joey Hess
6f468a8bfc
comment 2022-03-10 13:10:39 -04: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
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
88d5a61fb7
comment 2022-03-08 13:08:16 -04:00
Atemu
6253bd391c Added a comment 2022-03-08 13:24:21 +00:00
Atemu
327d06eb9d Added a comment 2022-03-08 11:56:42 +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
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
85eb26e746 Added a comment 2022-03-07 19:22:54 +00:00
Joey Hess
06c2f625a9
comment 2022-03-07 15:18:30 -04:00
Joey Hess
5804ea67a6
comment; close 2022-03-07 12:03:11 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
ce523f7561 Added a comment 2022-03-06 14:37:42 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
6050b839f4 2022-03-06 06:46:01 +00:00
Atemu
e879487dca Added a comment 2022-03-04 14:44:29 +00:00
Atemu
c0164c4750 Added a comment 2022-03-04 14:16:54 +00:00
Atemu
ffc17b0b49 rename bugs/git-annex_is_slow_at_reading_files.mdwn to bugs/git-annex_is_slow_at_reading_file_content.mdwn 2022-03-03 08:40:47 +00:00
Atemu
2998c33fcb 2022-03-02 13:18:42 +00:00
Atemu
6d768a8268 2022-03-02 13:16:36 +00:00
Atemu
a7c5913d42 2022-03-02 13:15:26 +00:00
Joey Hess
20875bd5e8
open related todo 2022-02-28 13:26:43 -04:00
Joey Hess
ce91f10132
fix annex.skipunknown false error propagation
Propagate nonzero exit status from git ls-files when a specified file does
not exist, or a specified directory does not contain any files checked into
git.

The recent completion of the annex.skipunknown transition exposed this
bug, that has unfortunately been lurking all along.

It is also possible that git ls-files errors out for some other reason
-- perhaps a permission problem -- and this will also fix error propagation
in such situations.

Sponsored-by: Dartmouth College's Datalad project
2022-02-28 12:54:56 -04:00
Joey Hess
a6857ddb79
comment 2022-02-28 12:15:08 -04:00
Joey Hess
f7575e87a0
news 2022-02-28 12:10:50 -04:00
Joey Hess
fb03e38c1a
comment 2022-02-28 12:10:19 -04:00
yarikoptic
5d7b0b6291 initial report on changed (and non-conformant) behavior of annex find 2022-02-25 20:53:25 +00:00
Joey Hess
51c528980c
avoid accidentally thawing git-annex symlink
It did nothing, since at this point the link is dangling. But when there
is a thaw hook, it would probably not be happy to be asked to run on a
symlink, or might do something unexpected.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 14:21:23 -04:00
Joey Hess
f4b046252a
Run annex.thawcontent-command before deleting an object file
In case annex.freezecontent-command did something that would prevent
deletion.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 14:11:02 -04:00
Joey Hess
28bc5ce232
ignore write bits being set when there is a freeze hook
When annex.freezecontent-command is set, and the filesystem does not
support removing write bits, avoid treating it as a crippled filesystem.

The hook may be enough to prevent writing on its own, and some filesystems
ignore attempts to remove write bits.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 13:28:31 -04:00
Joey Hess
4144f73c18
comment 2022-02-24 13:10:40 -04:00
Joey Hess
972f41efb7
comment 2022-02-24 13:05:25 -04:00
yarikoptic
dce6877758 Added a comment: for some reason drop freezes thawn key file before thawing key dir 2022-02-24 03:21:54 +00:00
yarikoptic
ee9cd6309a Added a comment: approach which somewhat works 2022-02-24 02:20:15 +00:00
yarikoptic
1daceb1c16 adjusted with edit 1 observation 2022-02-23 21:08:16 +00:00
yarikoptic
f2331feed1 initial experimentation/complain about freeze/thawing files 2022-02-23 20:53:38 +00:00
Joey Hess
64ccb4734e
smudge: Warn when encountering a pointer file that has other content appended to it
It will then proceed to add the file the same as if it were any other
file containing possibly annexable content. Usually the file is one that
was annexed before, so the new, probably corrupt content will also be added
to the annex. If the file was not annexed before, the content will be added
to git.

It's not possible for the smudge filter to throw an error here, because
git then just adds the file to git anyway.

Sponsored-by: Dartmouth College's Datalad project
2022-02-23 15:17:08 -04:00
Joey Hess
67245ae00f
fully specify the pointer file format
This format is designed to detect accidental appends, while having some
room for future expansion.

Detect when an unlocked file whose content is not present has gotten some
other content appended to it, and avoid treating it as a pointer file, so
that appended content will not be checked into git, but will be annexed
like any other file.

Dropped the max size of a pointer file down to 32kb, it was around 80 kb,
but without any good reason and certianly there are no valid pointer files
anywhere that are larger than 8kb, because it's just been specified what it
means for a pointer file with additional data even looks like.

I assume 32kb will be good enough for anyone. ;-) Really though, it needs
to be some smallish number, because that much of a file in git gets read
into memory when eg, catting pointer files. And since we have no use cases
for the extra lines of a pointer file yet, except possibly to add
some human-visible explanation that it is a git-annex pointer file, 32k
seems as reasonable an arbitrary number as anything. Increasing it would be
possible, eg to 64k, as long as users of such jumbo pointer files didn't
mind upgrading all their git-annex installations to one that supports the
new larger size.

Sponsored-by: Dartmouth College's Datalad project
2022-02-23 14:20:31 -04:00
Joey Hess
866cad6582
comment 2022-02-22 12:04:10 -04:00
yarikoptic
c59a7b1275 Added a comment 2022-02-21 21:48:59 +00:00
yarikoptic
8ee2661b85 Added a comment 2022-02-21 21:46:15 +00:00
Joey Hess
ba907b6682
comment and close, not a bug really 2022-02-21 15:39:38 -04:00
Joey Hess
80f244d7b6
comment 2022-02-21 15:13:51 -04:00
Joey Hess
3187639735
retitle 2022-02-21 12:13:59 -04:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
7f167d4be1 Added a comment 2022-02-19 01:15:24 +00:00
yarikoptic
12fc03a9b2 initial thinking for a possible safe guard 2022-02-18 20:02:40 +00:00
yarikoptic
4643788916 bug/question on the semantic of find --unlocked 2022-02-18 19:17:37 +00:00
Joey Hess
56d180864f
comment 2022-02-18 12:35:49 -04:00
Joey Hess
544eaff1e1
comment 2022-02-18 12:10:55 -04:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
49b0a3a1bd Added a comment: I have the same problem 2022-02-16 08:03:05 +00:00
Joey Hess
2ac8734454
comment 2022-02-10 15:44:04 -04:00
yarikoptic
f87de5ff7f initial report on a failing test 2022-02-10 15:55:56 +00:00
Jakube
90af8c5e99 2022-02-08 20:50:56 +00:00
Jakube
f06265dc8e 2022-02-08 20:46:18 +00:00
Joey Hess
0ae8f45ee5
close wontfix 2022-02-08 13:03:58 -04:00
Joey Hess
6992250d63
fix obviously wrong attoparsec parser
takeByteString can only be used at the end of a parser, not before other
input. This was a dumb enough mistake that I audited the rest of the
code base for similar mistakes. Pity that attoparsec cannot avoid it at
the type level.

Fixes git-annex forget propagation between repositories. (reversion
introduced in version 7.20190122)

Sponsored-by: Brock Spratlen on Patreon
2022-02-07 14:15:17 -04:00
Joey Hess
65ca0b49d6
bug report followup 2022-02-07 13:12:14 -04:00
Joey Hess
697114c234
comment and bug report 2022-02-07 12:27:50 -04:00
Joey Hess
d9b55be624
comment 2022-02-07 12:17:18 -04:00
sh@243262e07058e7517194e54030ce421ae984ea08
74c56e2663 removed 2022-02-04 08:09:20 +00:00
sh@243262e07058e7517194e54030ce421ae984ea08
d6ae059a15 Added a comment 2022-02-04 07:58:55 +00:00
sh@243262e07058e7517194e54030ce421ae984ea08
324992d9cb Added a comment 2022-02-04 07:58:20 +00:00
Joey Hess
46d5098ff4
Pass --no-textconv when running git diff internally
Seems that --no-ext-diff and -c diff.external= are not enough to disable
external diff command when gitattributes textconv specifies it.

I'm pretty sure that --no-ext-diff and -c diff.external= are not both
needed, but not 100%. Something about -G may need the latter to fully
disable diffs in some cases. So kept that part as it was.

Sponsored-by: Dartmouth College's Datalad project
2022-02-01 13:43:18 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
1a9966a14c 2022-02-01 12:27:48 +00:00
Joey Hess
a32ff6cef0
adb: Avoid find failing with "Argument list too long"
The "+" argument only runs the command once, so is not safe to use. Using
";" instead would have been the simplest fix, but also the slowest.

Since my phone has an xargs that supports -0, I piped find to xargs
instead. Unsure how portable this will be, perhaps some android's don't
have xargs -0 or find -printf to send null terminated output.

The business with pipefail is necessary to make a failure of find cause the
import to fail. Probably this works on all androids, but if not, it will
probably just result in a failure of find being ignored. It would be
possible to make ignorefinderror just disable setting pipefail, but then
if some android has a shell that has pipefail enabled by default, ignorefinderror
would not work, so I kept the || true approach for that.

Sponsored-by: Max Thoursie on Patreon
2022-01-31 13:19:09 -04:00
Joey Hess
8f3d48c5cf
comment 2022-01-31 12:39:54 -04:00
chewie@a4440559aa1bc84271fa9c8ef754e402afbd7d0d
dd82f676b0 2022-01-30 18:14:47 +00:00
amerlyq
f9558108cf Added a comment 2022-01-29 15:59:31 +00:00
yarikoptic
b019d9ca28 Added a comment: comment regarding "default" version of the repo etc 2022-01-26 18:40:50 +00:00
Joey Hess
0bcb944870
comment 2022-01-26 13:26:55 -04:00
Joey Hess
835c50966a
reject batch options combined with non-batch options
Reject combinations of --batch (or --batch-keys) with options like --all or
--key or with filenames.

Most commands ignored the non-batch items when batch mode was enabled.

For some reason, addurl and dropkey both processed first the specified
non-batch items, followed by entering batch mode. Changed them to also
error out, for consistency.

Sponsored-by: Dartmouth College's Datalad project
2022-01-26 13:00:19 -04:00
Joey Hess
56a12eb84c
comment 2022-01-26 12:03:16 -04:00
yarikoptic
46143ea795 initial whining about --batch-keys and --all 2022-01-26 14:38:35 +00:00
yarikoptic
c3817495fc Added a comment 2022-01-25 18:37:56 +00:00
Joey Hess
d750fcdb02
comment 2022-01-25 14:03:22 -04:00
yarikoptic
73ea006873 Added a comment 2022-01-25 18:00:17 +00:00
Joey Hess
a27776f602
init --version=6 upgrade to 8 not yet 10
autoUpgradeableVersions had latestVersion (10), but it did not make
sense for asking for old version 6 to get version 10, while asking for
version 8 got version 8. So use defaultVersion (8) instead.

Sponsored-by: Dartmouth College's Datalad project
2022-01-25 13:52:42 -04:00
Joey Hess
fa57da0f34
add question 2022-01-25 13:35:00 -04:00
Joey Hess
d9383e0023
comment 2022-01-25 13:20:23 -04:00
Joey Hess
28ec94ee7f
close; out of scope 2022-01-25 12:39:46 -04:00
Joey Hess
29e8636a88
comment 2022-01-24 15:16:14 -04:00
yarikoptic
158cb79533 initial report about autoupgrade to 10 instead of 8 2022-01-24 18:50:14 +00:00
Joey Hess
f7a3c13557
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-21 14:23:19 -04:00
Joey Hess
120ea4b7be
update 2022-01-21 13:16:14 -04:00
Joey Hess
fad11c2250
close 2022-01-21 13:00:28 -04:00