]> dgit.raspbian.org Git - git-annex.git/log
git-annex.git
4 years ago(no commit message)
jasonb@ab4484d9961a46440958fa1a528e0fc435599057 [Tue, 7 Dec 2021 03:32:41 +0000 (03:32 +0000)]

4 years agofixed
Joey Hess [Mon, 6 Dec 2021 19:44:14 +0000 (15:44 -0400)]
fixed

4 years agoremove last trailing unresolved bit
Joey Hess [Mon, 6 Dec 2021 19:34:56 +0000 (15:34 -0400)]
remove last trailing unresolved bit

I think the lock file probing stuff is ok as it is for pid locks.
If not, let's wait until we have a test case, it would be easy to subtly
break it.

4 years agocomment
Joey Hess [Mon, 6 Dec 2021 19:13:54 +0000 (15:13 -0400)]
comment

4 years agoclose pid lock only once no threads use it
Joey Hess [Mon, 6 Dec 2021 19:01:39 +0000 (15:01 -0400)]
close pid lock only once no threads use it

This fixes a FD leak when annex.pidlock is set and -J is used. Also, it
fixes bugs where the pid lock file got deleted because one thread was
done with it, while another thread was still holding it open.

The LockPool now has two distinct types of resources,
one is per-LockHandle and is used for file Handles, which get closed
when the associated LockHandle is closed. The other one is per lock
file, and gets closed when no more LockHandles use that lock file,
including other shared locks of the same file.

That latter kind is used for the pid lock file, so it's opened by the
first thread to use a lock, and closed when the last thread closes a lock.

In practice, this means that eg git-annex get of several files opens and
closes the pidlock file a few times per file. While with -J5 it will open
the pidlock file, process a number of files, until all the threads happen to
finish together, at which point the pidlock file gets closed, and then
that repeats. So in either case, another process still gets a chance to
take the pidlock.

registerPostRelease has a rather intricate dance, there are fine-grained
STM locks, a STM lock of the pidfile itself, and the actual pidlock file
on disk that are all resolved in stages by it.

