Commit graph

33124 commits

Author SHA1 Message Date
Joey Hess
da83652c76
addurl --preserve-filename: reject control characters
As well as escape sequences, control characters seem unlikely to be desired when
doing addurl, and likely to trip someone up. So disallow them as well.

I did consider going the other way and allowing filenames with control characters
and escape sequences, since git-annex is in the process of escaping display
of all filenames. Might still be a better idea?

Also display the illegal filename git quoted when it rejects it.

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-04-10 12:18:25 -04:00
Joey Hess
2ba1559a8e
git style quoting for ActionItemOther
Added StringContainingQuotedPath, which is used for ActionItemOther.

In the process, checked every ActionItemOther for those containing
filenames, and made them use quoting.

Sponsored-by: Graham Spencer on Patreon
2023-04-08 16:30:01 -04:00
Joey Hess
c5b017e55b
full emulation of git filename escaping
Not yet used, but the plan is to make git-annex use this when displaying
filenames similar to how git does.

Sponsored-by: Lawrence Brogan on Patreon
2023-04-07 17:17:31 -04:00
Joey Hess
f0b1034f8f
add news item for git-annex 10.20230407 2023-04-07 13:37:18 -04:00
Joey Hess
218cb6ab56
expand 2023-04-07 13:13:16 -04:00
Joey Hess
e6a4782b0c
response 2023-04-07 13:00:56 -04:00
Joey Hess
b4e5f2b8a4
response 2023-04-07 12:52:43 -04:00
Joey Hess
868eb44562
Merge branch 'master' of ssh://git-annex.branchable.com 2023-04-07 12:42:09 -04:00
jwodder
b8afb79ada 2023-04-07 15:19:04 +00:00
mih
c83a783f45 Added a comment: Status of the import/export protocol implementation 2023-04-07 09:17:22 +00:00
Joey Hess
c417336fbb
todo 2023-04-05 19:37:21 -04:00
Joey Hess
98a3ba0ea5
restore old registerurl location tracking behavior
registerurl: When an url is claimed by a special remote other than the web,
update location tracking for that special remote.

registerurl's behavior was changed in commit
451171b7c1, apparently accidentially to not
update location tracking except for the web.

This makes registerurl followed by unregisterurl not be a no-op, when the
url happens to be claimed by a remote other than the web. It is a noop when
the url is unclaimed except by the web. I don't like the inconsistency,
and wish that registerurl and unregisterurl never updated location
tracking, which would be more in keeping with them being plumbing.

But there is the fact that it used to behave this way, and also it was
inconsistent that it updated location tracking for the web but not for
other remotes, unlike addurl. And there's an argument that the user might
not know what remote to expect to claim an url, so would be considerably in
the dark when using registerurl. (Although they have to know what content
gets downloaded, since they specify a key..)

Sponsored-By: the NIH-funded NICEMAN (ReproNim TR&D3) project
2023-04-05 17:06:44 -04:00
Joey Hess
26a094ac1a
hm 2023-04-05 16:36:18 -04:00
Joey Hess
eecd02fd3d
Merge branch 'master' of ssh://git-annex.branchable.com 2023-04-05 15:56:31 -04:00
Joey Hess
2b940f7725
registerurl, unregisterurl: Added --remote option
This serves two purposes. --remote=web bypasses other special remotes that
claim the url, same as addurl --raw. And, specifying some other remote
allows making sure that an url is claimed by the remote you expect,
which makes then using setpresentkey not be fragile.

Sponsored-By: the NIH-funded NICEMAN (ReproNim TR&D3) project
2023-04-05 15:54:41 -04:00
yarikoptic
1751ddd759 Added a comment 2023-04-05 19:36:41 +00:00
Joey Hess
c39d72ac78
comments 2023-04-05 15:00:39 -04:00
Joey Hess
06c584a267
Merge branch 'master' of ssh://git-annex.branchable.com 2023-04-05 11:04:55 -04:00
Joey Hess
1780b657bc
update 2023-04-05 11:04:35 -04:00
jkniiv
247430a272 Added a comment 2023-04-05 09:42:12 +00:00
yarikoptic
e4c93a233e Added a comment 2023-04-05 01:03:38 +00:00
yarikoptic
25bdb45b72 Added a comment 2023-04-05 00:30:00 +00:00
yarikoptic
352a274f53 Added a comment 2023-04-04 20:15:59 +00:00
Joey Hess
d0e94b4302
fixed 2023-04-04 15:19:25 -04:00
Joey Hess
68a0491f83
comment 2023-04-04 14:43:33 -04:00
Joey Hess
4e64af0010
comment 2023-04-04 14:31:25 -04:00
Joey Hess
31ffb0f216
probably fixed but I didn't actually reproduce it 2023-04-04 14:25:55 -04:00
Joey Hess
e37b968383
comment 2023-04-04 14:09:02 -04:00
Joey Hess
bac1a990a6
comments 2023-04-04 13:52:23 -04:00
Joey Hess
c3eaecb244
comment 2023-04-04 13:34:32 -04:00
jkniiv
4a5b5bdd0d Added a comment: happens during sync too 2023-04-03 11:48:10 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
dfb5826be2 2023-04-03 09:05:45 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
f9d24e92a0 Added a comment 2023-04-01 11:09:49 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
170c5edb44 Added a comment 2023-04-01 11:06:26 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
71e0ec2901 Added a comment 2023-04-01 07:23:18 +00:00
yarikoptic
45eaf8e484 reporting an annoying registerurl issue not registering a URL 2023-03-31 22:36:02 +00:00
yarikoptic
d9549d4744 initial todo for adding --remote to registerurl 2023-03-31 22:15:26 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
f74a3d1e59 Added a comment 2023-03-31 20:16:04 +00:00
Joey Hess
88ea10f606
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-31 15:16:28 -04:00
Joey Hess
cc36c8516a
Sped up sqlite inserts 2x when built with persistent 2.14.5.0
https://github.com/yesodweb/persistent/issues/1457

Sponsored-by: Dartmouth College's DANDI project
2023-03-31 14:38:25 -04:00
zhongruoyu@80ae9772857666624009364c29f07c70beed46ac
8119f22344 Added a comment 2023-03-31 18:32:29 +00:00
Joey Hess
a858099272
clarify 2023-03-31 14:18:50 -04:00
Joey Hess
8047df62cc
fix link 2023-03-31 14:18:36 -04:00
Joey Hess
f2914ab6a0
idea 2023-03-31 13:11:35 -04:00
Joey Hess
2b40fa51d3
git-annex.cabal: Prevent building with unix-compat 0.7
Which removed System.PosixCompat.User.
See https://github.com/haskell-pkg-janitors/unix-compat/issues/3

