Commit graph

30959 commits

Author SHA1 Message Date
yarikoptic
608593feca Added a comment: just an update on my testing 2021-08-30 22:17:53 +00:00
Joey Hess
249d424b8a
comment 2021-08-30 14:42:09 -04:00
Joey Hess
d2f2a0e8c8
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-30 14:37:32 -04:00
Joey Hess
0418d54f28
update 2021-08-30 14:34:25 -04:00
Joey Hess
8208daaf17
idea for making more special remotes support importtree
Sponsored-by: Jack Hill on Patreon
2021-08-30 14:27:22 -04:00
yarikoptic
953baa0abd Added a comment: reproducer 2021-08-30 18:07:05 +00:00
yarikoptic
4a6915000e Added a comment 2021-08-30 17:24:25 +00:00
Joey Hess
e853ef3095
decorate openTempFile errors with the template name
This is to track down what file in .git/annex/ is being written to via a
temp file when the repository is read-only.

Sponsored-by: Dartmouth College's Datalad project
2021-08-30 13:05:02 -04:00
Joey Hess
837116ef1e
Fix support for readonly git remotes
Boolean blindness oops.

(Reversion in version 8.20210621)

Sponsored-by: Dartmouth College's Datalad project
2021-08-30 12:34:19 -04:00
Joey Hess
b083f9ec2f
comment 2021-08-30 12:08:01 -04:00
Joey Hess
e92434ce72
comment 2021-08-30 12:06:28 -04:00
Joey Hess
50bb5f9c47
comment 2021-08-30 12:02:52 -04:00
LazerEpilasyon
e2038ef412 2021-08-30 11:32:34 +00:00
strmd
63c2cfd470 2021-08-28 09:30:28 +00:00
yarikoptic
eb9abbd392 Added a comment 2021-08-27 18:46:39 +00:00
Joey Hess
a99a84f342
add: Detect when xattrs or perhaps ACLs prevent locking down a file's content
And fail with an informative message.

I don't think ACLs can prevent removing the write bit, but I'm not sure,
so kept it mentioning them as a possibility.

Should git-annex lock also check if the write bits are able to be removed?
Maybe, but the case I know about with xattrs involves cp -a copying NFS
xattrs, and it's the copy of the file that is the problem. So when locking
a file, I guess it will not be the copy.

Sponsored-by: Dartmouth College's Datalad project
2021-08-27 14:33:01 -04:00
Joey Hess
e17342b2a0
Run cp -a with --no-preserve=xattr, to avoid problems with copied xattrs
Including them breaking permissions setting on some NFS servers.

Sponsored-by: Dartmouth College's Datalad project
2021-08-27 13:09:34 -04:00
Joey Hess
7b1709105a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-27 12:30:35 -04:00
Joey Hess
6d4a728455
Added annex.youtube-dl-command config
This can be used to run some forks of youtube-dl.

Sponsored-by: Brett Eisenberg on Patreon
2021-08-27 09:44:23 -04:00
Joey Hess
3093e8fcc3
thought 2021-08-27 00:59:24 -04:00
yarikoptic
16d35e04bf Added a comment 2021-08-27 01:38:54 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
3007e3c177 Added a comment: it turns out I had to file this as a bug 2021-08-27 01:38:29 +00:00
yarikoptic
fd1c823bd6 Added a comment 2021-08-27 01:34:18 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
1ab70f60d6 sometimes sync --content really does take longer to get a file than get 2021-08-27 00:58:18 +00:00
Joey Hess
097eab365a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-26 17:26:49 -04:00
Joey Hess
ea5e58e3e3
comment 2021-08-26 17:25:33 -04:00
nothingmuch@486b0e001f63ad0513f9fc6921a31f08832ba22d
99dc41c121 Added a comment 2021-08-26 21:19:43 +00:00
yarikoptic
5a2818f9cf Added a comment 2021-08-26 16:49:56 +00:00
Joey Hess
9df1661f55
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-26 12:01:24 -04:00
Joey Hess
891020f2fa
comment 2021-08-26 12:01:15 -04:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
36ccc4db43 removed 2021-08-26 15:21:24 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
ae7577a503 Added a comment: i would like to have this feature revisted, collaberative wiki editing 2021-08-26 15:20:56 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
bb2521c8bc Added a comment: i would like to have this feature revisted, collaberative wiki editing 2021-08-26 15:20:28 +00:00
yarikoptic
a7cf5abf3b Added a comment 2021-08-25 22:05:06 +00:00
yarikoptic
d54a25ed9e initial report on inability to get data of others via ssh 2021-08-25 20:30:52 +00:00
Joey Hess
031ab98017
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-25 14:22:11 -04:00
Joey Hess
ab7b5a492c
--batch-keys
New --batch-keys option added to these commands:  get, drop, move, copy, whereis

git-annex-matching-options had to be reworded since some of its options
can be used to match on keys, not only files.

Sponsored-by: Luke Shumaker on Patreon
2021-08-25 14:21:12 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
5ba124a00a Added a comment: will do 2021-08-24 21:45:28 +00:00
Joey Hess
c64e80b357
comment 2021-08-24 15:02:53 -04:00
yarikoptic
1f3d295cb3 Added a comment 2021-08-24 18:06:10 +00:00
Joey Hess
7f7a1a43f0
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-24 14:04:03 -04:00
Joey Hess
4ed36b2634
Fix test suite failure on Windows
It would be better if the Arbitrary instance avoided generating impossible
filenames like "foo/c:bar", but proably this is the only place that splits
the file from the directory and then uses the file without the directory..
At least on the quickcheck properties.

Sponsored-by: Svenne Krap on Patreon
2021-08-24 14:03:29 -04:00
Joey Hess
21d608a276
comment 2021-08-24 12:53:24 -04:00
Joey Hess
ea9e6cf4a6
comment, improve docs 2021-08-24 12:45:13 -04:00
Joey Hess
0c3c49e003
comment 2021-08-24 12:38:08 -04:00
yarikoptic
7852c427d2 Added a comment: more info 2021-08-24 16:35:26 +00:00
Joey Hess
f2474e4850
comment 2021-08-24 12:25:55 -04:00
Joey Hess
80fbd3d35d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-24 12:00:22 -04:00
Joey Hess
736e85058b
retitle 2021-08-24 12:00:06 -04:00
Joey Hess
5b15b38b03
comment 2021-08-24 11:57:51 -04:00
2003:e4:1f1d:ac00:e7e9:509d:6f4a:34a4
3bb9795c07 poll vote (OpenStack SWIFT) 2021-08-24 15:49:53 +00:00
Joey Hess
8944569988
comment 2021-08-24 11:21:12 -04:00
Joey Hess
645967b9ce
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-24 11:07:39 -04:00
Joey Hess
3686ce15b9
comment 2021-08-24 11:07:19 -04:00
Yuval Kogman
0861e95d13 Add a tip explaining how to enable-tor on NixOS
This is a little bare bones but hopefully useful, some things that could
be improved:

1. Follow steps in order and replicate (I reconstructed off of my
   success, so there may be inaccuracies or things I forgot)

2. Clarify correct ownership for directories & sockets
   - enable-tor's sudo child will obtain the hostname so no access is
     needed after that
   - does it also create the tor sockety directory?

3. Remove unnecessary boilerplate
   - can the hidden service dir be left with the NixOS default?
