Commit graph

12172 commits

Author SHA1 Message Date
Joey Hess
c834d2025a
queue more changes to keys db
Increasing the size of the queue 10x makes git-annex init 7% faster in a
repository with 86000 annexed files.

The memory use goes up, from 70876 kb to 85376 kb.
2022-11-18 13:29:34 -04:00
Joey Hess
8fcee4ac9d
Sped up the initial scanning for annexed files by 15%
Avoids database querying overhead when the database is newly created.

In the large repository where git-annex init took 24 seconds, this sped it
up to 20.47 seconds, a speedup of around 15%.

Sponsored-by: Dartmouth College's DANDI project
2022-11-18 13:16:57 -04:00
Joey Hess
814bb3a270
profiling and performance 2022-11-17 16:47:51 -04:00
Joey Hess
a91bf72684
Merge branch 'master' of ssh://git-annex.branchable.com 2022-11-09 16:29:16 -04:00
Joey Hess
b2cc63d5bf
export: fix multi-file delete bug
export: Fix a bug that left a file on a special remote when two files with
the same content were both deleted in the exported tree.

Case of the wrong data structure leading to the wrong result.
The DiffMap now contains all the old filenames, and all the new filenames.

Note that, when 2 files with the same content are both renamed,
it only renames the first, but deletes and re-exports the second.
Improving that is possible, but it would need to use a different temporary
filename. Anyway, that is an unusual case, and there are known to be other
unusual cases where export does not rename with maximum efficiency, IIRC.
(Or maybe this is the case that I remember?)

Sponsored-by: Dartmouth College's OpenNeuro project
2022-11-09 16:24:37 -04:00
nell@7201fe78ade251118ef3441f4e509b37cd836503
ca0c62f289 Added a comment 2022-11-09 19:51:20 +00:00
Joey Hess
56d563577f
analysis 2022-11-09 15:46:14 -04:00
Joey Hess
cdbee87a05
comment and retitle 2022-11-09 15:18:28 -04:00
Joey Hess
94ee608b2e
comment 2022-11-09 15:14:28 -04:00
Joey Hess
5409b0c5c4
close 2022-11-09 14:32:14 -04:00
nell@7201fe78ade251118ef3441f4e509b37cd836503
a219d24c8c Adding S3 special remote export bug report 2022-11-08 22:37:14 +00:00
jkniiv
9414eb0745 report on troubles with aws-0.23 and stack builds 2022-11-08 11:36:21 +00:00
Joey Hess
4f6c6114fb
avoid splitting repo tests into too small parts around -J16
The initTests have to be run once per part, and a point of diminishing
returns can be reached where more work is being done to set up for 1 or
2 tests than to run them.

This is better than a hard cap of -J8 or so, because it lets other
things than these particular tests still be parallelized at -J16.

Sponsored-by: Dartmouth College's Datalad project
2022-11-07 14:44:51 -04:00
Joey Hess
5e6cb47bd8
coment 2022-11-07 14:28:55 -04:00
Joey Hess
38e67e169d
followup 2022-11-07 12:26:04 -04:00
yarikoptic
7698e25f6f initial report on stalling test 2022-11-07 14:31:55 +00:00
xloem
8b5b078df3 2022-11-07 10:33:22 +00:00
yarikoptic
99b40cd6a2 Added a comment 2022-11-04 12:41:47 +00:00
Joey Hess
14f7a386f0
Make git-annex enable-tor work when using the linux standalone build
Clean the standalone environment before running the su command
to run "sh". Otherwise, PATH leaked through, causing it to run
git-annex.linux/bin/sh, but GIT_ANNEX_DIR was not set,
which caused that script to not work:

[2022-10-26 15:07:02.145466106] (Utility.Process) process [938146] call: pkexec ["sh","-c","cd '/home/joey/tmp/git-annex.linux/r' && '/home/joey/tmp/git-annex.linux/git-annex' 'enable-tor' '1000'"]
/home/joey/tmp/git-annex.linux/bin/sh: 4: exec: /exe/sh: not found

Changed programPath to not use GIT_ANNEX_PROGRAMPATH,
but instead run the scripts at the top of GIT_ANNEX_DIR.
That works both when the standalone environment is set up, and when it's
not.

Sponsored-by: Kevin Mueller on Patreon
2022-10-26 15:45:08 -04:00
Joey Hess
a8ce8ac75d
comment 2022-10-26 14:54:38 -04:00
Joey Hess
731e806c96
use lookupKeyStaged in --batch code paths
Make --batch mode handle unstaged annexed files consistently whether the
file is unlocked or not. Before this, a unstaged locked file
would have the symlink on disk examined and operated on in --batch mode,
while an unstaged unlocked file would be skipped.

Note that, when not in batch mode, unstaged files are skipped over too.
That is actually somewhat new behavior; as late as 7.20191114 a
command like `git-annex whereis .` would operate on unstaged locked
files and skip over unstaged unlocked files. That changed during
optimisation of CmdLine.Seek with apparently little fanfare or notice.

Turns out that rmurl still behaved that way when given an unstaged file
on the command line. It was changed to use lookupKeyStaged to
handle its --batch mode. That also affected its non-batch mode, but
since that's just catching up to the change earlier made to most
other commands, I have not mentioed that in the changelog.

It may be that other uses of lookupKey should also change to
lookupKeyStaged. But it may also be that would slow down some things,
or lead to unwanted behavior changes, so I've kept the changes minimal
for now.