Sponsored-by: Noam Kremen on Patreon
2023-03-31 12:52:23 -04:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
eb51b385a0 Added a comment 2023-03-30 17:33:58 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
43878157d3 Added a comment 2023-03-30 17:33:10 +00:00
zhongruoyu@80ae9772857666624009364c29f07c70beed46ac
51643bba3e 2023-03-29 22:44:08 +00:00
ptilopteri
e6a337e8e4 2023-03-29 22:32:06 +00:00
Joey Hess
db1b4ac173
add news item for git-annex 10.20230329 2023-03-29 16:09:15 -04:00
sawmke
30d7f9ad78 2023-03-29 11:47:13 +00:00
dpifke
772eaa21bf Added a comment 2023-03-29 03:13:50 +00:00
Joey Hess
992a65bd4d
fix whitespace 2023-03-28 17:13:04 -04:00
Joey Hess
be65476fd4
close 2023-03-28 17:01:25 -04:00
Joey Hess
18d326cb6f
external protocol VERSION 2
Support VERSION 2 in the external special remote protocol, which is
identical to VERSION 1, but avoids external remote programs neededing to
work around the above bug. External remote program that support
exporttree=yes are recommended to be updated to send VERSION 2.

Sponsored-by: Kevin Mueller on Patreon
2023-03-28 17:00:08 -04:00
Joey Hess
82c65b7951
comment 2023-03-28 16:08:46 -04:00
Joey Hess
e987725282
fixed 2023-03-28 15:26:26 -04:00
Joey Hess
390ed554e8
clarify EXPORT 2023-03-28 15:18:05 -04:00
Joey Hess
c1d698f1f2
comment 2023-03-28 14:31:00 -04:00
Joey Hess
75ac65435a
comment 2023-03-28 14:26:19 -04:00
Joey Hess
e8a749d63e
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-28 14:09:22 -04:00
Joey Hess
bddb3230a5
comment 2023-03-28 14:08:24 -04:00
jonahmail1@a6afaf85da848e3a3cf7fcec09326a982d4c1819
63c690ddc0 2023-03-28 17:27:46 +00:00
jonahmail1@a6afaf85da848e3a3cf7fcec09326a982d4c1819
668785f182 2023-03-28 17:27:33 +00:00
Joey Hess
4461223c8f
comment 2023-03-28 13:13:34 -04:00
Joey Hess
a5709dcc22
Copy with a reflink when exporting a tree to a directory special remote
Remote.Directory makes a temp file, then calls this, and since the temp
file exists, it prevented probing if CoW works.

Note that deleting the empty file does mean there's a small window for a
race. If another process is also exporting to the remote, that could let it
make the same temp file. However, the temp filename actually has the
processes's pid in it, which avoids that being a problem.

This may have been a reversion caused by commits around
63d508e885, but I haven't gone back and
tested to be sure. The directory special remote had supposedly supported
CoW for this going back to about half a year before that.

Sponsored-by: Graham Spencer on Patreon
2023-03-28 13:09:14 -04:00
Joey Hess
bb8c550d0d
comment 2023-03-28 12:14:23 -04:00
gerzoyayde@85d55f6dec266753698f42d1c8e06917ef6674a3
a91f8070e7 Added a comment: annex.bwlimit and jobs 2023-03-28 00:00:44 +00:00
Joey Hess
24ae4b291c
addurl, importfeed: Fix failure when annex.securehashesonly is set
The temporary URL key used for the download, before the real key is
generated, was blocked by annex.securehashesonly.

Fixed by passing the Backend that will be used for the final key into
runTransfer. When a Backend is provided, have preCheckSecureHashes
check that, rather than the key being transferred.

Sponsored-by: unqueued on Patreon
2023-03-27 15:10:46 -04:00
Joey Hess
f4a390b2a6
promote comment to bug 2023-03-27 14:10:32 -04:00
Joey Hess
c1d0f90081
verified fixed 2023-03-27 13:58:16 -04:00
Joey Hess
5fdc074fa7
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-27 13:38:13 -04:00
Joey Hess
3badde71ae
comment 2023-03-27 12:36:21 -04:00
jonas
b9965126a1 2023-03-26 20:04:22 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
af24798abd 2023-03-26 19:00:42 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
140edd65ac 2023-03-26 18:39:20 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
4d198a6665 Added a comment 2023-03-25 08:47:01 +00:00
jt
02fe361055 Added a comment: securehashesonly conflicts with addurl 2023-03-25 03:22:50 +00:00
Joey Hess
2b5fa091e2
annex.maxextensionlength for view
view: Support annex.maxextensionlength when generating filenames for the
view branch.

Note that refining an existing view will reuse the extension length that was
configured when initially constructing the view. This is necessarily the case
because it reuses the filenames.

Also view files used to have all extensions at the end, no matter how
many there were. Since annex.maxextensionlength's documentation includes
that it's limited to 2 extensions, I made it consistent with that.

Sponsored-by: k0ld on Patreon
2023-03-24 14:01:38 -04:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
70a9e995b8 Added a comment 2023-03-24 08:13:00 +00:00
dpifke
3a63b35e89 Added a comment 2023-03-23 23:43:17 +00:00
dpifke
23aac1f8f0 Added a comment 2023-03-23 23:32:45 +00:00
Xyem
bf32e6137d Added a comment 2023-03-23 22:26:25 +00:00
Joey Hess
85702b2b38
comment 2023-03-23 16:45:03 -04:00
Joey Hess
038a2600f4
Avoid leaving repo with a detached head when there is a failure checking out an updated adjusted branch
I don't know of scenarios where that can happen (besides the bug
fixed by the parent commit), but there probably are some.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2023-03-23 16:36:43 -04:00
Joey Hess
cb4d9f7b1f
run restagePointerFiles in adjustedBranchRefreshFull
Avoid failure to update adjusted branch --unlock-present after git-annex
drop when annex.adjustedbranchrefresh=1

At higher values, it did flush the queue, which ran restagePointerFiles.
But at 1, adjustedBranchRefreshFull gets added to the queue, and while
restagePointerFiles is also in the queue, it runs after that.

Sponsored-by: Brock Spratlen on Patreon
2023-03-23 16:25:45 -04:00
Joey Hess
d580ea2120
add comment 2023-03-23 15:29:53 -04:00
Joey Hess
3c5f4b89ca
update 2023-03-23 15:29:42 -04:00
Joey Hess
5b4ceda32e
comment 2023-03-23 15:28:27 -04:00
Joey Hess
ec14d95999
comment 2023-03-23 15:27:02 -04:00
Joey Hess
7f6ec7c5bb
response 2023-03-23 15:24:59 -04:00
Joey Hess
c77f2731e9
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-23 15:22:13 -04:00
Joey Hess
a0badc5069
sync: Fix parsing of gcrypt::rsync:// urls that use a relative path
Such an url is not valid; parseURI will fail on it. But git-annex doesn't
actually need to parse the url, because all it needs to do to support
syncing with it is know that it's not a local path, and use git pull and
push.