2021-08-24 04:34:55 +00:00
login+git-annex@12145486ec1e9f0d1587cdb0c6ef7538abab1c31
0e0322f0e7 2021-08-21 00:37:20 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
20a252a129 Added a comment: git annex sync --no-commit --content takes double the time of git annex get . 2021-08-20 02:05:53 +00:00
anarcat
8898286b81 2021-08-19 14:44:56 +00:00
Joey Hess
7c2476e862
close 2021-08-18 17:37:17 -04:00
Joey Hess
6cf81dfa2e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-18 17:36:35 -04:00
Joey Hess
d3d5d2b4ec
fix test suite failure when run with LANG=C 2021-08-18 17:36:00 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
c6edf470b6 Added a comment: commit 492036622a fixes this 2021-08-18 21:10:51 +00:00
Lukey
ec87740f2d Added a comment 2021-08-18 21:07:12 +00:00
yarikoptic
9b05a9acf8 2021-08-18 20:19:36 +00:00
git-annex.branchable.com@78dd096e15e9d37643bf695293cae77fec735698
e23c24f0fa Added a comment: So where are the file stored? 2021-08-18 20:19:25 +00:00
Joey Hess
ea675c4747
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-18 15:17:56 -04:00
Joey Hess
53744e132d
incremental verification for gitlfs and httpalso
And that should be all the special remotes supporting it on linux now,
except for in the odd edge case here and there.

Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:17:10 -04:00
Joey Hess
f5e09a1dbe
incremental verification for S3
Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:07:00 -04:00
Joey Hess
d154e7022e
incremental verification for web special remote
Except when configuration makes curl be used. It did not seem worth
trying to tail the file when curl is downloading.

But when an interrupted download is resumed, it does not read the whole
existing file to hash it. Same reason discussed in
commit 7eb3742e4b76d1d7a487c2c53bf25cda4ee5df43; that could take a long
time with no progress being displayed. And also there's an open http
request, which needs to be consumed; taking a long time to hash the file
might cause it to time out.

Also in passing implemented it for git and external special remotes when
downloading from the web. Several others like S3 are within striking
distance now as well.

Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:02:22 -04:00
Joey Hess
1dca3ba26a
status update 2021-08-18 12:58:27 -04:00
Joey Hess
d67da1f4db
idea 2021-08-18 12:39:03 -04:00
Austin
662c2412da Added a comment 2021-08-18 06:28:39 +00:00
Austin
d11ca305e3 2021-08-18 06:17:46 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
ead94daca4 commit f0754a61f doesn't compile on Windows without a small patch 2021-08-17 21:15:04 +00:00
Joey Hess
4bbc6a25fa
comment 2021-08-17 10:28:18 -04:00
yarikoptic
b80dd29d6a initial report about needing newer gpg to get tests pass 2021-08-16 21:58:07 +00:00
yarikoptic
08ca0d8961 Added a comment: note on sec= on the mount 2021-08-16 21:38:13 +00:00
Joey Hess
ffa1f6ed30
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-16 17:30:04 -04:00
Joey Hess
f8463ad52f
status update 2021-08-16 17:29:39 -04:00
Joey Hess
b1622eb932
incremental verify for directory special remote
Added fileRetriever', which will let the remaining special remotes
eventually also support incremental verify.

Sponsored-by: Dartmouth College's DANDI project
2021-08-16 16:51:33 -04:00
Joey Hess
ec82299730
status update
I was wrong about S3 supporting tailVerify.
2021-08-16 15:15:32 -04:00
yarikoptic
b66308a214 update description that it is isilon under 2021-08-16 17:44:01 +00:00
matthias.risze@9f2c8f7faed4cac1905d1bf1ee4524d708c13688
03ca13f5c5 Added a comment: type=git special remote cannot be enabled, no uuid is generated 2021-08-16 13:02:04 +00:00
https://christian.amsuess.com/chrysn
fa69431266 migrate script: Get full list of remotes that have a file; doc updates; progress output; corner case fixes 2021-08-15 19:01:37 +00:00
https://christian.amsuess.com/chrysn
905fef31b3 Added a comment: Another example 2021-08-15 17:42:54 +00:00
https://christian.amsuess.com/chrysn
29a1274f99 migrate script: Do whereis work before to speed up processing 2021-08-15 11:48:58 +00:00
https://christian.amsuess.com/chrysn
69fc2a22b3 Added a comment: annex-to-annex 2021-08-15 11:47:31 +00:00
https://christian.amsuess.com/chrysn
a5f620a1d9 migrate script: Fix accidentally commented-out fsck run 2021-08-15 11:04:37 +00:00
https://christian.amsuess.com/chrysn
088d6c4cd0 migrate script: Don't try on all remotes, look where it is and drop from there (faster) 2021-08-15 10:37:53 +00:00
spwhitton
9e801dc906 Added a comment: annex-to-annex 2021-08-13 22:08:57 +00:00
https://christian.amsuess.com/chrysn
a59637412c Convert previously missing attachment 2021-08-13 20:58:57 +00:00
https://christian.amsuess.com/chrysn
cb36451f26 Tool to drop migrated files for good 2021-08-13 20:53:48 +00:00
Joey Hess
e46a7dff6f
fix windows build 2021-08-13 16:36:33 -04:00
Joey Hess
037bf68269
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-13 16:35:20 -04:00
Joey Hess
751242b55e
status update 2021-08-13 16:34:18 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
41ef5da4e0 the fact that I needed a modification/patch to build mentioned 2021-08-13 03:42:10 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
3dc6c7a9a0 prop_view_roundtrips fails (occasionally) 2021-08-13 03:31:45 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
57884e5442 windows build fails as of 7550ef9a2 2021-08-13 02:17:50 +00:00
Joey Hess
7550ef9a2c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-12 14:50:12 -04:00
Joey Hess
51d59fb260
comment 2021-08-12 14:49:48 -04:00
yarikoptic
6318c0f27f a report on the flood of failing tests on discovery 2021-08-11 20:25:51 +00:00
Joey Hess
2e54564061
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-11 14:51:05 -04:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
285026eb91 Added a comment: I have this behavior consistently on the 2 repos I use 2021-08-11 18:49:41 +00:00
Joey Hess
7eb3742e4b
incremental verify for chunked remotes
Simply feed each chunk in turn to the incremental verifier.

When resuming an interrupted retrieve, it does not do incremental
verification. That would need to read the file, up to the resume point,
and feed it to the incremental verifier. That seems easy to get wrong.
Also it would mean extra work done before the transfer can start. Which
would complicate displaying progress, and would perhaps not appear to the
user as if it was resuming from where it left off. Instead, in that
situation, return UnVerified, and let the verification be done in a
separate pass.

Granted, Annex.CopyFile does manage all that, but it's not complicated
by dealing with chunks too.