An example of a place where the use of lookupKey is better than
lookupKeyStaged is in Command.AddUrl, where it looks to see if the file
already exists, and adds the url to the file when so. It does not matter
there whether the file is staged or not (when it's locked). The use of
lookupKey in Command.Unused likewise seems good (and faster).

Sponsored-by: Nicholas Golder-Manning on Patreon
2022-10-26 14:43:06 -04:00
Joey Hess
1944549a38
comment 2022-10-26 12:58:10 -04:00
jwodder
0d853cef01 2022-10-25 16:18:09 +00:00
gyurmo.gyuri@8d622eb91a0312fcb7e63e4f47a6e191c417a0c8
5e52325147 2022-10-23 08:30:57 +00:00
Joey Hess
cde2e61105
improve sqlite retrying behavior
Avoid hanging when a suspended git-annex process is keeping a sqlite
database locked.

Sponsored-by: Dartmouth College's Datalad project
2022-10-18 15:47:20 -04:00
Joey Hess
3149a1e2fe
More robust handling of ErrorBusy when writing to sqlite databases
While ErrorBusy and other exceptions were caught and the write retried for
up to 10 seconds, it was still possible for git-annex to eventually
give up and error out without writing to the database. Now it will retry
as long as necessary.

This does mean that, if one git-annex process is suspended just as sqlite
has locked the database for writing, another git-annex that tries to write
it it might get stuck retrying forever. But, that could already happen when
opening the sqlite database, which retries forever on ErrorBusy. This is an
area where git-annex is known to not behave well, there's a todo about the
general case of it.

Sponsored-by: Dartmouth College's Datalad project
2022-10-17 15:56:19 -04:00
Joey Hess
22f9598dfb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-10-12 15:54:12 -04:00
Joey Hess
d5cd1de280
update and open a todo about something I'm pondering 2022-10-12 15:53:56 -04:00
benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e3
5bd79e717f Added a comment 2022-10-12 06:12:17 +00:00
Joey Hess
b312b2a30b
update 2022-10-11 15:07:52 -04:00
Joey Hess
c2ad84b423
all keys are still present on versioned remote after import of a tree
When importing from versioned remotes, fix tracking of the content of
deleted files.

Only S3 supports versioning so far, so only it was affected.

But, the draft import/export interface for external remotes also seemed to
need a change, so that versionedExport could be set.
2022-10-11 13:05:40 -04:00
benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e3
e22c3b3d7c 2022-10-11 09:12:00 +00:00
Joey Hess
4a42c69092
take lock in checkLogFile and calcLogFile
move: Fix openFile crash with -J

This does make them a bit slower, although usually the log file is not
very big, so even when it's being rewritten, they will not block for
long taking the lock. Still, little slowdowns may add up when moving a lot
file files.

A less expensive fix would be to use something lower level than openFile
that does not check if the file is already open for write by another
thread. But GHC does not seem to provide anything convenient; even mkFD
checks for a writing thread.

fullLines is no longer necessary since these functions no longer will
read the file while it's being written.

Sponsored-by: Dartmouth College's DANDI project
2022-10-07 13:19:17 -04:00
Joey Hess
85dbc21c1c
fix typo 2022-10-07 12:30:07 -04:00
jkniiv
b7d189d6c0 Added a comment 2022-10-06 16:04:41 +00:00
yarikoptic
91c9a27c5a Added a comment 2022-10-06 12:50:01 +00:00
yarikoptic
77825cadfa removed 2022-10-06 12:47:48 +00:00
yarikoptic
04117f0e52 Added a comment 2022-10-06 12:47:17 +00:00
jkniiv
c9bf143fc8 Added a comment 2022-10-06 06:21:40 +00:00
yarikoptic
5761ea969f 2022-10-06 01:37:24 +00:00
yarikoptic
f0a2341e5c initial report on locking issue on move 2022-10-05 21:25:00 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
ee2442bbab Added a comment 2022-10-04 17:59:54 +00:00
Joey Hess
a679ef04ff
comments 2022-10-04 13:36:38 -04:00
Joey Hess
304ee15a42
comment 2022-10-04 13:06:55 -04:00
Joey Hess
15f9fcbcb1
avoid combining multiple words provided to trust/untrust/dead
* trust, untrust, semitrust, dead: Fix behavior when provided with
  multiple repositories to operate on.
* trust, untrust, semitrust, dead: When provided with no parameters,
  do not operate on a repository that has an empty name.

The man page and usage already indicated that multiple repos could be
provided to these commands, but they actually used unwords to combine
everything into string, and found a repo matching that string. This was
especially bad when no parameters resulted in the empty string and some
repo happened to have an empty description.

This does change the behavior, and it's possible someone relied on the
current behavior to eg, trust a repo by name with the name not quoted into
a single parameter. But fixing the empty string bug and matching the
documentation are worth breaking that usage.

Note that git-annex init/reinit do still unwords multiple parameters when
provided to them. That is inconsistent behavior, but it certianly seems
possible that something does run git-annex init with an unquoted
description, and I don't think it's worth breaking that just to make it more
consistent with these other commands.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-10-03 13:48:40 -04:00
Joey Hess
9c9174329e
bug report 2022-10-03 13:00:29 -04:00
jkniiv
82dab0749c Added a comment 2022-10-01 08:23:43 +00:00
jkniiv
be0aca9fa0 Added a comment: restage.log was empty indeed 2022-10-01 05:14:17 +00:00
Joey Hess
d91c3500ea
add comments 2022-09-30 14:04:33 -04:00
Joey Hess
49ee07f93d
fix flush of a closed file handle
Avoids displaying warning about git-annex restage needing to be run in
situations where it does not.

Closing a handle flushes it anyway, so no need for an explict flush. The
handle does get closed twice, but that's fine, the second one does nothing.

Sponsored-by: Dartmouth College's DANDI project
2022-09-30 14:02:31 -04:00
Joey Hess
8d8f7ee884
comment 2022-09-30 13:42:30 -04:00
Joey Hess
fedee03654
comment 2022-09-30 13:26:30 -04:00
jkniiv
4e0eb2d124 reporting that we're now in some cases needlessly reminded to run restage 2022-09-30 13:40:01 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
e4ff7014bd Added a comment: mess up commited to my branch 2022-09-29 09:26:06 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
6cf8d066e3 2022-09-29 08:44:16 +00:00
kdm9
1ebce93be0 Added a comment 2022-09-28 12:55:49 +00:00
Joey Hess
e858315744
comment 2022-09-27 15:01:08 -04:00
Joey Hess
81e1cba6e1
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-27 14:58:02 -04:00
Joey Hess
61c5014ad1
comment 2022-09-27 14:57:56 -04:00
kdm9
49dd5e1b69 Added a comment 2022-09-27 18:40:40 +00:00
Joey Hess
eae89f73bb
comment 2022-09-27 14:31:06 -04:00
kdm9
518b89eb96 Added a comment 2022-09-27 17:49:53 +00:00
kdm9
27a9489ef3 v10nfs-bug 2022-09-27 17:48:02 +00:00
Joey Hess
640e2646a1
add comment 2022-09-26 16:05:46 -04:00
Joey Hess
17129fed66
fix wormhole --appid option position
p2p: Pass wormhole the --appid option before the receive/send command, as
it does not accept that option after the command

I'm left wondering, did I get this wrong from the beginning, or did
wormhole change its option parser? I'm reminded of the change in 0.8.2
where it silently changed what FD the pairing code was output to.
But, looking at the wormhole source, it was at least putting --appid before
send in its test suite from the introduction of the option.

So I think probably this has always been broken. On 2021-12-31 the --appid
option was enabled, and it took until now for someone to try
git-annex p2p --pair and notice that flag day broke it..

Sponsored-by: Svenne Krap on Patreon
2022-09-26 15:11:38 -04:00
Joey Hess
1d47a7e7e6
Revert "fix comment"
This reverts commit c39b057b2d.
2022-09-26 13:39:10 -04:00
Joey Hess
c39b057b2d
fix comment 2022-09-26 13:37:47 -04:00
Joey Hess
fc9212e6ea
comment 2022-09-26 13:25:04 -04:00
Joey Hess
6e21bd54d4
comment 2022-09-26 13:23:04 -04:00
Joey Hess
e05dd70544
handle upgrading repositories initialized with --version=9
As was attempted earlier in the buggy commit 0d2e3058ee

Avoided the bug that had by making the upgrade log be updated after each
upgrade step. So, after upgrade from v8 to v9, the log is updated, and
so Upgrade.V9's timeOfUpgrade check will find that it was upgraded
recently and so won't let it skip ahead to v10.

Sponsored-by: k0ld on Patreon
2022-09-26 12:59:51 -04:00
Joey Hess
6b658a7f54
comment 2022-09-26 12:20:11 -04:00
Joey Hess
98eb5ff84f
fix windows build 2022-09-26 12:08:04 -04:00
yarikoptic
87b62210d7 report on windows FTBFS 2022-09-26 15:47:23 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
d1762cc8e4 Added a comment 2022-09-25 19:43:31 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
ba6eabd76b 2022-09-25 02:01:26 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
bc26c85745 close bug "git commit smudges unncessarily" 2022-09-24 20:37:56 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
a7e3e9d0c9 Added a comment 2022-09-24 19:43:47 +00:00
dukeofcool199
a887de360b 2022-09-24 19:24:19 +00:00
dukeofcool199
3a3e17cee5 2022-09-24 19:21:09 +00:00
Joey Hess
2478e9e03a
restage: New git-annex command, handles restaging unlocked files
This is much easier and less failure-prone than having the user run
git update-index --refresh themselves.

Sponsored-by: Dartmouth College's DANDI project
2022-09-23 16:29:59 -04:00
Joey Hess
d049228fd3
comment and todo 2022-09-22 14:48:32 -04:00
Joey Hess
0139a732fe
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-22 14:40:29 -04:00
Joey Hess
6e3c9bea2e
drain transferrer read handle when shutting it down
Fixes updating git index file after getting an unlocked file when
annex.stalldetection is set.

The transferrer may want to send additional protocol messages when it's
shut down. Closing the read handle prevented it from doing that, and caused
it to crash rather than cleanly shutting down.

Draining the handle without processing the protocol seemed ok to do,
because anything it outputs is going to be some side message displayed
at shutdown. Displaying those once per transferrer process that is running
seems unncessary.

Sponsored-by: Dartmouth College's DANDI project
2022-09-22 14:39:39 -04:00
yarikoptic
ea4a466b8b Added a comment 2022-09-22 18:14:15 +00:00
Joey Hess
f015f3e8e3
comment 2022-09-22 14:03:31 -04:00
Joey Hess
5ed774b701
comment 2022-09-22 13:40:13 -04:00
Joey Hess
72cdbd01f4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-22 13:37:26 -04:00
Joey Hess
368ad64160
correct my comment 2022-09-22 13:37:01 -04:00
yarikoptic
2415c8f8b9 Added a comment 2022-09-22 17:34:35 +00:00
Joey Hess
3f2bbae4cb
reproduced this now 2022-09-22 13:25:02 -04:00
jgoerzen
63f8b78e29 Added a comment 2022-09-22 03:40:04 +00:00
yarikoptic
79fa55ce88 Added a comment 2022-09-22 01:33:24 +00:00
yarikoptic
f75641f9f6 Added a comment 2022-09-22 01:03:18 +00:00
Joey Hess
6f0566d704
comment 2022-09-21 18:17:21 -04:00
Joey Hess
2731e3ab38
wording 2022-09-21 16:13:08 -04:00
Joey Hess
05592a2ddb
comment 2022-09-21 16:11:10 -04:00
yarikoptic
ad31c9fc19 Added a comment 2022-09-21 18:49:07 +00:00
yarikoptic
65cd69217c Added a comment 2022-09-21 18:46:50 +00:00
Joey Hess
2f16ff8cdc
comment 2022-09-21 13:17:21 -04:00
yarikoptic
f967316f31 initial report on odd "modified" status 2022-09-20 22:22:42 +00:00
Joey Hess
8d26fdd670
skip checkRepoConfigInaccessible when git directory specified explicitly
Fix a reversion that prevented git-annex from working in a repository when
--git-dir or GIT_DIR is specified to relocate the git directory to
somewhere else. (Introduced in version 10.20220525)

checkRepoConfigInaccessible could still run git config --list, just passing
--git-dir. It seems not necessary, because I know that passing --git-dir
bypasses git's check for repo ownership. I suppose it might be that git
eventually changes to check something about the ownership of the working
tree, so passing --git-dir without --work-tree would still be worth doing.
But for now this is the simple fix.

Sponsored-by: Nicholas Golder-Manning on Patreon
2022-09-20 14:52:43 -04:00
Joey Hess
d1467a9b8e
bug report rescued from forum 2022-09-20 14:16:15 -04:00
Joey Hess
8479ac6a50
fixed 2022-09-20 13:35:47 -04:00
Joey Hess
3adf1f24e2
comment 2022-09-20 12:56:16 -04:00
Joey Hess
612d2a8056
comment 2022-09-20 12:39:40 -04:00
jgoerzen
d3408ec63d Added a comment 2022-09-19 13:55:07 +00:00
Joey Hess
1fe9cf7043
deal with ignoreinode config setting
Improve handling of directory special remotes with importtree=yes whose
ignoreinode setting has been changed. (By either enableremote or by
upgrading to commit 3e2f1f73cbc5fc10475745b3c3133267bd1850a7.)

When getting a file from such a remote, accept the content that would have
been accepted with the previous ignoreinode setting.

After a change to ignoreinode, importing a tree from the remote will
re-import and generate new content identifiers using the new config. So
when ignoreinode has changed to no, the inodes will be learned, and after
that point, a change in an inode will be detected as a change. Before
re-importing, a change in an inode will be ignored, as it was before the
ignoreinode change. This seems acceptble, because the user can re-import
immediately if they urgently need to add inodes. And if not, they'll
do it sometime, presumably, and the change will take effect then.

Sponsored-by: Erik Bjäreholt on Patreon
2022-09-16 14:11:25 -04:00
Joey Hess
4a1030d51d
comments 2022-09-16 13:40:27 -04:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
50cdf369b9 closing 2022-09-13 23:32:49 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
d21bac4d88 Added a comment 2022-09-13 23:32:01 +00:00
Joey Hess
97825216b2
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-13 14:13:31 -04:00
Joey Hess
d722681a10
comment 2022-09-13 14:13:19 -04:00
yarikoptic
57543f11a8 Added a comment 2022-09-13 18:02:35 +00:00
Joey Hess
ea6c733e45
comment 2022-09-13 13:19:18 -04:00
Joey Hess
0648b6337b
comment 2022-09-13 12:49:49 -04:00
jgoerzen
e92dfbce72 Added a comment 2022-09-10 00:38:17 +00:00
jgoerzen
0d265841d4 Added a comment 2022-09-10 00:37:45 +00:00
jgoerzen
29a80ceed1 2022-09-10 00:37:09 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
cc053c820e Added a comment 2022-09-09 20:46:31 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
a2dd58e9d4 Added a comment 2022-09-09 20:45:13 +00:00
Joey Hess
d2c842e9a1
don't force use of conduit in withUrlOptionsPromptingCreds
Use curl for downloads from git remotes when annex.url-options and other
git configs are set.

If the url needs a password, curl will fail, and git credential will not be
used to prompt for it. But the user can set --netrc in url-options and
put the password in the netrc file.

This also means that url-options settings like -4 will take effect.
That was the case before commit 1883f7ef8f
forced conduit to be used.
2022-09-09 16:07:32 -04:00
Joey Hess
511e711bed
close 2022-09-09 14:53:26 -04:00
yarikoptic
22a311ef46 reporting flaky tests on ndoli 2022-09-08 15:01:50 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
2c4c56ea50 Added a comment: git-credential-netrc 2022-09-08 02:02:40 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
4f3a33d824 2022-09-08 01:10:06 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
d8c98399e1 Added a comment 2022-09-08 00:28:32 +00:00
jgoerzen
aa4ba3fc7c Added a comment 2022-09-05 22:01:24 +00:00
jgoerzen
403dca7c42 Added a comment 2022-09-05 18:44:01 +00:00
jgoerzen
764fa6e230 Added a comment 2022-09-05 18:29:31 +00:00
Joey Hess
bd7b760cf0
comment 2022-09-05 14:00:50 -04:00
Joey Hess
8a4cfd4f2d
use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink
Fix crash importing from a directory special remote that contains a broken
symlink.

The crash was in listImportableContentsM but some other places in
Remote.Directory also seemed like they could have the same problem.

Also audited for other places that have such a problem. Not all calls
to getFileStatus are bad, in some cases it's better to crash on something
unexpected. For example, `git-annex import path` when the path is a broken
symlink should crash, the same as when it does not exist. Many of the
getFileStatus calls are like that, particularly when they involve
.git/annex/objects which should never have a broken symlink in it.

Fixed a few other possible cases of the problem.

Sponsored-by: Lawrence Brogan on Patreon
2022-09-05 13:46:32 -04:00
Joey Hess
600d3f7141
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-05 13:20:44 -04:00
Joey Hess
ff0490c7c6
fix build 2022-09-05 13:20:23 -04:00
Lukey
7dd6e38945 Added a comment 2022-09-05 09:35:18 +00:00
jgoerzen
fa01f0bab9 Added a comment 2022-09-05 01:14:53 +00:00
jgoerzen
3159a28f88 2022-09-05 00:59:39 +00:00
jgoerzen
e7de6fffc1 2022-09-05 00:17:03 +00:00
jgoerzen
95e4021c09 2022-09-04 13:12:55 +00:00
jgoerzen
5fe6803375 2022-09-04 01:16:18 +00:00
yarikoptic
4fd4865493 FTBFS report 2022-08-31 14:47:35 +00:00
Joey Hess
22f492bea8
comment 2022-08-30 12:50:42 -04:00
Joey Hess
78440ca37d
move assistant and webapp build-depends into main build-depends
For some reason, cabal 3.4.1.0 builds w/o the assistant and webapp,
even when the flag is explicitly turned on. Moving the build-depends from
inside the if flag section to the main build-depends somehow fixes this.

Since the webapp build deps are thus always available, there is no reason
not to build the webapp when building the assistant. So, got rid of the
webapp build flag. Kept the assistant build flag for now, since building
without it does at least still speed up the build.

Sponsored-by: Brock Spratlen on Patreon
2022-08-29 15:23:49 -04:00
Joey Hess
faefab5e65
add bug and update comment 2022-08-29 14:49:44 -04:00
Joey Hess
4c080a20ac
comment 2022-08-29 14:25:30 -04:00
Atemu
3cd2a075b9 Added a comment 2022-08-28 17:56:20 +00:00
hoegiflo@befdf51af27be5af346451fe32863dadb1d37ad5
a2ee27851b Added a comment 2022-08-27 21:00:49 +00:00
Ilya_Shlyakhter
609a82c653 Added a comment: copying to S3: partsize/chunking 2022-08-25 17:45:49 +00:00
Atemu
090489832c Added a comment 2022-08-25 16:18:39 +00:00
hoegiflo@befdf51af27be5af346451fe32863dadb1d37ad5
b47ea090ca 2022-08-24 18:43:15 +00:00
hoegiflo@befdf51af27be5af346451fe32863dadb1d37ad5
7c4b37a7b1 2022-08-24 18:41:37 +00:00
Joey Hess
55bf1c6896
comment 2022-08-24 13:05:15 -04:00
Ilya_Shlyakhter
cfad39ccb4 added bug report about a cryptic error message when copying to S3 2022-08-24 14:47:16 +00:00
Ilya_Shlyakhter
274ef9db2a Added a comment: imports and symlinks 2022-08-22 20:40:42 +00:00
Joey Hess
28921af543
remove old closed bugs and todo items to speed up wiki updates and reduce size
Remove closed bugs and todos that were last edited or commented before 2021.

Except for ones tagged projects/* since projects like datalad want to keep
around records of old deleted bugs longer.

Command line used:

    for f in $(grep -l '|done\]\]' -- ./*.mdwn); do if ! grep -q "projects/" "$f"; then d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2021 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2021 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
    for f in $(grep -l '\[\[done\]\]' -- ./*.mdwn); do if ! grep -q "projects/" "$f"; then d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2021 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2021 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
2022-08-22 12:27:10 -04:00
Joey Hess
c13b3aba98
add comment (and other old comment I forgot to add earlier) 2022-08-22 12:01:29 -04:00
Joey Hess
3ce71cad8c
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-22 11:50:21 -04:00
Yaroslav Halchenko
0151976676
Typo fix unncessary -> unnecessary.
Detected while reading recent CHANGELOG entry but then decided to apply
to entire codebase and docs since why not?
2022-08-20 09:40:19 -04:00
Ilya_Shlyakhter
c25ade4d97 Added a comment: imports and symlinks 2022-08-19 20:19:50 +00:00
Joey Hess
f091eff476
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-19 13:45:19 -04:00
Joey Hess
ed39979ac8
import: Avoid following symbolic links inside directories being imported
Too big a footgun.

This does not prevent attackers who can write to the directory being
imported from racing the check. But they can cause anything to be imported
anyway, so would be limited to getting the legacy import to follow into a
directory they do not write to, and move files out of it into the annex.
(The directory special remote does not have that problem since it does not
move files.)

Sponsored-by: Jack Hill on Patreon
2022-08-19 13:31:16 -04:00
Ilya_Shlyakhter
39763ddee7 Added a comment: git-annex-import and symlinks 2022-08-19 17:18:37 +00:00
Joey Hess
4ca8e95773
comment 2022-08-19 13:06:38 -04:00
Joey Hess
94029995fa
fix git-annex add regression on deleted file
Fix a regression in 10.20220624 that caused git-annex add to crash when
there was an unstaged deletion.

Sponsored-by: Dartmouth College's Datalad project
2022-08-19 12:55:49 -04:00
skcin
fb57fd9b96 Added a comment: Option to not follow symlinks? 2022-08-18 15:32:43 +00:00
yarikoptic
c80ea222da added datalad project tag to the issue 2022-08-17 19:56:25 +00:00
yarikoptic
3368172a10 Added a comment 2022-08-17 19:55:45 +00:00
yarikoptic
702f6fcb00 initial report on getSymbolicLinkStatus crashing upon file removal 2022-08-17 18:46:27 +00:00
Joey Hess
0d33a7a029
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-17 13:16:06 -04:00
Joey Hess
b801812660
init: probe if sqlite works
Help the user get annex.dbdir configured when their filesystem is not
one that sqlite works on.

The change in Database.Handle makes an error from sqlite not be ignored
besides being displayed, which it was before. I can't see any reason
git-annex would want to ignore these errors.

I chose to use the fsck database rather than the keys database because
opening the keys database populates it, and see commit
b3c4579c79.

The placement of the call to checkSqliteWorks inside checkInitializeAllowed
avoids annex.uuid getting set before it's called.

Sponsored-by: Dartmouth College's Datalad project
2022-08-17 13:12:26 -04:00
account+annex@806a7c5f67b75d530bced4ea294c77681ebdf766
ec3863e8d4 Added a comment 2022-08-17 16:59:17 +00:00
Joey Hess
fc2d10d2cd
fixed in v10 2022-08-17 12:40:43 -04:00
account+annex@806a7c5f67b75d530bced4ea294c77681ebdf766
c382375d49 2022-08-17 14:28:27 +00:00
Joey Hess
7286f408fa
close 2022-08-15 14:33:40 -04:00
Joey Hess
195f870265
comment 2022-08-15 14:05:05 -04:00
Joey Hess
d07a1dbdee
comment about annex.dbdir on relevant bugs 2022-08-12 13:31:27 -04:00
Joey Hess
4cfe17a9e8
use a subdirectory of annex.dbdir
This allows annex.dbdir to be set globally or always set to the same
value when needed. Each repository uses a subdirectory of it.

Sponsored-by: Dartmouth College's Datalad project
2022-08-12 13:18:15 -04:00
Joey Hess
16e82f6cf9
comment 2022-08-12 13:10:54 -04:00
Joey Hess
b80ad3a2ad
comment 2022-08-11 17:16:35 -04:00
Joey Hess
e9ffffbb8f
close 2022-08-10 12:29:29 -04:00
Atemu
434a1423c0 Added a comment 2022-08-10 12:35:28 +00:00
yarikoptic
bd3c68a57a Added a comment 2022-08-09 19:12:40 +00:00
yarikoptic
7cfab36e10 Added a comment 2022-08-09 18:02:32 +00:00
yarikoptic
dc10e9fdc2 Added a comment 2022-08-09 18:02:08 +00:00
Joey Hess
21cfd0ea98
fix reversion
3a513cfe73 caused a reversion in addurl.
The type of addSmall changed, but the void prevented the type checker
from helping notice this. Since it now returns a CommandPerform, the
cleanup action has to be run.

Sponsored-by: Dartmouth College's Datalad project
2022-08-09 13:49:30 -04:00
Joey Hess
eb2acf5fd7
comment 2022-08-09 13:26:47 -04:00
Joey Hess
4a68abace1
comment 2022-08-09 13:21:58 -04:00
Joey Hess
607c57d66b
comment 2022-08-09 13:06:48 -04:00
Joey Hess
4a5b50fae8
comment 2022-08-09 12:33:24 -04:00
yarikoptic
5595d0ef96 initial report on possible regression due to --dry-run 2022-08-09 13:37:39 +00:00
Atemu
50c4632740 Added a comment 2022-08-09 06:22:50 +00:00
Atemu
007d89f3e9 Added a comment 2022-08-09 06:14:05 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
8adb37a98c Added a comment 2022-08-09 00:33:56 +00:00
Joey Hess
abd417d4fe
Avoid running multiple bup split processes concurrently
Since bup split is not concurrency safe.

Used a lock file so that 2 git-annex processes only run one bup split
between them (per bup repo).

(Concurrent writes from different git-annex repository clones to the same
bup repo could still have concurrency problems.)

Sponsored-by: Noam Kremen on Patreon
2022-08-08 18:54:06 -04:00
Joey Hess
04247fb4d0
avoid surprising "not found" error when copying to a http remote
git-annex copy --to a http remote will of course fail, as that's not
supported. But git-annex copy first checks if the content is already
present in the remote, and that threw a "not found".

Looks to me like other remotes that use Url.checkBoth in their checkPresent
do just return false when it fails. And Url.checkBoth does display
errors when unusual errors occur. So I'm pretty sure removing this error
message is ok.

Sponsored-by: Jarkko Kniivilä on Patreon
2022-08-08 11:57:24 -04:00
Joey Hess
645a66a084
comment 2022-08-08 11:26:25 -04:00
Joey Hess
7a235469e7
comment 2022-08-08 11:23:54 -04:00
Joey Hess
8d3a6ae527
comment 2022-08-08 11:15:04 -04:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
d4b29293b8 Added a comment: Additional Questions: git annex copy failed 2022-08-08 10:31:26 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
96794dbd0a Added a comment: Additional Questions: git annex copy failed 2022-08-08 10:31:04 +00:00
Atemu
dec58c032c Added a comment 2022-08-07 08:05:24 +00:00
Joey Hess
6d762fafae
idea 2022-08-05 14:54:10 -04:00
Joey Hess
ee73bc7a3c
tag datalad since they have an issue about this 2022-08-05 14:48:21 -04:00
Joey Hess
7ac161395b
comment 2022-08-05 14:10:47 -04:00
Joey Hess
9e66a332b4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-05 13:57:32 -04:00
Joey Hess
5bc70e2da5
When bup split fails, display its stderr
It seems worth noting here that I emailed bup's author about bup split
being noisy on stderr even with -q in approximately 2011. That never got
fixed. Its current repo on github only accepts pull requests, not bug
reports. Needing to add such complexity to deal with such a longstanding
unfixed issue is not fun.

Sponsored-by: Kevin Mueller on Patreon
2022-08-05 13:57:20 -04:00
yarikoptic
e884d2ed4c Added a comment 2022-08-05 16:17:09 +00:00
Joey Hess
a23fd7349f
work around git segfault
Work around bug in git 2.37 that causes a segfault when when
core.untrackedCache is set, and broke git-annex init.

Depending on when git gets fixed and how widely the buggy versions are
used, this could be reverted quite soon, or need to linger for a long time.
It only makes git-annex init a tiny bit slower in a new repo.

Sponsored-by: Max Thoursie on Patreon
2022-08-04 14:20:57 -04:00
Joey Hess
008204b2f3
explain why this happens and close 2022-08-04 12:39:07 -04:00
Joey Hess
6950e01e2a
Revert "fix link"
This reverts commit 2f671f1d1b.

Didn't work
2022-08-04 12:20:02 -04:00
Joey Hess
2f671f1d1b
fix link 2022-08-04 12:18:49 -04:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
2824b476c2 2022-08-04 08:28:09 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
925424092b 2022-08-04 08:26:11 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
e91fdabba7 2022-08-04 08:23:05 +00:00
jkniiv
164129b53d Added a comment 2022-08-03 15:47:08 +00:00
Joey Hess
c2aa67d373
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-02 12:33:17 -04:00
yarikoptic
bb30d43b7f Added a comment 2022-08-01 18:55:38 +00:00
yarikoptic
818614ceaf Added a comment 2022-08-01 18:51:59 +00:00
Joey Hess
dddaec1b74
Revert "stack.yaml: Updated to lts-19.16"
This reverts commit b5dc04099e.

Broke windows build, because the new lts updates Win32 to a version that
lacks a function that git-annex needs. git-annex.cabal depends on an
older Win32, and so stack build fails.

Will need to wait to update stack.yaml until this is fixed
https://github.com/haskell/win32/issues/208
and is in a new LTS release.
2022-08-01 13:24:46 -04:00
Joey Hess
010332dba3
comment 2022-08-01 13:10:30 -04:00
jkniiv
0e14491e00 Added a comment 2022-07-31 18:00:59 +00:00
Ilya_Shlyakhter
2d982ffccd Added a comment: lts version 2022-07-31 17:25:27 +00:00
jkniiv
0b748f8d9b lts-19.16 causes an issue on Windows 2022-07-31 08:56:00 +00:00
ceramic_glass
10d051f49d Added a comment 2022-07-29 08:08:33 +00:00
Joey Hess
c8a2752345
comment 2022-07-28 12:07:30 -04:00
ceramic_glass
7ec949e0fc 2022-07-28 00:23:44 +00:00
Joey Hess
d905232842
use ResourcePool for hash-object handles
Avoid starting an unncessary number of git hash-object processes when
concurrency is enabled.

Sponsored-by: Dartmouth College's DANDI project
2022-07-25 17:32:39 -04:00
Joey Hess
b1c49c373a
analysis 2022-07-25 17:03:24 -04:00
yarikoptic
afa4f3c3da initial report on hash-object's 2022-07-25 19:17:37 +00:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
be2d1ab18d Added a comment 2022-07-23 08:48:17 +00:00
Atemu
d73b2d307c Added a comment 2022-07-22 23:47:19 +00:00
Joey Hess
e1de941b2c
close git bug that I reported to git mailing list 2022-07-22 13:24:24 -04:00
Joey Hess
591e87f1f2
reproduced 2022-07-22 12:24:42 -04:00
Joey Hess
162c8cdec0
comment 2022-07-22 11:59:15 -04:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
113ccfcc32 Added a comment: Happens only when core.untrackedCache=true 2022-07-21 08:23:04 +00:00
akspecs@fae4f3d58a0c6c9d50f01a850ce53d425e1a90ba
d23c281856 Added a comment: cannot reproduce 2022-07-19 12:53:46 +00:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
b566ef839e 2022-07-19 11:22:26 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
14e8b42c77 removed duplicated content 2022-07-18 16:42:10 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
f8d454b493 Add new bug "creating failure getting/copying on git-lfs remote (gcrypt)" 2022-07-18 16:18:42 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
36dd9c124f Add new bug "creating failure getting/copying on git-lfs remote (gcrypt)" 2022-07-18 16:17:33 +00:00
Atemu
2f09ebaf4d 2022-07-17 13:49:11 +00:00
Atemu
4a78214bde 2022-07-17 13:17:22 +00:00
Joey Hess
ee8acd5b5d
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-15 15:07:05 -04:00
Joey Hess
a2b1f369d1
disable journalIgnorable in enableInteractiveBranchAccess
Fix a reversion that prevented --batch commands (and the assistant)
from noticing data written to the journal by other commands.

I have not identified which commit broke this for sure,
but probably it was aeca7c2207

--batch commands that wrote to the journal avoided the problem since
journalIgnorable sets unset on write. It's a little bit surprising that
nobody noticed that query --batch commands did not see data written by
other commands.

Sponsored-by: Dartmouth College's DANDI project
2022-07-15 13:48:41 -04:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
4f66f036e6 2022-07-15 16:26:18 +00:00
Joey Hess
c3df38dd15
comment 2022-07-14 13:54:50 -04:00
yarikoptic
ba3c48a9e3 Added a comment 2022-07-13 22:05:46 +00:00
Joey Hess
50c2cac7e7
adb: Added configuration setting oldandroid=true
To avoid using find -printf, which was first supported in Android around
2019-2020.

Probing seems too fragile, and execing stat once per file is too slow to do
when there's a faster way available, which brought me to an option...

Sponsored-by: Brett Eisenberg on Patreon
2022-07-13 18:00:47 -04:00
Joey Hess
f358805fc2
comment 2022-07-13 17:26:10 -04:00
Joey Hess
58d163cfc0
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-13 17:17:44 -04:00
Joey Hess
fbc3c223a6
filter-process: Fix protocol for empty files
This caused git to complain that filter-process failed and kill it with
signal 15. Because it wrote an extra flushPkt for an empty file, which
git did not expect, and so git saw an unexpected response to the next
request.

Luckily, filter-process is only used by default in v9 and up, and v8 is
still the default. Also, git had to be updating an empty file, followed
by another file, which is a fairly unlikely situation. And git restarts
filter-process after this happens and uses it to filter the rest of the
files. So this isn't a crippling bug.

Sponsored-by: Luke Shumaker on Patreon
2022-07-13 17:13:54 -04:00
yarikoptic
557341315a Added a comment 2022-07-13 19:27:06 +00:00
Joey Hess
7c7b7ac9b9
followup 2022-07-13 14:53:46 -04:00
Joey Hess
afbfc106af
comment 2022-07-13 13:09:04 -04:00
Joey Hess
aaccada8fd
comment 2022-07-12 17:00:36 -04:00
Joey Hess
e74e51c761
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-12 16:48:11 -04:00
Joey Hess
323c78b191
comment
(and fix an old comment's formatting)
2022-07-12 16:47:49 -04:00
yarikoptic
aead843318 Added a comment 2022-07-12 20:47:22 +00:00
yarikoptic
12c5c1d975 initial complaining about slow annex init 2022-07-12 20:10:26 +00:00
Joey Hess
79e3dcc169
retitle and fix link 2022-07-12 15:01:53 -04:00
Joey Hess
9a7654d83a
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-12 14:59:24 -04:00
Joey Hess
2d65c4ff1d
avoid unix-compat's rename
On Windows, that does not support long paths
https://github.com/jacobstanley/unix-compat/issues/56

Instead, use System.Directory.renamePath, which does support long paths.

Sponsored-by: Dartmouth College's Datalad project
2022-07-12 14:55:02 -04:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
44a5eef718 Added a comment: phone version 2022-07-12 18:37:16 +00:00
Joey Hess
51c43e8c95
comment 2022-07-12 12:37:08 -04:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
95048a7ad4 2022-07-12 00:24:14 +00:00
Joey Hess
9c6e45c0b2
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-08 10:33:54 -04:00
yarikoptic
e7f499ba36 initial report on inability to connect to S3 2022-07-07 19:56:06 +00:00
Joey Hess
24ff57160f
comment 2022-07-07 12:45:51 -04:00
mih
a223f402f3 Added a comment: Recent version tested 2022-07-06 12:18:36 +00:00
mih
35d27ab0d9 2022-07-06 06:24:06 +00:00
Joey Hess
697e22cceb
fixed 2022-07-05 16:35:19 -04:00
Joey Hess
201e41cffd
add: Fix reversion when adding an annex link that has been moved to another directory
Fixes commit f259be7f39

Sponsored-by: Dartmouth College's Datalad project
2022-07-05 16:22:41 -04:00
Joey Hess
149d12f188
support --backend again in addurl and importfeed
Missed these two when converting from a global option.

Sponsored-by: Dartmouth College's Datalad project
2022-07-05 15:35:43 -04:00
yarikoptic
e355c22629 Added a comment: mystery resolved 2022-07-01 19:19:30 +00:00
yarikoptic
cd1c07bc4c initial report on move bug 2022-07-01 13:45:02 +00:00
Soxofaan
65ba22ae5c Added a comment: no worries 2022-06-30 16:51:51 +00:00
yarikoptic
dac8c76d0c asking to return --backend for addurl 2022-06-30 15:00:19 +00:00
yarikoptic
c0f86a1009 FTBFS report on linux 2022-06-30 14:52:24 +00:00
contr-error
c17a4476f9 marking as done 2022-06-29 19:14:38 +00:00
contr-error
281f116c6a Added a comment 2022-06-29 19:13:56 +00:00
Joey Hess
ad34d7996d
close bug that was recently fixed 2022-06-29 14:51:11 -04:00
Joey Hess
0184fef516
close 2022-06-29 14:44:02 -04:00
Joey Hess
834b4e5012
close 2022-06-29 14:42:40 -04:00
Joey Hess
43814314ae
close 2022-06-29 14:41:34 -04:00
Joey Hess
42c5d9631d
close 2022-06-29 14:39:21 -04:00
Joey Hess
dd4c110f3c
close 2022-06-29 14:38:16 -04:00
Joey Hess
82063e20c7
close 2022-06-29 14:37:02 -04:00
Joey Hess
cddcabfbb5
include filename in fsck warning
So it's available in --quiet mode. The same was already done in other
fsck warnings.

Sponsored-by: Noam Kremen on Patreon
2022-06-29 14:33:35 -04:00
Joey Hess
4b4795ec85
this is fixed 2022-06-29 14:30:57 -04:00
Joey Hess
4a17981196
close 2022-06-29 14:29:00 -04:00
Joey Hess
a6e332fd51
close 2022-06-29 14:27:44 -04:00
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
Joey Hess
cea6f6db92
v10 upgrade locking
The v10 upgrade should almost be safe now. What remains to be done is
notice when the v10 upgrade has occurred, while holding the shared lock,
and switch to using v10 lock files.

Sponsored-by: Dartmouth College's Datalad project
2022-01-20 11:33:14 -04:00
mih
e6a4a327f4 2022-01-19 21:07:20 +00:00
Joey Hess
cd2158d98d
update on status 2022-01-19 16:01:06 -04:00
Joey Hess
fb11ffe594
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-19 11:51:11 -04:00
Joey Hess
1723d4e88a
close 2022-01-19 11:49:37 -04:00
Lukey
1c0e04c83c Added a comment 2022-01-13 18:10:22 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
b15ac53967 2022-01-13 03:59:44 +00:00
Joey Hess
b2f3928971
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-12 15:55:31 -04:00
Joey Hess
8add0ec60e
liking this solution pretty well 2022-01-12 15:54:58 -04:00
yarikoptic
6b435719a0 Added a comment 2022-01-12 19:33:16 +00:00
Joey Hess
0ba7f2ec91
so close 2022-01-12 15:25:35 -04:00
Joey Hess
63851bfec4
complication 2022-01-12 13:19:06 -04:00
anarcat
658a896869 2022-01-12 16:24:17 +00:00
anarcat
3993421d36 Added a comment: indeed. 2022-01-12 15:56:25 +00:00
Joey Hess
d427afb347
v9-locking branch still wip 2022-01-11 17:04:25 -04:00
mih
9104e64d3e Added a comment: Thanks! 2022-01-11 18:59:36 +00:00
Joey Hess
029820c832
v9-locking branch 2022-01-11 14:49:21 -04:00
Joey Hess
f1e5a42392
followup and close 2022-01-11 13:28:13 -04:00
Joey Hess
f54c58f0df
Avoid crashing when run in a bare git repo that somehow contains an index file
Do not populate the keys database with associated files,
because a bare repo has no working tree, and so it does not make sense to
populate it.

Queries of associated files in the keys database always return empty lists
in a bare repo, even if it's somehow populated. One way it could be
populated is if a user converts a non-bare repo to a bare repo.

Note that Git.Config.isBare does a string comparison, so this is not free!
But, that string comparison is very small compared to a sqlite query.

Sponsored-by: Erik Bjäreholt on Patreon
2022-01-11 13:01:49 -04:00
Joey Hess
c031d19c32
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-11 12:25:12 -04:00
Joey Hess
8ae88923b8
moreinfo 2022-01-11 12:24:40 -04:00
mih
da71a52b12 2022-01-11 12:54:35 +00:00
amerlyq
46abc97d32 Added a comment 2022-01-08 14:32:12 +00:00
amerlyq
af64183932 Added a comment 2022-01-08 14:15:55 +00:00
Joey Hess
e95747a149
fix handling of corrupted data received from git remote
Recover from corrupted content being received from a git remote due eg to a
wire error, by deleting the temporary file when it fails to verify. This
prevents a retry from failing again.

Reversion introduced in version 8.20210903, when incremental verification
was added.

Only the git remote seems to be affected, although it is certianly
possible that other remotes could later have the same issue. This only
affects things passed to getViaTmp that return (False, UnVerified) due to
verification failing. As far as getViaTmp can tell, that could just as well
mean that the transfer failed in a way that would resume, so it cannot
delete the temp file itself. Remote.Git and P2P.Annex use getViaTmp internally,
while other remotes do not, which is why only it seems affected.

A better fix perhaps would be to improve the types of the callback
passed to getViaTmp, so that some other value could be used to indicate
the state where the transfer succeeded but verification failed.

Sponsored-by: Boyd Stephen Smith Jr.
2022-01-07 13:25:33 -04:00
Joey Hess
21c0d5be6e
comment 2022-01-07 12:27:19 -04:00
Joey Hess
022e63cdde
comment 2022-01-07 12:08:19 -04:00
amerlyq
39daac8e99 Added a comment 2022-01-07 12:52:35 +00:00
Joey Hess
0f1490c953
comment 2022-01-06 12:25:00 -04:00
Joey Hess
218a3c0f09
improve description
Sponsored-by: Jack Hill on Patreon
2022-01-06 12:24:27 -04:00
Joey Hess
0c604e29a4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-05 13:10:03 -04:00
Joey Hess
ff33189548
comment 2022-01-05 12:58:19 -04:00
Joey Hess
46d793c8df
comment 2022-01-05 12:18:18 -04:00
amerlyq
aa6534caa7 Added a comment 2022-01-05 15:46:07 +00:00
Joey Hess
9f38c72f8b
comment 2022-01-04 11:38:01 -04:00
Joey Hess
d2344278fc
close 2022-01-04 11:32:29 -04:00
Joey Hess
e1e8afc477
comment 2022-01-04 11:28:33 -04:00
Joey Hess
2d4fb490bd
comment 2022-01-04 11:23:25 -04:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
982ad19002 Added a comment 2022-01-04 13:41:03 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
5a9eed6a41 Added a comment 2022-01-04 13:10:13 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
9c487d7a36 Added a comment 2022-01-04 12:55:14 +00:00
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
dc67e1cb60 Added a comment: well, yes 2022-01-04 11:28:33 +00:00
falsifian
b0b596ee62 Added a comment 2022-01-03 19:06:11 +00:00
Joey Hess
7e2f5edd68
avoid exporting non-annexed symlinks
So that importing does not replace them with plain files.

This works similarly to how the previous handling of submodules and
matchers did, except that annexed symlinks still get exported as plain
files of course, it's only non-annexed symlinks that it does not make sense
to export.

When symlinks have previously been exported, updating the export will
unexport them after upgrading to this commit.

Sponsored-by: Kevin Mueller on Patreon
2022-01-03 14:21:50 -04:00
Joey Hess
0584e096d1
comment 2022-01-03 13:53:34 -04:00
Joey Hess
9e18cd28ad
comment and retitle 2022-01-03 13:48:19 -04:00
Joey Hess
953d2029df
comment and retitle 2022-01-03 13:31:09 -04:00
Joey Hess
63b986d6d5
comment 2022-01-03 13:26:33 -04:00
Joey Hess
07191d7ba0
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-03 12:58:23 -04:00
Joey Hess
c07ed77e21
comment 2022-01-03 12:58:12 -04:00
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
4c9bc9e942 Added a comment: Found the issue 2022-01-03 08:25:05 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
e77ef584cc 2022-01-01 20:59:29 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
9c4712262b 2022-01-01 20:39:32 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
71f8cc684e 2022-01-01 20:06:22 +00:00
Joey Hess
f1e55865a2
comment 2021-12-31 15:01:12 -04:00
falsifian
eacc3dc1f2 Added a comment 2021-12-31 16:03:33 +00:00
Joey Hess
0292c5a0d8
comment 2021-12-31 11:57:52 -04:00
Joey Hess
b60a041e9e
comment 2021-12-31 11:17:26 -04:00
falsifian
e7c78d2910 2021-12-30 19:01:54 +00:00
Joey Hess
ff4486b91c
comments 2021-12-30 12:45:00 -04:00