(Note that there is no good reason for the user to use such an url. An
absolute url is valid and I patched git-remote-gcrypt to support them
years ago. Still, users gonna do anything that tools allow, and
git-remote-gcrypt still supports them.)

Sponsored-by: Jack Hill on Patreon
2023-03-23 15:20:00 -04:00
Joey Hess
0e18bf029e
comment 2023-03-23 14:21:36 -04:00
Xyem
328e9672db Added a comment 2023-03-23 17:05:24 +00:00
john
2a0a209908 Added a comment 2023-03-23 11:37:53 +00:00
gaknuyardi@f7280525ccd44eafd8d1485ec087f27532efd2e9
0adb3c67f6 Added a comment: Understanding encrypted special remote folder structure 2023-03-22 19:26:56 +00:00
Joey Hess
3f75e9294c
remove appveyor badge, which does not work 2023-03-22 10:55:38 -04:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
2888a724f9 2023-03-22 10:13:04 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
4a2dfc4893 2023-03-22 10:06:26 +00:00
jg123h12jh3y12g3y
fc581d0c20 2023-03-22 09:47:31 +00:00
hurlebouc
a40a36495f Added a comment 2023-03-22 05:47:16 +00:00
carlos@4c213b52601d57b650b22d9a246c59aea2c8f859
d29ef26a68 Added a comment 2023-03-21 21:34:01 +00:00
tastabirta@e5349d873c7906025d7db2cc5b86e2529798b640
806c5dc937 2023-03-21 21:28:21 +00:00
Joey Hess
e11776ae80
add news item for git-annex 10.20230321 2023-03-21 16:14:21 -04:00
Joey Hess
bf1bebef25
comment 2023-03-21 14:07:59 -04:00
Joey Hess
2a31f72677
comment 2023-03-21 14:02:43 -04:00
Joey Hess
b1aaebf48b
comment 2023-03-21 13:55:23 -04:00
Joey Hess
4c1156638d
not git-annex specific 2023-03-21 13:51:43 -04:00
Joey Hess
303b976dbc
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-21 13:49:26 -04:00
Joey Hess
5675499974
this comment section is not a BTS, part N+1 2023-03-21 13:48:34 -04:00
nobody314159@bfdeb297f68ed26fdff650d52fcdbb7746533591
696e75699d 2023-03-21 14:32:16 +00:00
carlos@4c213b52601d57b650b22d9a246c59aea2c8f859
8967f1a92d 2023-03-20 20:22:50 +00:00
carlos@4c213b52601d57b650b22d9a246c59aea2c8f859
8497023f0e 2023-03-20 20:14:19 +00:00
carlos@4c213b52601d57b650b22d9a246c59aea2c8f859
2473b83bc1 2023-03-20 20:13:46 +00:00
carlos@4c213b52601d57b650b22d9a246c59aea2c8f859
2c5e11360d 2023-03-20 20:13:03 +00:00
Lukey
4cfa979d36 Added a comment 2023-03-20 17:59:11 +00:00
Joey Hess
051aa3146d
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-19 15:39:50 -04:00
talmukoydu@ab15521191b4d02584d003f3f211d90f575d5ebb
b09405eeab Added a comment: RE: git annex sync not automatically syncing gcrypt remotes using relative paths 2023-03-19 19:27:46 +00:00
talmukoydu@ab15521191b4d02584d003f3f211d90f575d5ebb
18b9731131 Added a comment: git annex sync not automatically syncing gcrypt remotes using relative paths 2023-03-19 19:20:45 +00:00
talmukoydu@ab15521191b4d02584d003f3f211d90f575d5ebb
c006cfca56 removed 2023-03-19 19:08:48 +00:00
talmukoydu@ab15521191b4d02584d003f3f211d90f575d5ebb
c139a73b87 Added a comment: git annex sync not syncing automatically with gcrypt remotes 2023-03-19 19:08:14 +00:00
Joey Hess
4e2de98c80
add appveyor build badge 2023-03-18 18:02:39 -04:00
Joey Hess
7f652c5a22
rename an old closed bug to avoid filename too long on windows checkout 2023-03-18 12:24:58 -04:00
PossibleLoon
cd3c5afffd 2023-03-18 04:13:45 +00:00
Joey Hess
ffa4f2a995
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-17 16:49:48 -04:00
Yaroslav Halchenko
84b0a3707a
Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Yaroslav Halchenko
0ae5ff797f
Typo: sansative -> sensitive 2023-03-17 15:14:50 -04:00
jwiegley
63c1e1ed2c Added a comment 2023-03-16 12:52:54 +00:00
jwiegley
77be84102d Added a comment: An example of what I see 2023-03-16 12:24:45 +00:00
jwiegley
6f3624262d 2023-03-16 12:02:10 +00:00
Joey Hess
1f124103dc
reproduced 2023-03-14 13:36:40 -04:00
Joey Hess
47c010155f
todo that I decided not to do, recorded for posterity 2023-03-14 12:25:22 -04:00
Joey Hess
c76d44d7e1
comment 2023-03-13 15:40:18 -04:00
Joey Hess
f1b678face
copy --from --to location tracking update
copy: When --from and --to are combined and the content is already present
on the destination remote, update location tracking as necessary.

Sponsored-by: Dartmouth College's DANDI project
2023-03-13 14:51:09 -04:00
Joey Hess
38e9ea8497
one-way escaping of newlines in uuid.log
A repository can have a newline in its description due to being in a
directory containing a newline, or due to git-annex describe being
passed a string with a newline in it for some reason. Putting that
newline in uuid.log breaks its format.

So, escape the newline when it enters uuid.log, to \n

This is a one-way escaping, it is not converted back to a newline
when reading the log. If it were, commands like git-annex info and
whereis would display a multi-line description, which could be confusing
to read.

And, implementing roundtripping would necessarily cause problems if an
old version of git-annex were used to set a description that contained
whatever special character is used to escape the \n. Eg, a \ or if
it used the ! prefix before base64 data that is used in some other logs,
the ! character. Then the description set by the old git-annex would not
roundtrip.

There just doesn't seem to be any benefit of roundtripping newlines through,
so why bother? And, git often displays \n for newline when a filename
contains a newline, so git-annex doing it in this case seems sorta ok
by analogy to git.