Sponsored-by: Dartmouth College's DANDI project
2021-08-11 14:42:49 -04:00
Lukey
e134f411d4 Added a comment 2021-08-11 18:25:51 +00:00
gabrielhidasy@c3d26e2c0b3e669d012f06736616088b42ad0dbe
b9a9273a87 2021-08-11 16:29:37 +00:00
Ilya_Shlyakhter
2df44abad8 Added a comment: sorry 2021-08-10 16:28:33 +00:00
Joey Hess
d424f43116
comment 2021-08-09 16:00:57 -04:00
Joey Hess
885bbed2d4
sheeeeeeeeesh 2021-08-09 15:33:59 -04:00
yarikoptic
8ede4b606d Added a comment 2021-08-09 17:58:55 +00:00
yarikoptic
c7e4af1652 Added a comment 2021-08-09 17:34:39 +00:00
Ilya_Shlyakhter
c4b166aa17 Added a comment: standalone build version vs standard release version 2021-08-09 17:28:31 +00:00
Joey Hess
f54b9f2389
comment 2021-08-09 13:03:19 -04:00
Joey Hess
9d684e4dfa
response 2021-08-09 12:46:10 -04:00
Joey Hess
56fbf57e5f
typo 2021-08-09 12:44:20 -04:00
Joey Hess
5990942b6c
don't use changelog version in commit message
changelog may have a new unreleased version open already
2021-08-09 12:31:48 -04:00
Joey Hess
c9b1b7d067
close 2021-08-09 12:31:36 -04:00
alex
1801400bbb 2021-08-09 04:21:11 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
251c24b388 Added a comment: Automatic watch for the heuristic 2021-08-07 12:25:02 +00:00
yarikoptic
4bebc46ce5 get failing to get if with --debug 2021-08-06 22:11:46 +00:00
yarikoptic
29fad2ec55 reporting on odds in downloads. 2021-08-06 21:53:42 +00:00
Lukey
768bcd18a7 Added a comment 2021-08-06 06:02:38 +00:00
Rob
649079413b Added a comment: creating directory special remote "in-place" 2021-08-05 18:13:36 +00:00
Joey Hess
c5abe37141
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-04 12:40:56 -04:00
Joey Hess
8886ff1cff
done! 2021-08-04 12:40:25 -04:00
Joey Hess
9b9b5759b0
Merge branch 'vectorclock' 2021-08-04 12:39:54 -04:00
Joey Hess
1acdd18ea8
deal better with clock skew situations, using vector clocks
* Deal with clock skew, both forwards and backwards, when logging
  information to the git-annex branch.
* GIT_ANNEX_VECTOR_CLOCK can now be set to a fixed value (eg 1)
  rather than needing to be advanced each time a new change is made.
* Misuse of GIT_ANNEX_VECTOR_CLOCK will no longer confuse git-annex.

When changing a file in the git-annex branch, the vector clock to use is now
determined by first looking at the current time (or GIT_ANNEX_VECTOR_CLOCK
when set), and comparing it to the newest vector clock already in use in
that file. If a newer time stamp was already in use, advance it forward by
a second instead.

When the clock is set to a time in the past, this avoids logging with
an old timestamp, which would risk that log line later being ignored in favor
of "newer" line that is really not newer.

When a log entry has been made with a clock that was set far ahead in the
future, this avoids newer information being logged with an older timestamp
and so being ignored in favor of that future-timestamped information.
Once all clocks get fixed, this will result in the vector clocks being
incremented, until finally enough time has passed that time gets back ahead
of the vector clock value, and then it will return to usual operation.

(This latter situation is not ideal, but it seems the best that can be done.
The issue with it is, since all writers will be incrementing the last
vector clock they saw, there's no way to tell when one writer made a write
significantly later in time than another, so the earlier write might
arbitrarily be picked when merging. This problem is why git-annex uses
timestamps in the first place, rather than pure vector clocks.)

Advancing forward by 1 second is somewhat arbitrary. setDead
advances a timestamp by just 1 picosecond, and the vector clock could
too. But then it would interfere with setDead, which wants to be
overrulled by any change. So it could use 2 picoseconds or something,
but that seems weird. It could just as well advance it forward by a
minute or whatever, but then it would be harder for real time to catch
up with the vector clock when forward clock slew had happened.

A complication is that many log files contain several different peices of
information, and it may be best to only use vector clocks for the same peice
of information. For example, a key's location log file contains
InfoPresent/InfoMissing for each UUID, and it only looks at the vector
clocks for the UUID that is being changed, and not other UUIDs.

Although exactly where the dividing line is can be hard to determine.
Consider metadata logs, where a field "tag" can have multiple values set
at different times. Should it advance forward past the last tag?
Probably. What about when a different field is set, should it look at
the clocks of other fields? Perhaps not, but currently it does, and
this does not seems like it will cause any problems.

Another one I'm not entirely sure about is the export log, which is
keyed by (fromuuid, touuid). So if multiple repos are exporting to the
same remote, different vector clocks can be used for that remote.
It looks like that's probably ok, because it does not try to determine
what order things occurred when there was an export conflict.

Sponsored-by: Jochen Bartl on Patreon
2021-08-04 12:33:46 -04:00
Ilya_Shlyakhter
af0fcf81a1 Added a comment: downloading torrent files to annex 2021-08-04 15:47:12 +00:00
Joey Hess
1a48d51e5b
devblog 2021-08-03 17:14:06 -04:00
Joey Hess
5c23489859
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-03 17:06:27 -04:00
Joey Hess
c67b1e31a6
branch 2021-08-03 17:05:50 -04:00
spwhitton
b28fb4305b Added a comment 2021-08-03 19:10:10 +00:00
Joey Hess
629e95fd8e
update 2021-08-03 14:03:25 -04:00
Joey Hess
bb56186daa
new todo.. I seem to have cracked a longstanding problem
Sponsored-by: Jochen Bartl on Patreon
2021-08-03 13:51:23 -04:00
jwrauch
aba263450a Added a comment 2021-08-03 16:36:21 +00:00
Joey Hess
899983058f
add: When adding a dotfile, avoid treating its name as an extension. 2021-08-03 12:22:58 -04:00
Joey Hess
2572950ca7
add news item for git-annex 8.20210803 2021-08-03 12:21:10 -04:00
Ilya_Shlyakhter
6e67ea5d7c Added a comment 2021-08-03 15:14:53 +00:00
Ilya_Shlyakhter
4ce24173e8 Added a comment: don't give up ;) 2021-08-03 15:06:35 +00:00
Lukey
2bd3be5430 Added a comment 2021-08-03 07:54:13 +00:00
jwrauch
e732bc914f 2021-08-02 17:03:23 +00:00
yarikoptic
20ffa01087 initial observation of .dot filename to consider having .dot extension 2021-08-02 16:56:19 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
70fe0862b4 Added a comment: Also seeing this behaviour 2021-08-02 06:14:41 +00:00
mattplasmastrike@59cb7d099c8665f6c7668d78d9f17db87cabc2fe
2ad890f3df Added a comment 2021-07-31 23:59:12 +00:00
Joey Hess
b3c4579c79
work around strange auto-init bug
git-annex get when run as the first git-annex command in a new repo did not
populate unlocked files. (Reversion in version 8.20210621)

I am not entirely happy with this, because I don't understand how
428c91606b caused the problem in the first
place, and I don't fully understand how skipping calling scanAnnexedFiles
during autoinit avoids the problem.

Kept the explicit call to scanAnnexedFiles during git-annex init,
so that when reconcileStaged is expensive, it can be made to run then,
rather than at some later point when the information is needed.

Sponsored-by: Brock Spratlen on Patreon
2021-07-30 18:36:03 -04:00
Joey Hess
c912e7c4fd
bug 2021-07-30 17:13:15 -04:00
Joey Hess
461035c6ec
close
I'm now reasonably sure I've identified both cases where this can
happen. v8 upgrades and certian filesystems eg NFS. Both are handled as
well as can be, though it may involve some extra checksumming work.
2021-07-30 15:22:22 -04:00
Joey Hess
66089e97de
Fix a rounding bug in display of data sizes
Eg, showImprecise 1 1.99 returned "1.1" rather than "2". The 9 rounded
upward to 10, and that was wrongly used as the decimal, rather than
carrying the 1.