Sponsored-by: Dartmouth College's Datalad project
4 years agoMerge branch 'master' into pidlockfinegrained
Joey Hess [Mon, 6 Dec 2021 17:00:40 +0000 (13:00 -0400)]
Merge branch 'master' into pidlockfinegrained

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 6 Dec 2021 16:53:43 +0000 (12:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agoRevert "fix too early close of shared lock file"
Joey Hess [Mon, 6 Dec 2021 16:48:37 +0000 (12:48 -0400)]
Revert "fix too early close of shared lock file"

This reverts commit 66b2536ea0aa5c88f5b744eeace3322a8a4a10b6.

I misunderstood commit ac56a5c2a056d3df1314a0a0cc16d276ddefb661
and caused a FD leak when pid locking is not used.

A LockHandle contains an action that will close the underlying lock
file, and that action is run when it is closed. In the case of a shared
lock, the lock file is opened once for each LockHandle, and only
the one for the LockHandle that is being closed will be closed.

4 years ago(no commit message)
alt [Mon, 6 Dec 2021 15:56:56 +0000 (15:56 +0000)]

4 years ago(no commit message)
jasonb@ab4484d9961a46440958fa1a528e0fc435599057 [Sun, 5 Dec 2021 20:37:48 +0000 (20:37 +0000)]

4 years agoupdate
Joey Hess [Sun, 5 Dec 2021 12:11:41 +0000 (08:11 -0400)]
update

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 3 Dec 2021 22:42:05 +0000 (18:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agoupdate comment to current status
Joey Hess [Fri, 3 Dec 2021 22:41:51 +0000 (18:41 -0400)]
update comment to current status

4 years agocomment
Joey Hess [Fri, 3 Dec 2021 22:41:34 +0000 (18:41 -0400)]
comment

4 years agoAdded a comment
yarikoptic [Fri, 3 Dec 2021 21:41:53 +0000 (21:41 +0000)]
Added a comment

4 years agofine-grained locking when annex.pidlock is enabled
Joey Hess [Fri, 3 Dec 2021 21:20:21 +0000 (17:20 -0400)]
fine-grained locking when annex.pidlock is enabled

This locking has been missing from the beginning of annex.pidlock.
It used to be possble, when two threads are doing conflicting things,
for both to run at the same time despite using locking. Seems likely
that nothing actually had a problem, but it was possible, and this
eliminates that possible source of failure.

Sponsored-by: Dartmouth College's Datalad project
4 years agocomment
Joey Hess [Fri, 3 Dec 2021 20:40:58 +0000 (16:40 -0400)]
comment

4 years agofix build on windows
Joey Hess [Fri, 3 Dec 2021 18:07:11 +0000 (14:07 -0400)]
fix build on windows

broken by ed0afbc36b7502fbfcac0546c7f3dc8492c62ae6

Sponsored-by: Dartmouth College's Datalad project
4 years ago(no commit message)
ashton@37fa3fec6d2eef022a3491c85362a34141fbf0db [Thu, 2 Dec 2021 23:36:10 +0000 (23:36 +0000)]

4 years agoAdded a comment
yarikoptic [Thu, 2 Dec 2021 20:42:37 +0000 (20:42 +0000)]
Added a comment

4 years agoremoved
yarikoptic [Thu, 2 Dec 2021 20:41:37 +0000 (20:41 +0000)]
removed

4 years agoinitial follow up on the read-only mode issue
yarikoptic [Thu, 2 Dec 2021 20:39:39 +0000 (20:39 +0000)]
initial follow up on the read-only mode issue

4 years agoAdded a comment: automate + extend
yarikoptic [Thu, 2 Dec 2021 20:34:55 +0000 (20:34 +0000)]
Added a comment: automate + extend

4 years agoAdded a comment
yarikoptic [Thu, 2 Dec 2021 13:05:55 +0000 (13:05 +0000)]
Added a comment

4 years agoavoid concurrent threads trying to take pid lock at same time
Joey Hess [Wed, 1 Dec 2021 19:22:31 +0000 (15:22 -0400)]
avoid concurrent threads trying to take pid lock at same time

Seem there are several races that happen when 2 threads run PidLock.tryLock
at the same time. One involves checkSaneLock of the side lock file, which may
be deleted by another process that is dropping the lock, causing checkSaneLock
to fail. And even with the deletion disabled, it can still fail, Probably due
to linkToLock failing when a second thread overwrites the lock file.

The same can happen when 2 processes do, but then one process just fails
to take the lock, which is fine. But with 2 threads, some actions where failing
even though the process as a whole had the pid lock held.

Utility.LockPool.PidLock already maintains a STM lock, and since it uses
LockShared, 2 threads can hold the pidlock at the same time, and when
the first thread drops the lock, it will remain held by the second
thread, and so the pid lock file should not get deleted until the last
thread to hold it drops the lock. Which is the right behavior, and why a
LockShared STM lock is used in the first place.

The problem is that each time it takes the STM lock, it then also calls
PidLock.tryLock. So that was getting called repeatedly and concurrently.

Fixed by noticing when the shared lock is already held, and stop calling
PidLock.tryLock again, just use the pid lock that already exists then.

Also, LockFile.PidLock.tryLock was deleting the pid lock when it failed
to take the lock, which was entirely wrong. It should only drop the side
lock.

Sponsored-by: Dartmouth College's Datalad project
4 years agofix too early close of shared lock file
Joey Hess [Wed, 1 Dec 2021 20:57:56 +0000 (16:57 -0400)]
fix too early close of shared lock file

This fixes a reversion introduced in commit
ac56a5c2a056d3df1314a0a0cc16d276ddefb661.

I didn't notice there that it was handling the case of a shared lock
file that was still open elsewhere by not running the close action.

This was especially deadly when annex.pidlock is set, as it caused early
deletion of the pid lock file.

Sponsored-by: Dartmouth College's Datalad project
4 years agoretitle
Joey Hess [Wed, 1 Dec 2021 18:35:31 +0000 (14:35 -0400)]
retitle

4 years agocomment
Joey Hess [Wed, 1 Dec 2021 18:10:39 +0000 (14:10 -0400)]
comment

4 years agoanalysis
Joey Hess [Wed, 1 Dec 2021 17:38:47 +0000 (13:38 -0400)]
analysis

4 years agocomment
Joey Hess [Wed, 1 Dec 2021 17:03:05 +0000 (13:03 -0400)]
comment

4 years agocomment
Joey Hess [Wed, 1 Dec 2021 16:46:07 +0000 (12:46 -0400)]
comment

4 years agoinitial report on needing more thorough retries when downloading from S3
yarikoptic [Wed, 1 Dec 2021 15:41:13 +0000 (15:41 +0000)]
initial report on needing more thorough retries when downloading from S3

4 years agoAdded a comment: Further fix attempts
account@dc612ad075297e574ebc3eb9a5b8ab6e753510dc [Wed, 1 Dec 2021 03:25:35 +0000 (03:25 +0000)]
Added a comment: Further fix attempts

4 years agoAdded a comment: A few Windows benchmarks
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff [Mon, 29 Nov 2021 22:17:39 +0000 (22:17 +0000)]
Added a comment: A few Windows benchmarks

4 years agocatch error statting pid lock file if it somehow does not exist
Joey Hess [Mon, 29 Nov 2021 18:51:28 +0000 (14:51 -0400)]
catch error statting pid lock file if it somehow does not exist

It ought to exist, since linkToLock has just created it. However,
Lustre seems to have a rather probabilisitic view of the contents of a
directory, so catching the error if it somehow does not exist and
running the same code path that would be ran if linkToLock failed
might avoid this fun Lustre failure.

Sponsored-by: Dartmouth College's Datalad project
4 years agoexport: Avoid unncessarily re-exporting non-annexed files that were already exported
Joey Hess [Mon, 29 Nov 2021 18:02:38 +0000 (14:02 -0400)]
export: Avoid unncessarily re-exporting non-annexed files that were already exported

Commit b6e4ed9aa7ed621df843a6840a1455bade395d13 made non-annexed files
be re-uploaded every time, since they're not tracked in the location log,
and it made it check the location log. Don't do that for non-annexed files.

Sponsored-by: Brock Spratlen on Patreon
4 years agoclarify
Joey Hess [Mon, 29 Nov 2021 18:00:32 +0000 (14:00 -0400)]
clarify

4 years agocomment
Joey Hess [Mon, 29 Nov 2021 17:32:12 +0000 (13:32 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 29 Nov 2021 17:16:52 +0000 (13:16 -0400)]
comment

4 years agocomment
Joey Hess [Mon, 29 Nov 2021 17:02:15 +0000 (13:02 -0400)]
comment

4 years agoaddurl, youtube-dl: When --check-raw prevents downloading an url, still continue...
Joey Hess [Sun, 28 Nov 2021 23:40:06 +0000 (19:40 -0400)]
addurl, youtube-dl: When --check-raw prevents downloading an url, still continue with any downloads that come after it, rather than erroring out

Sponsored-By: Mark Reidenbach on Patreon
4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 26 Nov 2021 14:32:22 +0000 (10:32 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agoAdded a comment: Even more impact on real systems
mih [Fri, 26 Nov 2021 14:23:34 +0000 (14:23 +0000)]
Added a comment: Even more impact on real systems

4 years agoAdded a comment
Atemu [Thu, 25 Nov 2021 19:23:46 +0000 (19:23 +0000)]
Added a comment

4 years agoAdded a comment: More statistics
mih [Thu, 25 Nov 2021 13:09:11 +0000 (13:09 +0000)]
Added a comment: More statistics

4 years agobug on export tree remote.
Rémi [Thu, 25 Nov 2021 10:15:49 +0000 (10:15 +0000)]
bug on export tree remote.

4 years agoAdded a comment: Translates to Windows!
mih [Thu, 25 Nov 2021 07:34:49 +0000 (07:34 +0000)]
Added a comment: Translates to Windows!

4 years ago(no commit message)
dev@c1c358f0d3c8563701193b66791eb1bc57a25ac9 [Wed, 24 Nov 2021 21:01:41 +0000 (21:01 +0000)]

4 years ago(no commit message)
yarikoptic [Wed, 24 Nov 2021 14:13:20 +0000 (14:13 +0000)]

4 years agoAdded a comment
yarikoptic [Tue, 23 Nov 2021 23:22:36 +0000 (23:22 +0000)]
Added a comment

4 years agoAdded a comment
yarikoptic [Tue, 23 Nov 2021 23:12:47 +0000 (23:12 +0000)]
Added a comment

4 years agoAdded a comment
jkniiv [Tue, 23 Nov 2021 21:46:43 +0000 (21:46 +0000)]
Added a comment

4 years agoremove unused import
Joey Hess [Tue, 23 Nov 2021 20:15:57 +0000 (16:15 -0400)]
remove unused import

4 years agoFix build with old versions of feed library
Joey Hess [Tue, 23 Nov 2021 20:06:51 +0000 (16:06 -0400)]
Fix build with old versions of feed library

4 years agoadd news item for git-annex 8.20211123
Joey Hess [Tue, 23 Nov 2021 19:20:58 +0000 (15:20 -0400)]
add news item for git-annex 8.20211123

4 years agoreleasing package git-annex version 8.20211123
Joey Hess [Tue, 23 Nov 2021 19:20:24 +0000 (15:20 -0400)]
releasing package git-annex version 8.20211123

4 years agocomment
Joey Hess [Tue, 23 Nov 2021 19:19:11 +0000 (15:19 -0400)]
comment

4 years agoinitial report
yarikoptic [Tue, 23 Nov 2021 15:41:45 +0000 (15:41 +0000)]
initial report

4 years agoinitial report on tests exit code 124
yarikoptic [Tue, 23 Nov 2021 14:40:35 +0000 (14:40 +0000)]
initial report on tests exit code 124

4 years agoAdded a comment: new problem on reinject
m15 [Tue, 23 Nov 2021 00:53:37 +0000 (00:53 +0000)]
Added a comment: new problem on reinject

4 years agosupport git 2.34.0's handling of merge conflict between annexed and non-annexed file
Joey Hess [Mon, 22 Nov 2021 19:40:03 +0000 (15:40 -0400)]
support git 2.34.0's handling of merge conflict between annexed and non-annexed file

This version of git -- or its new default "ort" resolver -- handles such
a conflict by staging two files, one with the original name and the other
named file~ref. Use unmergedSiblingFile when the latter is detected.

(It doesn't do that when the conflict is between a directory and a file
or symlink though, so see previous commit for how that case is handled.)

The sibling file has to be deleted separately, because cleanConflictCruft
may not delete it -- that only handles files that are annex links,
but the sibling file may be the non-annexed file side of the conflict.

The graftin code had assumed that, when the other side of a conclict
is a symlink, the file in the work tree will contain the non-annexed
content that we want it to contain. But that is not the case with the new
git; the file may be the annex link and needs to be replaced with the
content, while the annex link will be written as a -variant file.

(The weird doesDirectoryExist check in graftin turns out to still be
needed, test suite failed when I tried to remove it.)

Test suite passes with new git with ort resolver default. Have not tried it
with old git or other defaults.

Sponsored-by: Noam Kremen on Patreon
4 years agofix test failure with git version 2.34.0
Joey Hess [Mon, 22 Nov 2021 17:28:20 +0000 (13:28 -0400)]
fix test failure with git version 2.34.0

The new "ort" resolver uses different filenames than what the test suite
accepted when resolving a conflict between a directory an an annexed
file. Make the test looser in what it accepts, so it will work with old
and new git.

Other tests still look for "conflictor.variant" as a prefix,
because when eg resolving a conflicted merge of 2 annexed files,
the filename is not changed by the ort resolver, and I didn't want to
unncessarily loosen the test.

Also I'm not entirely happy with the filenames used by the ort resolver,
see comment.

There's still another test failure caused by that resolver that is not
fixed yet.

4 years agoAdded a comment: re: git 2.34: some conflict resolution unit tests fail
kyle [Sun, 21 Nov 2021 21:41:36 +0000 (21:41 +0000)]
Added a comment: re: git 2.34: some conflict resolution unit tests fail

4 years agoissue, presumably git 2.34 new merge strategy to blame
jkniiv [Sun, 21 Nov 2021 18:49:02 +0000 (18:49 +0000)]
issue, presumably git 2.34 new merge strategy to blame

4 years agoidea
Joey Hess [Sun, 21 Nov 2021 15:19:47 +0000 (11:19 -0400)]
idea

4 years agoAdded a comment
yarikoptic [Fri, 19 Nov 2021 17:44:22 +0000 (17:44 +0000)]
Added a comment

4 years agosoften language in changelog
Joey Hess [Fri, 19 Nov 2021 16:52:22 +0000 (12:52 -0400)]
soften language in changelog

This bug mostly would happen when the downloads ran very fast or were
all failing (how I reproduced it), because there have to be two
downloads that finish very close to the same time to trigger the race.

So most users of -J probably would not see much impact from the bug.

4 years agofix cat-file leak in get with -J
Joey Hess [Fri, 19 Nov 2021 16:51:08 +0000 (12:51 -0400)]
fix cat-file leak in get with -J

Bugfix: When -J was enabled, getting files leaked a ever-growing number of
git cat-file processes.

(Since commit dd39e9e255a5684824ea75861f48f658eaaba288)

The leak happened when mergeState called stopNonConcurrentSafeCoProcesses.
While stopNonConcurrentSafeCoProcesses usually manages to stop everything,
there was a race condition where cat-file processes were leaked. Because
catFileStop modifies Annex.catfilehandles in a non-concurrency safe way,
and could clobber modifications made in between. Which should have been ok,
since originally catFileStop was only used at shutdown.

Note the comment on catFileStop saying it should only be used when nothing
else is using the handles. It would be possible to make catFileStop
race-safe, but it should just not be used in a situation where a race is
possible. So I didn't bother.

Instead, the fix is just not to stop any processes in mergeState. Because
in order for mergeState to be called, dupState must have been run, and it
enables concurrency mode, stops any non-concurrent processes, and so all
processes that are running are concurrency safea. So there is no need to
stop them when merging state. Indeed, stopping them would be extra work,
even if there was not this bug.

Sponsored-by: Dartmouth College's Datalad project
4 years agoreproduced
Joey Hess [Fri, 19 Nov 2021 16:05:19 +0000 (12:05 -0400)]
reproduced

4 years agohave setConcurrency stop any running git coprocesses
Joey Hess [Fri, 19 Nov 2021 15:53:25 +0000 (11:53 -0400)]
have setConcurrency stop any running git coprocesses

When non-concurrent git coprocesses have been started, setConcurrency
used to not stop them, and so could leak processes when enabling
concurrency, eg when forkState is called.

I do not think that ever actually happened, given where setConcurrency
is called. And it probably would only leak one of each process, since it
never downgrades from concurrent to non-concurrent.

4 years agocomment
Joey Hess [Fri, 19 Nov 2021 14:23:27 +0000 (10:23 -0400)]
comment

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 19 Nov 2021 13:20:07 +0000 (09:20 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agotag forumbug
Joey Hess [Fri, 19 Nov 2021 13:19:56 +0000 (09:19 -0400)]
tag forumbug

4 years agoAdded a comment: bisection
yarikoptic [Thu, 18 Nov 2021 02:29:01 +0000 (02:29 +0000)]
Added a comment: bisection

4 years agoAdded a comment: god bless search
yarikoptic [Wed, 17 Nov 2021 21:03:29 +0000 (21:03 +0000)]
Added a comment: god bless search

4 years agoimportfeed: Display url before starting youtube-dl download
Joey Hess [Wed, 17 Nov 2021 17:23:55 +0000 (13:23 -0400)]
importfeed: Display url before starting youtube-dl download

It was displaying a blank line before.

4 years agofix comment typo
Joey Hess [Wed, 17 Nov 2021 17:03:37 +0000 (13:03 -0400)]
fix comment typo

4 years agobetter wording
Joey Hess [Wed, 17 Nov 2021 16:48:28 +0000 (12:48 -0400)]
better wording

4 years agoadd news item for git-annex 8.20211117
Joey Hess [Wed, 17 Nov 2021 16:21:07 +0000 (12:21 -0400)]
add news item for git-annex 8.20211117

4 years agoreleasing package git-annex version 8.20211117
Joey Hess [Wed, 17 Nov 2021 16:20:29 +0000 (12:20 -0400)]
releasing package git-annex version 8.20211117

4 years agoupdate git-lfs version to match git-annex.cabal
Joey Hess [Tue, 16 Nov 2021 16:54:29 +0000 (12:54 -0400)]
update git-lfs version to match git-annex.cabal

4 years agocollapse lists of done items by default
Joey Hess [Tue, 16 Nov 2021 16:38:41 +0000 (12:38 -0400)]
collapse lists of done items by default

Copying how the datalad page does it. This avoids me missing the header
and thinking these are still open.

4 years agotag moreinfo
Joey Hess [Tue, 16 Nov 2021 16:35:02 +0000 (12:35 -0400)]
tag moreinfo

4 years agocomment
Joey Hess [Tue, 16 Nov 2021 16:33:36 +0000 (12:33 -0400)]
comment

4 years agoclose
Joey Hess [Mon, 15 Nov 2021 19:46:16 +0000 (15:46 -0400)]
close

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 15 Nov 2021 19:35:04 +0000 (15:35 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agouse parseFeedFromFile to avoid mojibake
Joey Hess [Mon, 15 Nov 2021 19:31:02 +0000 (15:31 -0400)]
use parseFeedFromFile to avoid mojibake

As mentioned in commit 2bd778a46ed071c2dd534ebe3b7007b7ae60d1c1, there
was mojibake when LANG=C.

Looking at parseFeedFromFile, it is very particular to read the file as
unicode. parseFeedString looks like it will accept any old String,
but a String that was read using the filesystem encoding will not in
fact have the right encoding.

I think this is a bug in the feed library and will file one.

Sponsored-by: Svenne Krap on Patreon
4 years agoimportfeed: Fix a crash when used in a non-unicode locale
Joey Hess [Mon, 15 Nov 2021 17:32:31 +0000 (13:32 -0400)]
importfeed: Fix a crash when used in a non-unicode locale

See comment for analysis.

At first I thought I'd need to convert all T.unpack in git-annex, but
luckily not -- so long as the Text is read from a file, the filesystem
encoding is applied and T.unpack is fine. It's only when using Feed
that the filesystem encoding is not applied.

While this fixes the crash, it does result in some mojibake, eg:
itemid=http://www.manager-tools.com/2014/01/choosing-a-company-work-chapter-7-���-questions/

Have not tracked that down, but it must be unrelated, because
I've verified that it roundtrips when using encodeUf8:

joey@darkstar:~/src/git-annex>LANG=C ghci  Utility/FileSystemEncoding.hs
ghci> useFileSystemEncoding
ghci> Just f <- Text.Feed.Import.parseFeedFromFile "/home/joey/tmp/career_tools_podcasts.xml"
ghci> Just (_, x) = Text.Feed.Query.getItemId (Text.Feed.Query.feedItems f !! 0)
ghci> decodeBS (Data.Text.Encoding.encodeUtf8 x)
"http://www.manager-tools.com/2014/01/choosing-a-company-work-chapter-7-\56546\56448\56467-questions/"
ghci> writeFile "foo" $ decodeBS (Data.Text.Encoding.encodeUtf8 x)
Writes a file containing the ENDASH character.

Sponsored-by: Jochen Bartl on Patreon
4 years agoAdded a comment
Lukey [Sun, 14 Nov 2021 20:11:35 +0000 (20:11 +0000)]
Added a comment

4 years agoAdded a comment
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c [Sun, 14 Nov 2021 18:41:18 +0000 (18:41 +0000)]
Added a comment

4 years agoAdded a comment
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c [Sun, 14 Nov 2021 18:37:05 +0000 (18:37 +0000)]
Added a comment

4 years agoAdded a comment
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c [Sun, 14 Nov 2021 18:35:45 +0000 (18:35 +0000)]
Added a comment

4 years ago(no commit message)
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c [Sun, 14 Nov 2021 18:33:52 +0000 (18:33 +0000)]

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 13 Nov 2021 13:09:45 +0000 (09:09 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agodisplay error message if unable to run youtube-dl
Joey Hess [Sat, 13 Nov 2021 13:07:43 +0000 (09:07 -0400)]
display error message if unable to run youtube-dl

This would have made the typo of the command name that was just fixed
obvious earlier, when --no-raw was used to force using it.

4 years agoFix a typo in the name of youtube-dl (reversion introduced in version 8.20210903)
Joey Hess [Sat, 13 Nov 2021 12:58:36 +0000 (08:58 -0400)]
Fix a typo in the name of youtube-dl (reversion introduced in version 8.20210903)

4 years ago(no commit message)
rklett [Sat, 13 Nov 2021 03:59:47 +0000 (03:59 +0000)]

4 years agoimprove docs
Joey Hess [Fri, 12 Nov 2021 18:07:29 +0000 (14:07 -0400)]
improve docs

I saw a user open a forum post that looked like they had read this man
page, but were unaware of git-annex unlock, and were looking for its
functionality. They later deleted the post, probably when they found
git-annex unlock. Looking at this man page, it was a bit unclear about
the motivation for the command.

Yes, I'm warching... ;-)

4 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 12 Nov 2021 17:29:22 +0000 (13:29 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

4 years agomigrate: New --remove-size option
Joey Hess [Fri, 12 Nov 2021 16:59:30 +0000 (12:59 -0400)]
migrate: New --remove-size option

While intended for converting URL keys added by addurl --fast to be
as if added by addurl --relaxed, it can also be used to remove size
from other types of keys. Although that is not likely to be useful
for checksummed keys, I suppose it could be used for WORM or other
non-checksum keys.

Specifying the --remove-size option does not prevent other migrations
from taking effect if there's a key upgrade to perform, or if the
backend has changed. So --backend=URL needs to be used to prevent
migrating an URL key to the default backend.

Note that it's not possible to use git-annex migrate to convert from a
non-URL key to an URL key, as URL keys cannot be generated, except by
addurl. So while this can get the same effect as --relaxed would have
when addurl --fast was used, when --fast was not used, it won't work, or
if --backend=URL is not used will remove the size but not prevent
checksum verification, which is not useful. Due to this complexity, I
decided not to mention it in the git-annex addurl man page.

Sponsored-by: Jochen Bartl on Patreon