(Some other git-annex logs can also have newlines put into them if the
user really wants to break git-annex. For example:
git-annex config annex.largefiles "foo
bar"
The full list is probably config.log, remote.log, group.log,
preferred-content.log, required-content.log,
group-preferred-content.log, schedule.log. Probably there is no
good reason to use a newline in any of these, and the breakage is
probably limited to the bad data the user put in not coming back out.
And users can write any garbage to log files themselves manually in any
case. So, I am not going to address all of those at this time. If a
problem such as this one with the newline in the repository path comes
up, it can be dealt with on a case by case basis.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 14:19:32 -04:00
Joey Hess
0784c3e72a
tag datalad
It links to a datalad issue, so I suppose this is right?
2023-03-13 13:51:10 -04:00
Joey Hess
a6bebe3c0f
make hashFile support paths with newlines
git hash-object --stdin-paths is a newline protocol so it cannot
support them. It would help to not use absPath, when the problem
is that the repository itself is in a path with a newline. But,
there's a reason it used absPath, which is that
git hash-object --stdin-paths actually chdirs to the top of the
repository on startup! That is not documented, and I think is a bug
in git.

I considered making the path relative to the top of the repo, but
then what if this is a git bug and gets fixed? git-annex would break
horribly.

So instead, keep the absPath, but when the path contains a newline,
fall back to running git hash-object once per file, which avoids
the problem with newlines and --stdin-paths. It will be slower,
but this is an edge case. (Similar slow code paths are already used
elsewhere when dealing with filenames with newlines and other parts
of git that use line-based protocols.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 13:43:40 -04:00
Daniel Höxtermann
231761146e Fix typos "=yet" -> "=yes" 2023-03-10 18:07:20 +01:00
Joey Hess
f1672fe171
fixed 2023-03-10 12:13:30 -04:00
Joey Hess
7b700d1f5e
fix oops
amdd64 vs arm64 confusion
2023-03-10 12:10:38 -04:00
Joey Hess
3e7a5f7577
typo 2023-03-10 12:05:17 -04:00
Joey Hess
59a0263587
fix links 2023-03-10 12:04:14 -04:00
Joey Hess
d8feda7a2f
added arm64-ancient build
Added arm64 build for ancient kernels, needed to support Android phones
whose kernels are too old to support kernels used by the current arm64
build.

Updated Android/git-annex-install to use it. (Also made it use i386-ancient
because that seems like a good idea.)

Sponsored-by: Noam Kremen on Patreon
2023-03-10 11:59:03 -04:00
Joey Hess
8c0051930e
comment 2023-03-10 11:48:37 -04:00
Joey Hess
f75d98450c
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-10 11:42:18 -04:00
Joey Hess
89c68f9a60
close 2023-03-10 10:33:20 -04:00
yarikoptic
db8d50dbeb Added a comment 2023-03-10 02:52:08 +00:00
yarikoptic
996868f552 original idea on some "native" support for ephemeral datalad clones. 2023-03-10 02:50:38 +00:00
Joey Hess
91129f508f
comment 2023-03-08 12:18:55 -04:00
hurlebouc
9f280d506d Added a comment 2023-03-08 15:16:29 +00:00
hurlebouc
7ca1bd2c70 Added a comment 2023-03-08 15:11:26 +00:00
yarikoptic
3babe84e46 initial report on newlines fiasco 2023-03-08 14:41:56 +00:00
yarikoptic
68632e6f22 initial report on deficiency of copy --from --to 2023-03-08 04:16:15 +00:00
yarikoptic
2aa54cff2a FTBFS bug report 2023-03-07 21:17:04 +00:00
Joey Hess
f1f2588b72
open bug 2023-03-06 13:05:02 -04:00
Joey Hess
50185da5df
comment 2023-03-06 12:39:59 -04:00
Joey Hess
175091da90
comment 2023-03-06 12:27:39 -04:00
Joey Hess
efd5bfa72d
re-close with comment 2023-03-06 12:25:39 -04:00
Joey Hess
89373c04bb
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-06 12:13:29 -04:00
Joey Hess
c622b3ee9c
update 2023-03-05 17:37:34 -04:00
jkniiv
f9deee36c7 Added a comment 2023-03-05 20:18:02 +00:00
benibilme
4b1a7e4d9e Added a comment: Hello, 2023-03-05 20:04:03 +00:00
derphysiker
d1ce91dfff Added a comment 2023-03-04 20:45:48 +00:00
derphysiker
0da1d11db6 2023-03-04 20:38:49 +00:00
jkniiv
04b70c093d retitle bug report now that it's reopened 2023-03-04 19:36:13 +00:00
jkniiv
19c09af793 reopen bug, 2nd try -- now with backslashes :) 2023-03-04 19:33:13 +00:00
jkniiv
a8437ebe13 reopen bug -- the fix Joey committed didn't build 2023-03-04 19:29:21 +00:00
jkniiv
771fb186cc Added a comment: ok, that didn't quite resolve it 2023-03-04 19:15:32 +00:00
derphysiker
c0a8e789c5 Added a comment 2023-03-04 11:11:27 +00:00
benibilme
d58d21dd73 2023-03-04 07:56:58 +00:00
benibilme
81ed1bfed5 2023-03-04 07:55:02 +00:00
benibilme
3a7d8360ed 2023-03-04 07:47:02 +00:00
benibilme
510ee11ad4 2023-03-04 07:41:57 +00:00
benibilme
88c21dec56 2023-03-04 07:39:03 +00:00
benibilme
a725abee55 2023-03-04 07:37:46 +00:00
benibilme
061312db23 2023-03-04 07:36:06 +00:00
Joey Hess
398633c12b
fix build on windows 2023-03-03 12:58:39 -04:00
jkniiv
1ad48b1938 report on windows build failure (commit 54ad1b4cf) 2023-03-02 20:03:18 +00:00
Joey Hess
83a3786851
comment 2023-03-01 15:58:47 -04:00
Joey Hess
9417bdab14
comment 2023-03-01 13:04:18 -04:00
Joey Hess
bded62378a
close 2023-03-01 12:34:40 -04:00
Joey Hess
70d89456d2
close 2023-03-01 12:22:38 -04:00
Joey Hess
9c3c4c1712
deprecate git-annex status w/o runtime warning
As far as I can see, git-annex status was added to support direct mode, and
like other things added for that, it ought to be deprecated.

Behavior is similar to git status --short, though not identical in a few
cases eg renamed files.

I think datalad does not use this command, although it might have in the
past. Could not find any use of it in the current datalad code.

A deprecation warning at runtime would be the next step, probably will wait
and do that for all the deprecated commands together (except findref).
2023-02-28 16:34:31 -04:00
mih
3bf2d98e9c Added a comment: Update for git-annex 10.20230227-ga206cdddb4 2023-02-28 15:35:50 +00:00
Joey Hess
c569082cf2
devblog 2023-02-27 16:28:26 -04:00
Joey Hess
9fcaf27cba
done with adjusted view branches!
Well, perhaps it could be documented better, but it's a compositional
feature so users who need it will probably try it and be happy to find
that it works.
2023-02-27 15:55:31 -04:00
Joey Hess
bb54c8a633
support --hide-missing adjustment of view branches
I had thought this would not make sense to combine with view branches,
since removing files from a view changes metadata.

However, that's committing removal of files. With --hide-missing, the
files get removed when git-annex updates the branch itself, so there is
no conflict.

It does not seem likely to be very useful, but it does work! And that's
nice because it means all types of adjusted branches can be combined with
view branches.

Sponsored-by: Max Thoursie on Patreon
2023-02-27 15:39:58 -04:00
Joey Hess
1c4f4b449a
support --unlock-present adjustment of view branches
When generating the view, check if the key is present.

When syncing in a view branch with an adjustment, run adjustedBranchRefreshFull
the same as is done when syncing in other adjusted branches. This is
needed because the docs for git-annex adjust --unlock-present suggest
using git-annex sync to update the branch when annex.adjustedbranchrefresh
is not set.

Note that, with annex.adjustedbranchrefresh set, it just works! The
adjusted branch gets updated in the usual way and it doesn't matter that
there's a view branch underneath.

And of course, re-running git-annex adjut --unlock-present also works,
as suggested in the docs.

Sponsored-by: Erik Bjäreholt on Patreon
2023-02-27 15:37:57 -04:00
Joey Hess
df007925e6
add news item for git-annex 10.20230227 2023-02-27 12:24:03 -04:00
Joey Hess
69d7f935d6
comment 2023-02-27 12:03:09 -04:00
Joey Hess
a5a23f0e9a
comment 2023-02-27 11:57:07 -04:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
d24914f2af Added a comment: Re: Weird behavior of git archive in combination with largefiles configuration 2023-02-26 18:45:31 +00:00
nadir
8716bd2ded Added a comment 2023-02-24 18:56:40 +00:00
nobodyinperson
f9b4b318c2 Added a comment 2023-02-23 22:59:49 +00:00
Joey Hess
338f28f3a6
comment 2023-02-23 15:14:32 -04:00
Joey Hess
595f5b8b1a
comment 2023-02-23 14:46:44 -04:00
Atemu
cfb396becf Added a comment 2023-02-23 08:59:28 +00:00
nobodyinperson
a268dbf401 2023-02-22 21:57:19 +00:00
hurlebouc
5b6202c973 Added a comment 2023-02-21 06:49:27 +00:00
Joey Hess
d1a0f0c7d1
comment 2023-02-20 15:19:31 -04:00
Joey Hess
8f2829e646
Revert "stack.yaml: Update to lts-19.33 and aws-0.24"
This reverts commit 648e59cac2.

Failed to build on windows, because

       In the dependencies for haskeline-0.8.2:
           Win32-2.11.1.0 from Stack configuration does not match >=2.1 && <2.10 || >=2.12 (latest
                          matching version is 2.13.4.0)

jkniiv did find a solution that builds:

-- Win32-2.11.1.0
+- Win32-2.9.0.0
+- Cabal-3.6.3.0
+- directory-1.3.7.1
+- process-1.6.17.0
+- time-1.11.1.2

But that is a quite old version of Win32 and risks bugs from it, and bumping
Cabal and directory to newer than lts-19.33 has seems also likely to be risky.

So, I've given up. aws-0.24 won't be able to be in the stack build until
there's a stackage lts (or nightly) that has filepath (>=1.4.100.0),
which will not happen until sometime after the next ghc release.
2023-02-20 15:15:06 -04:00
Joey Hess
326f01f5a3
response 2023-02-20 15:00:59 -04:00
Joey Hess
75a2fb9441
comment and close 2023-02-20 14:46:47 -04:00
Joey Hess
ab1dd317c0
comment 2023-02-20 14:38:22 -04:00
Joey Hess
16d3097a08
fix reversion in info, and add test case
info: Fix reversion in last release involving handling of unsupported input
by continuing to handle any other inputs, before exiting nonzero at the
end.

Sponsored-by: Dartmouth College's Datalad project
2023-02-20 14:31:37 -04:00
jg123h12jh3y12g3y
4199c457e2 2023-02-20 13:09:45 +00:00
yarikoptic
349f8afecb Added a comment 2023-02-17 21:50:19 +00:00
yarikoptic
36c76040e2 duplicating report here to possibly expedite resolution 2023-02-17 18:15:48 +00:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
804ea016d0 Added a comment: Weird behavior of git archive in combination with largefiles configuration 2023-02-17 09:46:34 +00:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
ff601ddc45 removed 2023-02-17 09:45:14 +00:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
5c4d53be19 Added a comment: Weird behavior of git archive in combination with largefiles configuration 2023-02-17 09:44:35 +00:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
d31e605b02 removed 2023-02-17 09:43:51 +00:00
arnaud.legrand@e79f5d4cff79116f56388885021e8507bef18e12
4e83ff3bbd Added a comment: Weird behavior of git archive in combination with largefiles configuration 2023-02-17 09:43:20 +00:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
e8297e9cb2 Added a comment 2023-02-17 01:42:58 +00:00
jkniiv
221aa59bfb report on resolver LTS 19 still (!) causing trouble with Win32 for stack builds 2023-02-16 21:44:30 +00:00
Joey Hess
da61d564f1
fix view reversion caused by optimisation
view: Fix a reversion in 10.20230214 that omitted a file from a view when
the file had no metadata set, but the view only used path fields.

Sponsored-by: Jack Hill on Patreon
2023-02-16 15:18:17 -04:00
Joey Hess
1c2e5b4519
close bug as dup and update todo item with implementation plan 2023-02-16 14:51:00 -04:00
jkniiv
5565f6b61b a todo on: explicit metadata needed for view inclusion or not 2023-02-15 19:07:25 +00:00
Joey Hess
cb2f071377
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-15 14:51:51 -04:00
Joey Hess
3048d2f3d7
close bug as submitter cannot reproduce it 2023-02-15 13:53:19 -04:00
jkniiv
33ac9eb02c report on sync not working properly with view branches on top of adjusted branches 2023-02-15 15:23:29 +00:00
Daniel Höxtermann
474ea248e0 Fix typo "intiremote" 2023-02-14 21:21:46 +01:00
anarcat
22fe15c8ce Added a comment 2023-02-14 19:03:24 +00:00
Joey Hess
672258c8f4
Revert "revert recent bug fix temporarily for release"
This reverts commit 16f1e24665.
2023-02-14 14:11:23 -04:00
Joey Hess
dd1a5f4961
add news item for git-annex 10.20230214 2023-02-14 14:09:25 -04:00
Joey Hess
16f1e24665
revert recent bug fix temporarily for release
Decided this bug is not severe enough to delay the release until
tomorrow, so this will be re-applied after the release.
2023-02-14 14:06:29 -04:00
Joey Hess
c1ef4a7481
Avoid Git.Config.updateLocation adding "/.git" to the end of the repo
path to a bare repo when git config is not allowed to list the configs
due to the CVE-2022-24765 fix.

That resulted in a confusing error message, and prevented the nice
message that explains how to mark the repo as safe to use.

Made isBare a tristate so that the case where core.bare is not returned can
be handled.

The handling in updateLocation is to check if the directory
contains config and objects and if so assume it's bare.
Note that if that heuristic is somehow wrong, it would construct a repo
that thinks it's bare but is not. That could cause follow-on problems,
but since git-annex then checks checkRepoConfigInaccessible, and skips
using the repo anyway, a wrong guess should not be a problem.

Sponsored-by: Luke Shumaker on Patreon
2023-02-14 14:00:36 -04:00
Joey Hess
8077fc9ce7
analysis 2023-02-14 13:31:26 -04:00
Joey Hess
4ed539dd40
bug report from forum 2023-02-14 12:30:58 -04:00
Joey Hess
2b73662291
comment 2023-02-14 12:18:00 -04:00
nobodyinperson
2e80d964de Added a comment: 👍 This made it easier for the Thunar plugin! 2023-02-14 09:35:32 +00:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
e970c4eb99 Added a comment: Resolved 2023-02-13 22:46:48 +00:00
Joey Hess
452b080dba
better handling of multiple repositories with the same name
Used to fail with a bad error message, indicating there was no
repository with the specified name, or something like that. Now, suggest
they use the uuid to disambiguate.

* info, enableremotemote, renameremote: Avoid a confusing message when more
  than one repository matches the user provided name.
* info: Exit nonzero when the input is not supported.

Sponsored-by: Kevin Mueller on Patreon
2023-02-13 14:31:09 -04:00
Joey Hess
826b225ca8
Sped up view branch construction by 50%
A benchmark in my sound repository with `git-annex view feedtitle=*`
took 2:52 wall clock time before and 1:58 after. Though it still only used
130% of CPU.

This is the same kind of optimisation that is in seekFilteredKeys, though
that precaches location logs while this streams the metadata logs direct
to parsing them.

seekFilteredKeys contains more streaming, to find the annexed files, and
this could be further sped up with similar streaming.

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-02-13 13:29:57 -04:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
c733ccdf21 Added a comment 2023-02-13 08:33:57 +00:00
nobodyinperson
d60d76a25a Added a comment: Have a look at mount options 2023-02-13 08:32:24 +00:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
e75d1d9255 Added a comment 2023-02-13 00:46:46 +00:00
nadir
f06e405068 2023-02-12 14:13:34 +00:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
2d8507e1d6 Added a comment 2023-02-12 11:28:07 +00:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
7d5b589696 2023-02-12 10:39:01 +00:00
Joey Hess
33d7ed8b5c
move a paragraph into the pages that the links it talks about were long ago moved to 2023-02-11 16:07:05 -04:00
Joey Hess
d760644104
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-11 15:21:07 -04:00
Joey Hess
5b504b78d9
add warning about Go's past and future data collection
Based on https://github.com/golang/go/discussions/58409, the Go compiler
already defaults to using a google proxy server, which would allow
Google to collect information about what dependencies users are
installing. (Of course they claim they won't.) Two separate environment
settings are needed to turn that off, and users in that thread were
surprised to learn about one of them.

So this warning is already appropriate to some extent.

Also based on the minimisation of user concerns by the golang developers
on that issue and elsewhere, it seems best to assume that they are not
going to be dissuaded from increasing data collection efforts in the future,
even if the blowback prevents this particular attempt.

So this warning should not be removed unless the Go community somehow
extricates itself from Google's control. Or unless ipfs is rewritten in
another language.

Some distros do have ipfs. Unfortunately, Debian appears to be structurally
incapable of packaging it. (8 years and counting;
https://bugs.debian.org/779893). So lots of users will be stuck
installing it from source or having to trust its official binaries.
2023-02-11 15:17:31 -04:00
Joey Hess
6889fe5325
add a warning about homebrew's use of analytics by default
It apparently displays a notice on first use, but I was surprised to
learn about this behavior today, and I've used it. Displaying a notice
does not make violating users' privacy acceptable.
2023-02-11 15:08:31 -04:00
Joey Hess
4c4bc6ab1e
remove warning about ipfs being alpha code
That may have been true in 2015, but seems very unlikely
to be true now.
2023-02-11 14:13:18 -04:00
Atemu
401e000a0d 2023-02-10 23:05:04 +00:00
Joey Hess
551d5abeb5
close todo and open new one 2023-02-10 15:51:38 -04:00
Joey Hess
e9b6efac5a
fix buggy sync to exporttree remote when annex-tracking-branch is not checked out
sync: Fix a bug that caused files to be removed from an importtree=yes
exporttree=yes special remote when the remote's annex-tracking-branch was
not the currently checked out branch.

Sponsored-by: Max Thoursie on Patreon
2023-02-10 15:49:15 -04:00
Joey Hess
5c6e1f5178
bug report 2023-02-10 15:32:09 -04:00
Joey Hess
9e59ebea52
comment 2023-02-10 14:42:14 -04:00
Joey Hess
bb4550c7c1
sync: Warn when the adjusted basis ref cannot be found
As happens eg when the user has renamed branches.

Sponsored-by: Graham Spencer on Patreon
2023-02-10 14:33:21 -04:00
Joey Hess
fb93fbc564
comment 2023-02-10 14:16:23 -04:00
Joey Hess
b6466ffaca
comment 2023-02-10 14:06:34 -04:00
Joey Hess
7473dc6d3a
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-10 13:34:59 -04:00
Joey Hess
96d46db2d5
Support http urls that contain ":" that is not followed by a port number
The same as git does.

Sponsored-by: Dartmouth College's DANDI project
2023-02-10 13:34:47 -04:00
a@92214b2eae95307f511e06845d2cb5b5931b00a3
a497d73b93 2023-02-10 17:08:32 +00:00
jpds
8fa3264f3a 2023-02-10 15:10:17 +00:00
jpds
d696dc5bf5 2023-02-10 14:53:11 +00:00
yarikoptic
8847adacb2 initial report on http urls without port number 2023-02-10 14:16:53 +00:00
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4
e2c5820017 Added a comment 2023-02-09 14:22:19 +00:00
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4
98cd2e0c49 2023-02-09 10:23:12 +00:00
jpds
95c1e0e805 Added a comment 2023-02-09 09:51:21 +00:00
nobodyinperson
11b250352c Added a comment: long filenames in view 2023-02-08 22:11:30 +00:00
nobodyinperson
6e7e9813ee Added a comment: git annex sync when in view 2023-02-08 20:17:12 +00:00
Joey Hess
5f9bf51438
sync in view branch updates the view branch
* sync: When run in a view branch, refresh the view branch to reflect any
    changes that have been made to the parent branch or metadata.

This is basically working, but probably needs some more work to deal with
all the edge cases of things sync does.

Sponsored-by: Lawrence Brogan on Patreon
2023-02-08 15:37:28 -04:00
Joey Hess
b9d59cf721
document sync in adjusted branch behavior
This was documented in the git-annex-adjust man page, but not in
git-annex-sync
2023-02-08 12:48:31 -04:00
Joey Hess
dcaea65e39
comment 2023-02-08 12:41:54 -04:00
Joey Hess
21e8d201f3
link to related todo 2023-02-08 12:35:29 -04:00
Joey Hess
6f59d2e8eb
comment 2023-02-08 12:24:35 -04:00
Joey Hess
f3d9221131
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-08 12:22:42 -04:00
Joey Hess
ece8f393f8
fix spelling 2023-02-08 12:21:53 -04:00
Joey Hess
f19ee2c479
thought 2023-02-08 12:21:33 -04:00
anarcat
277ad51876 Added a comment 2023-02-08 15:38:03 +00:00
Joey Hess
9a8f6e8d67
todo 2023-02-08 09:40:07 -04:00
nobodyinperson
4f733c25ba Added a comment 2023-02-07 20:54:48 +00:00
Joey Hess
aa0350ff49
add directory to views for files that lack specified metadata
* view: New field?=glob and ?tag syntax that includes a directory "_"
  in the view for files that do not have the specified metadata set.
* Added annex.viewunsetdirectory git config to change the name of the
  "_" directory in a view.

When in a view using the new syntax, old git-annex will fail to parse the
view log. It errors with "Not in a view.", which is not ideal. But that
only affects view commands.

annex.viewunsetdirectory is included in the View for a couple of reasons.
One is to avoid needing to warn the user that it should not be changed when
in a view, since that would confuse git-annex. Another reason is that it
helped with plumbing the value through to some pure functions.

annex.viewunsetdirectory is actually mangled the same as any other view
directory. So if it's configured to something like "N/A", there won't be
multiple levels of directories, which would also confuse git-annex.

Sponsored-By: Jack Hill on Patreon
2023-02-07 16:28:46 -04:00
Joey Hess
fb30ad7846
comment 2023-02-07 13:31:45 -04:00
Joey Hess
5e7aa16d06
improve docs of view exclude values 2023-02-07 12:46:19 -04:00
Joey Hess
115f72766b
correct docs on view exclude values to not say globs work
globs have never worked in field!=
see commit c2e8c21ca6 when the feature was
added, which discussed why
2023-02-07 12:42:26 -04:00
Joey Hess
4b330203fc
comment 2023-02-07 12:35:01 -04:00
anarcat
a7ece3af99 2023-02-06 21:15:40 +00:00
MatusGoljer1
43a66d9396 Added a comment 2023-02-06 19:30:02 +00:00
Joey Hess
04ec726d3b
S3 region=
S3: Support a region= configuration useful for some non-Amazon S3
implementations. This feature needs git-annex to be built with aws-0.24.

datacenter= sets both the AWS hostname and region in one setting, which is
easy when using AWS, but not useful for other hosts. So kept datacenter
as-is, but added this additional config.

Sponsored-By: Brett Eisenberg on Patreon
2023-02-06 14:08:45 -04:00
Joey Hess
5aacc8eb59
comment 2023-02-06 13:05:27 -04:00
Joey Hess
29f4ec248f
comment 2023-02-06 12:50:34 -04:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
0bf650432d Added a comment 2023-02-05 22:41:28 +00:00
nobodyinperson
3965919100 2023-02-03 13:40:41 +00:00
nobodyinperson
6de19ba619 Added a comment: 👍 +1 for updating the view when committing 2023-02-03 13:25:22 +00:00
jpds
209dd1f6c9 Added a comment 2023-02-02 15:53:34 +00:00
jwodder
16fab4676b 2023-02-01 19:55:29 +00:00
hurlebouc
35083c490a Added a comment 2023-02-01 12:26:05 +00:00
markus.l2ll@17cbf3ea36ca05f481e573fd58be50dce9bf8ef9
6aab372119 Added a comment: same error, same fix 2023-02-01 06:44:22 +00:00
jpds
048e77a04c Added a comment 2023-01-31 22:28:16 +00:00
Joey Hess
bc6e606014
analysis 2023-01-31 15:58:21 -04:00
Joey Hess
afd3cf4433
comment 2023-01-31 13:29:57 -04:00
hurlebouc
582dd16e63 2023-01-29 06:54:07 +00:00
jpds
dd923afc56 Added a comment 2023-01-28 00:00:13 +00:00
mih
363412f691 Added a comment: file:/// must be forced to file:// on windows 2023-01-27 09:19:10 +00:00
Joey Hess
da74f05a1e
add news item for git-annex 10.20230126 2023-01-26 15:27:44 -04:00
Joey Hess
8552b4e1a0
new linux autobuilder 2023-01-26 15:25:54 -04:00
aca
ac824ff96b Added a comment: thanks 2023-01-25 14:01:08 +00:00
nobodyinperson
d8d5564e69 Added a comment: Thank you!! 2023-01-24 21:15:50 +00:00
Joey Hess
b7c9d907e5
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-24 14:08:40 -04:00
Joey Hess
579d9b60c1
improve concurrency of move/copy --from --to
Use separate stages for download and upload. In the common case where
it downloads the file from one remote and then uploads to the other,
those are by far the most expensive operations, and there's a decent
chance the two remotes bottleneck on different resources.

Suppose it's being run with -J2 and a bunch of 10 mb files. Two threads
will be started both downloading from the src remote. They will probably
finish at the same time. Then two threads will be started uploading to
the dst remote. They will probably take the same time as well. Before
this change, it would alternate back and forth, bottlenecking on src and dst.
With this change, as soon as the two threads start uploading to dst, two
more threads are able to start, downloading from src. So bandwidth to
both remotes is saturated more often.

Other commands that use transferStages only send in one direction at a
time. So the worker threads for the other direction will sit idle, and
there will be no change in their behavior.

Sponsored-by: Dartmouth College's DANDI project
2023-01-24 13:59:39 -04:00
jpds
50af8467e3 Added a comment 2023-01-24 15:55:36 +00:00
nobodyinperson
4edae1430a Added a comment 2023-01-23 22:55:11 +00:00
nobodyinperson
c2c405d45a Added a comment 2023-01-23 22:38:28 +00:00
Joey Hess
57987ed2cd
update 2023-01-23 18:08:55 -04:00
Joey Hess
62f8a26dd9
Merge branch 'fromto' 2023-01-23 18:01:57 -04:00
Joey Hess
2a9999f5f1
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-23 18:01:12 -04:00
Joey Hess
1ee72de32e
done 2023-01-23 17:57:15 -04:00
Joey Hess
77266e46dd
fix behavior of copy --from --to
Sponsored-by: Dartmouth College's DANDI project
2023-01-23 17:55:16 -04:00
Joey Hess
3585481470
Merge branch 'master' into fromto 2023-01-23 17:44:44 -04:00
Joey Hess
acc3f6211f
finishing up move --from --to
Lock the local content for drop after getting it from src, to prevent another
process from using the local content as a copy and dropping it from src,
which would prevent dropping the local content after sending it to dest.

Support resuming an interrupted move that downloaded the content from
src, leaving the local content populated. In this case, the location log
has not been updated to say the content is present locally, so we can
assume that it's resuming and go ahead and drop the local content after
sending it to dest.

Note that if a `git-annex get` is being ran at the same time as a
`git-annex move --from --to`, it may get a file just before the move
processes it. So the location log has not been updated yet, and the move
thinks it's resuming. Resulting in local copy being dropped after it's
sent to the dest. This race is something we'll just have to live with,
it seems.

I also gave up on the idea of checking if the location log had been updated
by a `git-annex get` that is ran at the same time. That wouldn't work, because
the location log is precached in the seek stage, so reading it again after
sending the content to dest would not notice changes made to it, unless the cache
were invalidated, which would slow it down a lot. That idea anyway was subject
to races where it would not detect the concurrent `git-annex get`.

So concurrent `git-annex get` will have results that may be surprising.
To make that less surprising, updated the documentation of this feature to
be explicit that it downloads content to the local repository
temporarily.

Sponsored-by: Dartmouth College's DANDI project
2023-01-23 17:43:48 -04:00
Joey Hess
05b2ae30f0
update 2023-01-23 12:45:01 -04:00
meribold
aad9581d11 Fix typo in heading that seems to result in git-annex-drop not showing up in man -k output 2023-01-22 15:25:35 +00:00
Joey Hess
45c338204f
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-20 11:23:24 -04:00
Joey Hess
5645017a03
comment 2023-01-20 11:23:04 -04:00
Joey Hess
6f95f821cb
remove --fast from man page
git-annex move does not actually behave any differently with --fast than
without it. (git-annex copy does)

(cherry picked from commit f74904ee2c)
2023-01-20 11:11:31 -04:00
nobodyinperson
f14346bf07 2023-01-20 10:29:33 +00:00
jpds
73cc3fcd12 Added a comment 2023-01-19 16:28:19 +00:00
jpds
dce215e11a Added a comment 2023-01-19 15:09:01 +00:00
jpds
c071ea267d Added a comment 2023-01-18 22:57:58 +00:00
jpds
da6504ee13 2023-01-18 22:45:06 +00:00
Joey Hess
f74904ee2c
remove --fast from man page
git-annex move does not actually behave any differently with --fast than
without it. (git-annex copy does)
2023-01-18 15:15:41 -04:00
Joey Hess
a6c1d9752b
move/copy: option parsing for --from with --to
Allowing --from and --to as an alternative to --from or --to
is hard to do with optparse-applicative!

The obvious approach of (pfrom <|> pto <|> pfromandto) does not work
when pfromandto uses the same option names as pfrom and pto do.
It compiles but the generated parser does not work for all desired
combinations.

Instead, have to parse optionally from and optionally to. When neither
is provided, the parser succeeds, but it's a result that can't be
handled. So, have to giveup after option parsing. There does not seem to
be a way to make an optparse-applicative Parser give up internally
either.

Also, need seek' because I first tried making fto be a where binding,
but that resulted in a hang when git-annex move was run without --from
or --to. I think because startConcurrency was not expecting the stages
value to contain an exception and so ended up blocking.

Sponsored-by: Dartmouth College's DANDI project
2023-01-18 14:42:39 -04:00
yarikoptic
ea44f2416c Added a comment 2023-01-18 17:55:50 +00:00
Joey Hess
2a92f5cc2c
comment 2023-01-18 13:05:47 -04:00
Joey Hess
f8bc208e89
findkeys: New command, very similar to git-annex find but operating on keys
I've long been asked for `git-annex find --all` or something like that,
but pushed back on it because I feel that the command is analagous to
find(1) and so it would be surprising for it to list keys rather than
files. So instead, add a new findkeys subcommand.

Note that the use of withKeyOptions is rather strange because usually
that is used to fall back to --all rather than listing files, but here
it's made to default to --all like behavior and never list files.

A performance thing that could be improved is that withKeyOptions
always reads and caches location logs. But findkeys with no options does
not need them, so it could be made faster. That caching does speed up
options like --in though. This is really just a subset of a more general
performance thing that --all reads location logs sometimes unncessarily.
Anyway, it needs to read the location log in order to checkDead,
and it seems good that findkeys does skip dead keys.

Also, cleaned up comments on git-annex-find man page asking for --all
option.

Sponsored-by: Dartmouth College's DANDI project
2023-01-17 14:51:57 -04:00
Joey Hess
ce241f9aa9
comment 2023-01-17 13:10:28 -04:00
Joey Hess
eb5b072e2e
comment 2023-01-17 13:08:49 -04:00
daven.quinn@d0ed4e0e5e4462d9a74a5d5a8fbd1b17f85db13e
be6aec3100 Added a comment: comment 1 response 2023-01-16 21:45:35 +00:00
yarikoptic
e42ac8844e Added a comment 2023-01-16 21:43:40 +00:00
yarikoptic
fdca11e815 Added a comment 2023-01-16 21:32:09 +00:00
yarikoptic
4890c70a1b Added a comment 2023-01-16 21:27:12 +00:00
Joey Hess
fdd0b4bae0
comment 2023-01-16 16:12:16 -04:00
Joey Hess
c172855a7f
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-16 15:53:14 -04:00
Joey Hess
e97da33773
comment 2023-01-16 15:52:52 -04:00
yarikoptic
35435cd955 initial report on difficulty moving frozen file 2023-01-16 19:36:07 +00:00
Joey Hess
527e70fc69
comment 2023-01-16 15:26:21 -04:00
Joey Hess
cae12e0ccd
comment 2023-01-16 15:15:21 -04:00
Joey Hess
8bb078e0df
response 2023-01-16 15:13:00 -04:00
Joey Hess
9be56daf07
comment 2023-01-16 15:07:46 -04:00
Joey Hess
ec0107098d
close wontfix with submitter agreement 2023-01-16 14:40:30 -04:00
Joey Hess
321850a67d
close as dup 2023-01-16 14:37:44 -04:00
Joey Hess
62dd19e391
comment 2023-01-16 14:28:46 -04:00
Joey Hess
086cb30eb1
comment 2023-01-16 14:16:13 -04:00
Joey Hess
f87c74566a
close wontfix 2023-01-16 14:08:37 -04:00
Joey Hess
7f39037e57
close 2023-01-16 14:02:10 -04:00