Sponsored-by: Jack Hill on Patreon
2021-07-30 09:56:04 -04:00
uli@8484a70fbfd489faef5f72c230d340b01e2676ca
1c4d6dee90 bugreport: git-annex info . formats 2 TB as 1.1 TB 2021-07-30 07:24:53 +00:00
Joey Hess
d2aead67bd
fsck: Detect and correct stale or missing inode caches for object files
An easy way to see this in action is to have an unlocked file, and touch the
object file.

While all code that compares inode caches for object files needs to be
prepared for this kind of problem and fall back to verification, having
fsck notice it and correct it is cheap (as long as fsck is being run
anyway) and ensures that if it happens for some unusual reason, there's a
way for the user to notice that it's happening.

Not that, when annex.thin is in use, the earlier call to isUnmodified
(and also potentially earlier calls to inAnnex in eg, verifyLocationLog)
will fix up the same problem silently. That might prevent the warning
being displayed, although probably it still will be, because the
Database.Keys write of the InodeCache will be queued but will not have
happened yet. I can't see a way to improve this, but it's not great.

Sponsored-by: Dartmouth College's Datalad project
2021-07-29 14:06:42 -04:00
Joey Hess
d4fc506f27
comment 2021-07-29 13:33:11 -04:00
mih
1e5c60132a Added a comment: Cause cannot (only) be a v7->v8 upgrade 2021-07-29 05:40:36 +00:00
Joey Hess
0ec5919bbe
comment 2021-07-27 13:45:33 -04:00
mih
c3e74710f9 Added a comment: Fixed in 8.20210715-g3b5a3e168 2021-07-27 12:00:35 +00:00
Joey Hess
3b5a3e168d
check if object is modified before starting to send it
Fix bug that caused some transfers to incorrectly fail with "content
changed while it was being sent", when the content was not changed.

While I don't know how to reproduce the problem that several people
reported, it is presumably due to the inode cache somehow being stale.
So check isUnmodified', and if it's not modified, include the file's
current inode cache in the set to accept, when checking for modification
after the transfer.

That seems like the right thing to do for another reason: The failure
says the file changed while it was being sent, but if the object file was
changed before the transfer started, that's wrong. So it needs to check
before allowing the transfer at all if the file is modified.

(Other calls to sameInodeCache or elemInodeCaches, when operating on inode
caches from the database, could also be problimatic if the inode cache is
somehow getting stale. This does not address such problems.)

Sponsored-by: Dartmouth College's Datalad project
2021-07-26 17:33:49 -04:00
Joey Hess
ae015c2ab9
comment 2021-07-26 17:09:14 -04:00
Joey Hess
6bbd606390
comment 2021-07-26 13:59:07 -04:00
Joey Hess
f195f3b541
more inode cache debugging 2021-07-26 12:57:35 -04:00
Joey Hess
1fc6e6a65f
close this frustrating todo due to lack of followup and/or being fixed 2021-07-26 11:16:58 -04:00
Joey Hess
5a7e76d5c1
comment 2021-07-26 11:13:12 -04:00
mih
9490ca5a26 Added a comment: strace logs 2021-07-26 07:10:22 +00:00
Joey Hess
645b045e02
comment 2021-07-22 14:14:25 -04:00
Joey Hess
801a5ddb9b
comment 2021-07-22 14:01:12 -04:00
Joey Hess
2ab19be3f6
comment 2021-07-22 13:34:27 -04:00
Joey Hess
f8376821c7
comment 2021-07-22 13:28:23 -04:00
mih
f4a35892cf Added a comment: Carification 2021-07-22 14:59:23 +00:00
mih
5a7ca6f72c Added a comment: Reproducible with 8.20210715-g39d747936 2021-07-22 14:54:40 +00:00
Joey Hess
39d7479366
comment 2021-07-21 11:06:03 -04:00
neil.okamoto@6ca5b1b6563bc71ce13ec235852d23e6ac86e331
9da4a7d5b2 Added a comment 2021-07-21 07:13:02 +00:00
neil.okamoto@6ca5b1b6563bc71ce13ec235852d23e6ac86e331
24c88e8167 Added a comment 2021-07-20 23:22:29 +00:00
Joey Hess
455e182e21
comment 2021-07-19 12:39:17 -04:00
Joey Hess
3d50b47ded
sync, merge: Added --allow-unrelated-histories option
Which is the same as the git merge option.

After last commit, this turns out to be needed in the test suite, and when
doing git-annex import from special remote, followed by a git-annex merge.

Sponsored-by: Svenne Krap on Patreon
2021-07-19 12:14:26 -04:00
Joey Hess
33a80d083a
sync --quiet
* sync: When --quiet is used, run git commit, push, and pull without
  their ususual output.
* merge: When --quiet is used, run git merge without its usual output.

This might also make --quiet work better for some other commands
that make commits, like git-annex adjust.

Sponsored-by: Kevin Mueller on Patreon
2021-07-19 11:28:47 -04:00
Joey Hess
f84bd8e921
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-19 11:24:45 -04:00
Joey Hess
fccb51ac09
comment 2021-07-19 10:29:12 -04:00
Atemu
99f136c2bc 2021-07-18 22:36:15 +00:00
remyabel
6517d057a0 2021-07-18 04:25:29 +00:00
anarcat
6d4baa4943 Added a comment: same problem on debian bullseye 2021-07-18 02:02:43 +00:00
Joey Hess
30eed6cf97
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-17 17:42:57 -04:00
Atemu
cf708a8871 Added a comment 2021-07-16 22:47:44 +00:00
Joey Hess
c9b9a93509
close 2021-07-16 16:28:22 -04:00
Joey Hess
acbf711e21
comment 2021-07-16 15:16:56 -04:00
Joey Hess
aa33c928cb
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-16 14:02:41 -04:00
Joey Hess
dc4e79c582
I understand this now, marking confirmed 2021-07-16 14:02:12 -04:00
alt
a4f31f583c Added a comment 2021-07-16 12:37:47 +00:00
Atemu
a4947c65ec Added a comment 2021-07-16 11:21:43 +00:00
guardcat
498e9d74e1 Added a comment: appendix 2021-07-16 06:34:53 +00:00
guardcat
dc56673246 Added a comment: Fixing problem 2021-07-16 06:21:23 +00:00
guardcat
b4edd6f1a9 removed 2021-07-16 06:03:55 +00:00
guardcat
8b33b4254c Added a comment: Fixing problem 2021-07-16 06:02:17 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
cc36d6e538 2021-07-16 00:32:49 +00:00
Lukey
3c1f7ee773 Added a comment 2021-07-15 18:40:13 +00:00
Lukey
ca12b01fca Clarify 2021-07-15 18:30:22 +00:00
Joey Hess
84fad13bbf
more forumbugs
There are surely a lot more of these..
2021-07-15 13:06:56 -04:00
Joey Hess
0846d3679e
followup 2021-07-15 13:05:25 -04:00
Joey Hess
86524edd29
more forumbugs 2021-07-15 12:59:43 -04:00
Joey Hess
019b91f2a9
fix name 2021-07-15 12:56:44 -04:00
Joey Hess
19b3afeec5
rename tag page 2021-07-15 12:55:05 -04:00
Joey Hess
c63fca74e9
fix syntax 2021-07-15 12:53:03 -04:00
Joey Hess
1fad1640fe
don't treat bugreport tag page as a bug report 2021-07-15 12:52:21 -04:00
Joey Hess
fd9ea6e1da
forum posts tagged bugreport get moved to the bug list and can be closed 2021-07-15 12:50:08 -04:00
Joey Hess
c952c485c8
Fix retrieval of content from borg repos accessed over ssh
It was making the borgrepo path absolute.. even when it was a ssh
repository.

Made BorgRepo a newtype, to guard against accidentially treating it like a
FilePath.

Sponsored-by: Graham Spencer on Patreon
2021-07-15 12:39:24 -04:00
Joey Hess
b2a7a665b2
comment 2021-07-15 12:19:49 -04:00
Joey Hess
dd31fe7b9e
fall back to checking lower case hash directories in normal repo
Fix a bug that prevented getting content from a repository that started out
as a bare repository, or had annex.crippledfilesystem set, and was
converted to a non-bare repository.

This unfortunately means that inAnnex check gets slowed down by a stat call
in normal repos when the content is not present. Oh well, such is the cost
of backwards compatability with old mistakes.

Sponsored-by: Mark Reidenbach on Patreon
2021-07-15 12:16:31 -04:00
Joey Hess
c3fb25c317
comment 2021-07-15 11:48:12 -04:00
Joey Hess
a8d1d83c0b
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-15 11:43:40 -04:00
guardcat
2a0ac54f2a 2021-07-15 10:33:26 +00:00
guardcat
c9c33d73ec 2021-07-15 10:29:59 +00:00
guardcat
6855905d04 2021-07-15 09:45:54 +00:00
guardcat
2f00626880 2021-07-15 09:35:40 +00:00
alt
24041617a4 2021-07-15 07:19:33 +00:00
jzj
84f8584ada 2021-07-15 03:10:45 +00:00
Atemu
eb89eeea30 Added a comment 2021-07-14 21:27:42 +00:00
Joey Hess
26e6def0ef
wording 2021-07-14 17:08:38 -04:00
Joey Hess
eec9312090
link 2021-07-14 16:47:21 -04:00
Joey Hess
274d2380c7
better key matching with a regexp
Handles keys that are substrings of other keys, as well as pointer files
that contain a newline after the key.

Note that -S does not match regexp, while -G does by default. Docs are
not clear, determined experimentally. The only other difference in
changing to -G is that if a file used to contain the key and changed
in some way, while still containing the key, -G will match and -S would
not. So eg, annex links that git annex fix rewrites will match, and
files that change lock status will match. Which is an improvement anyway.

Sponsored-by: Jochen Bartl on Patreon
2021-07-14 16:31:17 -04:00
Joey Hess
d6f056eca3
have whereused also check the reflog
Since the stash is part of that, it can also find stashed content.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-07-14 16:05:20 -04:00
Joey Hess
8c0ac094ed
minor bug in new whereused 2021-07-14 16:04:54 -04:00
Joey Hess
47d3dccf19
whereused implemented
except --historical

Sponsored-by: Jack Hill on Patreon
2021-07-14 14:27:21 -04:00
Joey Hess
980613ec8c
man page for git-annex whereused
And an implementation strategy.

Sponsored-by: Brett Eisenberg on Patreon
2021-07-14 13:43:45 -04:00
Joey Hess
2512ba2f16
link to new catalina build
The old build is still present, but not being updated, so it seems best
to not link to it.
2021-07-14 12:26:13 -04:00
Joey Hess
684d7e4a17
add news item for git-annex 8.20210714 2021-07-14 12:23:57 -04:00
Joey Hess
6db4ee6c34
comment 2021-07-14 12:01:34 -04:00
Atemu
fc5c6c6f11 Added a comment 2021-07-13 21:13:12 +00:00
Joey Hess
ca8f39295f
close not a bug 2021-07-13 14:00:19 -04:00
Joey Hess
011341ff1a
comment 2021-07-13 13:20:14 -04:00
Joey Hess
93d8585faf
comment 2021-07-13 13:17:27 -04:00
Joey Hess
facf7d1d2e
followup 2021-07-13 13:04:56 -04:00
Joey Hess
ce6a288412
comment 2021-07-13 12:47:56 -04:00
Joey Hess
7b615c6bc4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-13 12:19:21 -04:00
Joey Hess
8885bd3c5b
addistant: honor annex.delayadd for non-large files
assistant: When adding non-large files to git, honor annex.delayadd
configuration.

Also, don't add non-large files to git when they are still
being written to. This came for free, since the changes to non-large
files get queued up with the ones to large files, and run through the lsof
check.

Sponsored-by: Luke Shumaker on Patreon
2021-07-13 12:17:00 -04:00
Ilya_Shlyakhter
e371367cb0 Added a comment: (partial) filenames in keys 2021-07-13 15:13:27 +00:00
Ilya_Shlyakhter
f4a281f712 Added a comment 2021-07-13 03:05:45 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
72b9db6680 Added a comment 2021-07-12 22:48:26 +00:00
Joey Hess
2018cb4a97
comment 2021-07-12 16:00:59 -04:00
yarikoptic
d26c28c5f3 Added a comment 2021-07-12 17:44:58 +00:00
Joey Hess
b4c149b05e
comment 2021-07-12 12:05:52 -04:00
Ilya_Shlyakhter
5b45deda15 Added a comment: about maxextensionlength 2021-07-12 15:38:22 +00:00
Ilya_Shlyakhter
ea3fdc43d6 Added a comment 2021-07-12 15:30:25 +00:00
Joey Hess
443f841b78
comment 2021-07-12 11:20:51 -04:00
Joey Hess
bb87ee3375
comment 2021-07-12 11:01:59 -04:00
Joey Hess
0d3da9496f
comment 2021-07-12 10:57:44 -04:00
Joey Hess
a6767ca81f
close bug
and mention another aspect of the reversion in changelog
2021-07-12 10:45:57 -04:00
Joey Hess
5faf84c3a7
close as dup 2021-07-12 10:32:19 -04:00
Joey Hess
b2ba8c8aa4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-12 10:24:59 -04:00
Joey Hess
0ea263a036
update 2021-07-12 10:24:42 -04:00
yarikoptic
0bb668dcbe Added a comment 2021-07-12 14:17:52 +00:00
Joey Hess
6a581f8b8b
fix init reversion when core.sharedRepository = group
init: Fix misbehavior when core.sharedRepository = group that caused it to
enter an adjusted branch. (Reversion in version 8.20210630)

Commit 4b1b9d7a83 made init call
freezeContent in case there was a hook that could prevent writing in
situations where perms don't. But with the above git config, freezeContent
does not prevent write at all. So init needs to do what freezeContent does
with a non-shared git config.

Or init could check for that config, and skip the probing, since it
won't actually be preventing write to any files. But that would make init
too aware if details of Annex.Perms, and also would break if the git config
were changed after init.

Sponsored-by: Dartmouth College's Datalad project
2021-07-12 10:15:49 -04:00
Joey Hess
215aee105d
commet 2021-07-12 09:57:48 -04:00
Joey Hess
cd37ecb319
followup 2021-07-12 09:45:37 -04:00
Joey Hess
b885007f0e
--debug output goes to stderr again, not stdout
Reversion in version 8.20210428

Sponsored-by: Dartmouth College's Datalad project
2021-07-12 09:40:38 -04:00
Joey Hess
3586ee275f
response 2021-07-12 09:33:30 -04:00
Ilya_Shlyakhter
e85eed583f Added a comment 2021-07-09 16:04:47 +00:00
https://christian.amsuess.com/chrysn
b4d33f3358 Added a comment: +1 on supportunlocked in git-annex config 2021-07-09 15:26:13 +00:00
https://christian.amsuess.com/chrysn
4a78debbe1 Added a comment: +1 on supportunlocked in git-annex config 2021-07-09 15:25:53 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
d3363e405a 2021-07-08 18:04:14 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
f17bf84fb7 2021-07-08 18:03:19 +00:00
yarikoptic
ff5a2e815c initial coarse report on the change in behavior in recent release 2021-07-08 01:42:32 +00:00
yarikoptic
fe1faa17d3 2021-07-07 22:32:08 +00:00
yarikoptic
abe08e3e49 initial report on stdout 2021-07-07 21:57:11 +00:00
montag451@936dce8d65e900b139b9ca7fc549d96c616dd3c3
fa1dc84e99 2021-07-06 19:50:36 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
a74ea32352 Added a comment 2021-07-06 19:49:07 +00:00
montag451@936dce8d65e900b139b9ca7fc549d96c616dd3c3
5e1defdddc 2021-07-06 19:41:52 +00:00
pat
6f98b23bf1 Added a comment 2021-07-06 19:13:17 +00:00
Ilya_Shlyakhter
9dd962aa73 added suggestion: add maxextensionlength to git-annex-config 2021-07-06 15:05:05 +00:00
Ilya_Shlyakhter
92c0080bf4 Added a comment: about keys with extensions 2021-07-06 14:59:24 +00:00
Joey Hess
2a328dca8c
comment 2021-07-06 10:09:03 -04:00
Joey Hess
92ca28c47b
close 2021-07-06 09:46:25 -04:00
Joey Hess
c00a15dde0
close 2021-07-06 09:45:45 -04:00
Joey Hess
ec809de4b0
comment 2021-07-05 13:19:53 -04:00
Joey Hess
b9db859221
addurl: Avoid crashing when used on beegfs.
Sponsored-by: Dartmouth College's DANDI project
2021-07-05 13:02:40 -04:00
Joey Hess
17f8682d19
comment 2021-07-05 12:17:55 -04:00
Joey Hess
13337e22d6
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-05 12:12:51 -04:00
Joey Hess
ca76343e71
update 2021-07-05 09:37:26 -04:00
strmd
3e1b404a54 Added a comment 2021-07-05 07:07:35 +00:00
css@fcd6583660cae4ea6565f44f31443feb8e131139
8c8dd1be6a Added a comment 2021-07-05 03:17:39 +00:00
yarikoptic
4c191b2f0f Added a comment 2021-07-04 03:27:20 +00:00
pat
1dfaac553b Added a comment 2021-07-04 00:28:09 +00:00
pat
c95d359281 2021-07-03 23:14:30 +00:00
yarikoptic
c381d60f64 allocate to dandi project 2021-07-03 13:44:53 +00:00
Joey Hess
a44e14678a
update for autobuilder changes 2021-07-02 13:03:19 -04:00
Joey Hess
0222817a05
update autobuilds 2021-07-02 13:01:24 -04:00
Joey Hess
763265e537
change autobuild link to something that works not a stale repo 2021-07-02 12:06:56 -04:00
Joey Hess
5f0cc72303
comment 2021-07-02 10:42:54 -04:00
yarikoptic
f8f6d692b7 beegfs tests fails 2021-07-01 23:44:25 +00:00
Ilya_Shlyakhter
f45abc5e28 Added a comment: syncing standalone version with the standard version 2021-07-01 18:44:03 +00:00
Ilya_Shlyakhter
97eb79e752 Added a comment: read-only view of repo clone with symlinks as normal files 2021-07-01 17:17:20 +00:00
Joey Hess
898a677bce
fix build on windows
Sponsored-by: Dartmouth College's Datalad project
2021-07-01 12:52:33 -04:00
Joey Hess
d9124bb8ce
tag because this is affecting datalad
https://github.com/datalad/datalad/issues/5750
2021-07-01 12:49:32 -04:00
Joey Hess
51335e9aad
comments 2021-07-01 12:45:03 -04:00
Joey Hess
d2c48404a8
assistant: Avoid unncessary git repository repair
In a situation where git fsck gets confused about a commit that is made
while it's running.

Sponsored-by: Graham Spencer on Patreon
2021-06-30 18:00:16 -04:00
Joey Hess
ee2e7c28a6
update 2021-06-30 17:20:15 -04:00
Joey Hess
c64309804a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-30 16:53:43 -04:00
Joey Hess
0ffcfbdca6
bug 2021-06-30 16:44:30 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
f0a56531e8 Added a comment 2021-06-30 16:22:13 +00:00
Joey Hess
7eec5c516d
add news item for git-annex 8.20210630 2021-06-30 11:49:11 -04:00
Joey Hess
73ccf34763
closing 2021-06-30 11:47:39 -04:00
yarikoptic
0e7906e802 Added a comment 2021-06-30 14:26:34 +00:00
jwodder
d296fb9693 2021-06-30 13:16:19 +00:00
falsifian
0a9a9c44e7 Added a comment 2021-06-30 00:09:23 +00:00
Atemu
99266d7875 Added a comment 2021-06-29 22:57:39 +00:00
yarikoptic
fe32661cf5 Added a comment 2021-06-29 17:27:35 +00:00
Joey Hess
199391befe
make repair interruption safe
Fixed bug that interrupting git-annex repair (or assistant) while it was
fixing repository corruption would lose objects that were contained in pack
files.

Unpack all pack files and move objects into place *before* deleting the
pack files. The old approach moved the pack files to a temp directory
before unpacking them, which was not interruption safe.

Sponsored-By: Jochen Bartl on Patreon
2021-06-29 13:14:28 -04:00
Joey Hess
a492553eca
some analysis 2021-06-28 15:00:21 -04:00
Joey Hess
26b0895187
close 2021-06-28 13:14:19 -04:00
Joey Hess
34b958144d
close 2021-06-28 13:11:13 -04:00
Joey Hess
5594d00f8c
close 2021-06-28 13:08:57 -04:00
Joey Hess
ef5fb1a853
close 2021-06-28 13:05:26 -04:00
Joey Hess
d7d9363677
comment 2021-06-28 12:54:41 -04:00
Joey Hess
9cb5ed2446
avoid using cp --reflink=auto on windows
Sponsored-by: Dartmouth College's Datalad project
2021-06-28 12:51:40 -04:00
Joey Hess
b8e32e200e
addurl, importfeed: Added --no-raw option
Forces eg, download with youtube-dl without falling back to raw download.

Since youtube-dl failing due to an url not being supported is difficult to
distinguish from it failing due to being blocked in some way, this can be
useful to avoid the fallback of git-annex downloading the raw web page and
adding that.

Since --raw also prevents using special remotes, --no-raw also
allows special remote downloads. Although it's always possible that some
special remote may claim an url and fall back to raw download of the
content, which --no-raw cannot prevent.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-06-27 11:14:51 -04:00
Joey Hess
3a14648142
dropping unused marks as dead
Dropping an object with drop --unused or dropunused will mark it as
dead, preventing fsck --all from complaining about it after it's been
dropped from all repositories.

If another repository still has a copy, it won't be treated as dead
until it's also dropped from there.

The drop has to use --unused, can't be --key or something else, because
this indicates that the user has recently ran git-annex unused. If it
checked the unused log on every drop, bad things would happen when the
unused log was out of date, eg a file used to be unused but then got
re-added. Marking such a file as dead could be confusing. When the user
uses --unused/dropunused, they must consider the unused information to be
up-to-date.

The particular workflow this enables is:

	git annex add foo
	git annex unannex foo
	git annex unused
	git annex drop --unused / dropunused
	git annex fsck --all # no warnings

The docs for git-annex unannex say to use git-annex unused and dropunused,
so the user should be pointed in this direction when they want to undo an
accidental add.

Sponsored-by: Brock Spratlen on Patreon
2021-06-25 15:22:26 -04:00
Joey Hess
b08b9ed210
fix innacuracy
--all does not skip dead keys for all commands;
git-annex fsck checks if a key is dead and skips it.
2021-06-25 14:48:36 -04:00
Joey Hess
0c1df95dd7
comment 2021-06-25 14:15:14 -04:00
Joey Hess
172c7e22e9
comment 2021-06-25 13:52:59 -04:00
Joey Hess
0966bd2de4
comment 2021-06-25 13:33:27 -04:00
Joey Hess
df2001aa88
Improve display of errors when transfers fail
Transfers from or to a local git repo could fail without a reason being
given, if the content failed to verify, or if the object file's stat
changed while it was being copied. Now display messages in these cases.

Sponsored-by: Jack Hill on Patreon
2021-06-25 13:17:04 -04:00
Joey Hess
f5595ea063
comment 2021-06-25 12:13:25 -04:00
Joey Hess
e2cc9bf53d
comment 2021-06-25 12:11:05 -04:00
strmd
3eb68df9d5 Added a comment 2021-06-25 15:07:55 +00:00
Ilya_Shlyakhter
27df3f8e88 added suggestion re: hardening git-annex against interruptions 2021-06-24 18:16:43 +00:00
Ilya_Shlyakhter
7ad95210d1 Added a comment: resolving merge conflicts 2021-06-24 18:03:40 +00:00
Lukey
fb2e418fa2 Added a comment 2021-06-24 17:43:36 +00:00
Ilya_Shlyakhter
879ac0b713 Added a comment: thanks 2021-06-24 16:40:48 +00:00
Joey Hess
847aa88bcb
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-23 17:31:09 -04:00
Joey Hess
a3a6e64122
comment 2021-06-23 17:30:50 -04:00
Ilya_Shlyakhter
7bff1dc27c Added a comment: recovering from sqlite db corruption 2021-06-23 18:45:47 +00:00
Joey Hess
af64c184f3
comment 2021-06-23 13:19:34 -04:00
Joey Hess
b980d90b05
close 2021-06-23 12:59:00 -04:00
Joey Hess
689d54cd43
comment 2021-06-23 12:54:48 -04:00
Joey Hess
e701f69ac4
comment and close 2021-06-23 12:53:18 -04:00
datamanager
26511c3166 Added a comment: an alternative 2021-06-23 01:29:23 +00:00
Lukey
d2ba1698c9 2021-06-22 18:40:56 +00:00
Ilya_Shlyakhter
0cc3fc6bbf Added a comment: old comments 2021-06-22 14:03:24 +00:00
Joey Hess
0fe550af75
fix windows build 2021-06-22 09:46:06 -04:00
jwodder
4b93e933db 2021-06-22 13:21:17 +00:00
Joey Hess
4b1b9d7a83
Added annex.freezecontent-command and annex.thawcontent-command configs
Freeze first sets the file perms, and then runs
freezecontent-command. Thaw runs thawcontent-command before
restoring file permissions. This is in case the freeze command
prevents changing file perms, as eg setting a file immutable does.
Also, changing file perms tends to mess up previously set ACLs.

git-annex init's probe for crippled filesystem uses them, so if file perms
don't work, but freezecontent-command manages to prevent write to a file,
it won't treat the filesystem as crippled.

When the the filesystem has been probed as crippled, the hooks are not
used, because there seems to be no point then; git-annex won't be relying
on locking annex objects down. Also, this avoids them being run when the
file perms have not been changed, in case they somehow rely on
git-annex's setting of the file perms in order to work.

Sponsored-by: Dartmouth College's Datalad project
2021-06-21 14:40:52 -04:00
Joey Hess
f23ae9a45b
comment 2021-06-21 13:52:50 -04:00
Joey Hess
ea0835eba6
tag datalad
at yoh's request
2021-06-21 13:23:51 -04:00
Joey Hess
c2347d8bfc
comment 2021-06-21 13:21:43 -04:00
Joey Hess
69f72db0b7
remove old android comments/bug reports 2021-06-21 13:21:27 -04:00
Joey Hess
06ef5dacdc
remove comment I made to the wrong place
I am not sure what forum thread I was intending to comment on
2021-06-21 13:13:28 -04:00
Joey Hess
a6a6217322
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 2020.

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-2020 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2020 --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-2020 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2020 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
2021-06-21 13:10:13 -04:00
Joey Hess
1cc7b2661e
push synced/master before synced/git-annex
sync: Partly work around github behavior that first branch to be pushed to
a new repository is assumed to be the head branch, by not pushing
synced/git-annex first.

github expects master (or whatever the name is) to be pushed first, but
git-annex sync can't, because it's got to also support pushes to non-bare
repos where pushing master fails, as explained in the big comment. So
pushing synced/master is not entirely a fix, but at least it makes github
default to a branch with the stuff the user expects in it, not a bunch of
annex log files.

Aside from fixing github to not make this assumption, or improving
the git push protocol to include what the current HEAD is, the only other
approach I can think of is to identify git push's progress messages and
display those when pushing master, while filtering out error messages
about non-fast-forward etc. But git doesn't provide a way to separate out
or identify its progress messages.

Sponsored-by: Luke Shumaker on Patreon
2021-06-21 12:32:21 -04:00
Joey Hess
fcd5c6a21c
remove comment on now-deleted post 2021-06-21 12:19:00 -04:00
Joey Hess
2405f34ad4
add news item for git-annex 8.20210621 2021-06-21 12:18:37 -04:00
Joey Hess
b584c4e2c9
comment 2021-06-21 12:17:19 -04:00
kinshukkashyap.me@35751535d5ebba69df2f2ead4f868251d1aadacf
c5149cfe93 Added a comment 2021-06-20 07:44:35 +00:00
Lukey
159a0ac81d Added a comment 2021-06-20 07:15:04 +00:00
kinshukkashyap.me@35751535d5ebba69df2f2ead4f868251d1aadacf
b24744652e Added a comment 2021-06-20 06:54:37 +00:00
falsifian
95f685f2ca Added a comment 2021-06-19 23:48:21 +00:00
falsifian
a73624b161 Added a comment 2021-06-19 23:41:25 +00:00
Ilya_Shlyakhter
c772294eb3 Added a comment 2021-06-19 18:31:59 +00:00
Lukey
0115e5441d Added a comment 2021-06-19 12:14:33 +00:00
kinshukkashyap.me@35751535d5ebba69df2f2ead4f868251d1aadacf
566e1e8524 Added a comment 2021-06-19 10:22:58 +00:00
Ilya_Shlyakhter
4bd734bd5b Added a comment: setting up sync 2021-06-18 18:55:00 +00:00
kinshukkashyap.me@35751535d5ebba69df2f2ead4f868251d1aadacf
f059bcb3fc Added a comment 2021-06-18 15:11:23 +00:00
Lukey
3483afe5e3 Added a comment 2021-06-18 14:50:45 +00:00
Kinshuk
59fa777061 2021-06-18 14:10:42 +00:00
Kinshuk
6079634f61 2021-06-18 14:07:55 +00:00
james@06209b7878fcf3b5c46b8028dacb3cec6609369c
3a7d68042f Added a comment 2021-06-17 18:14:45 +00:00
yarikoptic
538780ebaf Added a comment 2021-06-16 21:32:58 +00:00
Ilya_Shlyakhter
bfa530e962 added suggestion to allow use of synchronous=OFF with Sqlite 2021-06-16 20:06:39 +00:00
Ilya_Shlyakhter
afb8c5f078 Added a comment: thanks 2021-06-16 19:54:02 +00:00
Joey Hess
b5eacd6be3
comment 2021-06-16 12:07:08 -04:00
Oumaima
a2f2895222 Added a comment: adding disableremote 2021-06-16 07:37:24 +00:00
Oumaima
44766b06ff removed 2021-06-16 07:36:54 +00:00
Oumaima
b90df0bfd8 Added a comment: adding disableremote 2021-06-16 07:36:16 +00:00
Joey Hess
e055ffe18e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-15 11:46:04 -04:00
yarikoptic
9dfda0899a removed 2021-06-15 15:38:47 +00:00
Joey Hess
d2be68907c
drop, move, mirror: when two files have the same content, honor the max numcopies and requiredcopies
Eg, before with a .gitattributes like:

*.2 annex.numcopies=2
*.1 annex.numcopies=1

And foo.1 and foo.2 having the same content and key, git-annex drop foo.1 foo.2
would succeed, leaving just 1 copy, despite foo.2 needing 2 copies.
It dropped foo.1 first and then skipped foo.2 since its content was gone.

Now that the keys database includes locked files, this longstanding wart
can be fixed.

Sponsored-by: Noam Kremen on Patreon
2021-06-15 11:38:44 -04:00
yarikoptic
35371af3da Added a comment 2021-06-15 15:38:28 +00:00
yarikoptic
5ac6583621 Added a comment 2021-06-15 15:38:16 +00:00
Joey Hess
af9fdf5dba
verify associated files when checking numcopies
Most of this is just refactoring. But, handleDropsFrom
did not verify that associated files from the keys db were still
accurate, and has now been fixed to.

A minor improvement to this would be to avoid calling catKeyFile
twice on the same file, when getting the numcopies and mincopies value,
in the common case where the same file has the highest value for both.
But, it avoids checking every associated file, so it will scale well to
lots of dups already.

Sponsored-by: Kevin Mueller on Patreon
2021-06-15 11:14:52 -04:00
Joey Hess
effc9bf5dd
close 2021-06-15 10:11:14 -04:00
Joey Hess
4fbfe0082f
respinse 2021-06-15 10:02:41 -04:00
Joey Hess
895a4750ba
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-15 09:47:30 -04:00
Joey Hess
3af4c9a29a
fix exponential blowup when adding lots of identical files
This was an old problem when the files were being added unlocked,
so the changelog mentions that being fixed. However, recently it's also
affected locked files.

The fix for locked files is kind of stupidly simple. moveAnnex already
handles populating unlocked files, and only does it when the object file
was not already present. So remove the redundant populateUnlockedFiles
call. (That call was added all the way back in
cfaac52b88, and has always been
unncessary.)

Sponsored-by: Dartmouth College's Datalad project
2021-06-15 09:45:55 -04:00
Joey Hess
e147ae07f4
remove supportUnlocked check that is not worth its overhead
moveAnnex only gets to that check if the object file was not present
before. So in the case where dup files are being added repeatedly,
it will only run the first time, and so there's no significant speedup
from doing it; all it avoids is a single sqlite lookup. Since MVar
accesses do have overhead, it's better to optimise for the common case,
where unlocked files are supported.

removeAnnex is less clear cut, but I think mostly is skipped running on
keys when the object has already been dropped, so similar reasoning
applies.
2021-06-15 09:28:56 -04:00
9qf@758d7b174d81a134727acab9db0168c8f0782b3a
85b2dbce32 2021-06-15 12:21:19 +00:00
Joey Hess
6099edbf1c
bloom doesn't work, but this should I hope 2021-06-14 17:53:01 -04:00
Joey Hess
2df4c1cf91
plan 2021-06-14 17:13:37 -04:00
Joey Hess
0e3802c7ee
comment 2021-06-14 15:11:09 -04:00
Joey Hess
643dc36e37
going round and round, boredly 2021-06-14 14:37:06 -04:00
Joey Hess
fa6e8fc660
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-14 14:34:35 -04:00
Joey Hess
711252331e
comment 2021-06-14 14:34:22 -04:00
Joey Hess
398f9decd4
comment 2021-06-14 14:32:38 -04:00
Joey Hess
78da00c7a6
Future proof activity log parsing
When the log has an activity that is not known, eg added by a future
version of git-annex, it used to be treated as no activity at all,
which would make git-annex expire think it should expire the repository,
despite it having some kind of recent activity.

Hopefully there will be no reason to add a new activity until enough
time has passed that this commit is in use everywhere.

Sponsored-by: Jake Vosloo on Patreon
2021-06-14 14:18:19 -04:00
yarikoptic
6043a2c7a0 Added a comment 2021-06-14 17:36:16 +00:00
james@06209b7878fcf3b5c46b8028dacb3cec6609369c
9d34a9d013 2021-06-14 17:19:50 +00:00
Joey Hess
372ace599a
comment 2021-06-14 13:13:46 -04:00
Joey Hess
f0cbaa194c
improve docs based on forum feedback 2021-06-14 13:04:58 -04:00
Joey Hess
fbd2f96b2c
comment 2021-06-14 12:56:29 -04:00
Joey Hess
dcd2c95249
fix windows build 2021-06-14 12:43:26 -04:00
Joey Hess
3ac9363c03
comment 2021-06-14 12:42:11 -04:00
Joey Hess
014dc63a55
avoid sometimes expensive operations when annex.supportunlocked = false
This will mostly just avoid a DB lookup, so things get marginally
faster. But in cases where there are many files using the same key, it
can be a more significant speedup.

Added overhead is one MVar lookup per call, which should be small
enough, since this happens after transferring or ingesting a file,
which is always a lot more work than that. It would be nice, though,
to move getGitConfig to AnnexRead, which there is an open todo about.
2021-06-14 12:40:41 -04:00
Joey Hess
a02b5c2904
response 2021-06-14 12:36:42 -04:00
yarikoptic
51fede57a2 Added a comment 2021-06-14 16:23:41 +00:00
Ilya_Shlyakhter
35afd58a76 Added a comment: git-annex-add slowdown 2021-06-14 16:00:44 +00:00
Joey Hess
c4f1465a81
check symlink before reading file
This is faster because when multiple files are in a directory, it gets
cached.
2021-06-14 11:53:51 -04:00