git-annex.git
5 years agoAdded a comment: building the standalone distribution on CentOS
Ilya_Shlyakhter [Fri, 16 Oct 2020 14:58:42 +0000 (14:58 +0000)]
Added a comment: building the standalone distribution on CentOS

5 years agoAdded a comment
yarikoptic [Fri, 16 Oct 2020 01:50:39 +0000 (01:50 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Fri, 16 Oct 2020 01:29:23 +0000 (01:29 +0000)]
Added a comment

5 years agoFix typo
edward [Thu, 15 Oct 2020 19:10:58 +0000 (19:10 +0000)]
Fix typo

5 years agoinitial report
yarikoptic [Thu, 15 Oct 2020 16:43:06 +0000 (16:43 +0000)]
initial report

5 years agoAdded a comment
Lukey [Thu, 15 Oct 2020 14:46:33 +0000 (14:46 +0000)]
Added a comment

5 years agoAdded a comment: dropunused and copies
fbaca1610@41d03d827c5fd52d594eef456b6196c057c0944f [Thu, 15 Oct 2020 10:19:17 +0000 (10:19 +0000)]
Added a comment: dropunused and copies

5 years agocomment
Joey Hess [Tue, 13 Oct 2020 22:57:30 +0000 (18:57 -0400)]
comment

5 years agodevblog
Joey Hess [Tue, 13 Oct 2020 22:41:47 +0000 (18:41 -0400)]
devblog

5 years agodevblog
Joey Hess [Tue, 13 Oct 2020 20:46:32 +0000 (16:46 -0400)]
devblog

5 years agoFix a memory leak introduced in the last release
Joey Hess [Tue, 13 Oct 2020 20:31:01 +0000 (16:31 -0400)]
Fix a memory leak introduced in the last release

The problem was this line:

cleanup = and <$> sequence (map snd v)

That caused all of v to be held onto until the end, when the cleanup action
was run.

I could not seem to find a bang pattern that avoided the leak, so I
resorted to a IORef, rather clunky, but not a performance problem because
it will only be written once per git ls-files, so typically just 1 time.

This commit was sponsored by Mark Reidenbach on Patreon.

5 years agoenable profiling in dev build
Joey Hess [Tue, 13 Oct 2020 19:36:01 +0000 (15:36 -0400)]
enable profiling in dev build

5 years agoblew a day investigating this and still don't understand it fully
Joey Hess [Tue, 13 Oct 2020 19:33:59 +0000 (15:33 -0400)]
blew a day investigating this and still don't understand it fully

5 years agocomment
Joey Hess [Tue, 13 Oct 2020 16:24:13 +0000 (12:24 -0400)]
comment

5 years agoadd a few missing copyrights
Joey Hess [Tue, 13 Oct 2020 16:19:36 +0000 (12:19 -0400)]
add a few missing copyrights

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 12 Oct 2020 20:14:51 +0000 (16:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 20:12:24 +0000 (16:12 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 19:47:46 +0000 (15:47 -0400)]
comment

This commit was sponsored by Ethan Aubin.

5 years agoAdded a comment
Maximilian [Mon, 12 Oct 2020 19:53:27 +0000 (19:53 +0000)]
Added a comment

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 19:47:46 +0000 (15:47 -0400)]
comment

This commit was sponsored by Ethan Aubin.

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 19:10:57 +0000 (15:10 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 19:03:18 +0000 (15:03 -0400)]
comment

5 years agoclose as notabug
Joey Hess [Mon, 12 Oct 2020 18:50:38 +0000 (14:50 -0400)]
close as notabug

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 12 Oct 2020 18:49:36 +0000 (14:49 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agoprofiling
Joey Hess [Mon, 12 Oct 2020 18:48:26 +0000 (14:48 -0400)]
profiling

Currently a bit stuck, but at least starting to get some clues on this
memory leak.

This commit was sponsored by Ethan Aubin.

5 years agoAdded a comment
Lukey [Mon, 12 Oct 2020 17:20:37 +0000 (17:20 +0000)]
Added a comment

5 years agoAdded a comment
mhauru [Mon, 12 Oct 2020 17:07:58 +0000 (17:07 +0000)]
Added a comment

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 16:32:53 +0000 (12:32 -0400)]
comment

5 years agoAdded a comment
yarikoptic [Mon, 12 Oct 2020 16:00:32 +0000 (16:00 +0000)]
Added a comment

5 years agocomment
Joey Hess [Mon, 12 Oct 2020 15:41:58 +0000 (11:41 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 12 Oct 2020 15:35:40 +0000 (11:35 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agoAdded a comment
Lukey [Sun, 11 Oct 2020 14:17:47 +0000 (14:17 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Sun, 11 Oct 2020 14:08:27 +0000 (14:08 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Sun, 11 Oct 2020 14:01:35 +0000 (14:01 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Sun, 11 Oct 2020 13:51:28 +0000 (13:51 +0000)]
Added a comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Sat, 10 Oct 2020 14:40:35 +0000 (10:40 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years ago(no commit message)
Maximilian [Sat, 10 Oct 2020 09:11:21 +0000 (09:11 +0000)]

5 years agocomment
Joey Hess [Sat, 10 Oct 2020 00:24:56 +0000 (20:24 -0400)]
comment

5 years agothis was closed a long time ago, but a rename made it re-appear
Joey Hess [Thu, 8 Oct 2020 18:36:36 +0000 (14:36 -0400)]
this was closed a long time ago, but a rename made it re-appear

5 years agoFix build on Windows with network-3
Joey Hess [Thu, 8 Oct 2020 14:50:39 +0000 (10:50 -0400)]
Fix build on Windows with network-3

inet_addr was removed, but all this needs is localhost, so hardcoding it
should work fine.

It may be that this windows ifdef is no longer needed. It was added in 2013
with a note that getAddrInfo didn't work on windows, but it seems likely
such a problem would have been fixed since.

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 8 Oct 2020 14:38:15 +0000 (10:38 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agochange from deprecated and removed aNY_PORT to defaultPort
Joey Hess [Thu, 8 Oct 2020 14:35:16 +0000 (10:35 -0400)]
change from deprecated and removed aNY_PORT to defaultPort

(Both are just 0 internally.)

5 years agoremove unused define
Joey Hess [Thu, 8 Oct 2020 14:31:03 +0000 (10:31 -0400)]
remove unused define

5 years agodesign for finally slaying this beast
Joey Hess [Thu, 8 Oct 2020 14:09:12 +0000 (10:09 -0400)]
design for finally slaying this beast

This commit was sponsored by Ethan Aubin.

5 years ago(no commit message)
jwodder [Thu, 8 Oct 2020 13:02:20 +0000 (13:02 +0000)]

5 years agoAdded a comment
jwodder [Thu, 8 Oct 2020 12:44:52 +0000 (12:44 +0000)]
Added a comment

5 years agoadd news item for git-annex 8.20201007
Joey Hess [Wed, 7 Oct 2020 18:18:57 +0000 (14:18 -0400)]
add news item for git-annex 8.20201007

5 years agoreleasing package git-annex version 8.20201007
Joey Hess [Wed, 7 Oct 2020 18:10:56 +0000 (14:10 -0400)]
releasing package git-annex version 8.20201007

5 years agorenamed some filenames to not end with a period
Joey Hess [Wed, 7 Oct 2020 16:12:53 +0000 (12:12 -0400)]
renamed some filenames to not end with a period

Windows does not allow such filenames, which prevented cloning git-annex
on windows.

5 years agoFix a build failure on Windows.
Joey Hess [Wed, 7 Oct 2020 16:04:54 +0000 (12:04 -0400)]
Fix a build failure on Windows.

5 years ago(no commit message)
git-annex.branchable@f45632a8044327f7993eb5b462c37b76ae48cb10 [Wed, 7 Oct 2020 15:01:06 +0000 (15:01 +0000)]

5 years ago(no commit message)
git-annex.branchable@f45632a8044327f7993eb5b462c37b76ae48cb10 [Tue, 6 Oct 2020 19:19:44 +0000 (19:19 +0000)]

5 years agoavoid depending on cmp
Joey Hess [Tue, 6 Oct 2020 15:25:17 +0000 (11:25 -0400)]
avoid depending on cmp

If it was not available, the caches would get deleted unncessarily.
This should be just as fast as using it.

5 years agoshorten buildid
Joey Hess [Tue, 6 Oct 2020 15:23:55 +0000 (11:23 -0400)]
shorten buildid

No need to end it with " git-annex"

5 years agoresponse
Joey Hess [Tue, 6 Oct 2020 14:54:10 +0000 (10:54 -0400)]
response

5 years agoclose
Joey Hess [Tue, 6 Oct 2020 14:24:09 +0000 (10:24 -0400)]
close

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Tue, 6 Oct 2020 14:07:48 +0000 (10:07 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agoupdate
Joey Hess [Tue, 6 Oct 2020 14:07:27 +0000 (10:07 -0400)]
update

5 years agomove cache cleanup back to before cache creation
Joey Hess [Tue, 6 Oct 2020 12:46:35 +0000 (08:46 -0400)]
move cache cleanup back to before cache creation

It was moved to avoid a race, but that's now avoided in another way.
I prefer having it here, because this way if it somehow fails and
deletes the locpath that is going to be used, at least it will get
re-created.

5 years agofix another race
Joey Hess [Tue, 6 Oct 2020 12:44:05 +0000 (08:44 -0400)]
fix another race

Use a different tmp directory so the cache cleanup won't delete the
locpath directory while it's being populated.

This does change the hash used for the locpath directory, but it already
changed in f0ec725234463a7165a4339c8a65486a9b04ab3a

5 years agoAdded a comment
yarikoptic [Tue, 6 Oct 2020 01:27:01 +0000 (01:27 +0000)]
Added a comment

5 years agoAdded a comment: FTR
yarikoptic [Tue, 6 Oct 2020 00:04:38 +0000 (00:04 +0000)]
Added a comment: FTR

5 years agoAdded a comment
yarikoptic [Mon, 5 Oct 2020 23:17:08 +0000 (23:17 +0000)]
Added a comment

5 years agoAdded a comment: just comments
yarikoptic [Mon, 5 Oct 2020 23:11:32 +0000 (23:11 +0000)]
Added a comment: just comments

5 years agocomment
Joey Hess [Mon, 5 Oct 2020 19:19:48 +0000 (15:19 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 5 Oct 2020 18:51:19 +0000 (14:51 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 5 Oct 2020 18:38:29 +0000 (14:38 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 5 Oct 2020 18:37:33 +0000 (14:37 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agofix confirmed
Joey Hess [Mon, 5 Oct 2020 18:36:36 +0000 (14:36 -0400)]
fix confirmed

5 years agofully atomic LOCPATH populating
Joey Hess [Mon, 5 Oct 2020 18:17:46 +0000 (14:17 -0400)]
fully atomic LOCPATH populating

This fixes a race between two runshells from two different
bundles. One could have run the cache cleanup code, seen the
LOCPATH the other one was in the process of populating, which didn't
have a base or a buildid file written yet, and so the cache cleanup code
would delete it out from under the other process.

Also, doing it fully atomically simplifies where the races between two
runshell processes from the same bundle. Now that needs to be
dealt with to only the mv that puts it in place.

Note that, if the same bundle has 2 runshells run first thing, they will
both generate locales, which is unncessary work, but that should be a
very unusual circumstance and after the LOCPATH is set up, it won't
happen again anyway.

5 years agoAdded a comment
kyle [Mon, 5 Oct 2020 18:09:07 +0000 (18:09 +0000)]
Added a comment

5 years agomove cache cleanup to avoid a race
Joey Hess [Mon, 5 Oct 2020 18:07:27 +0000 (14:07 -0400)]
move cache cleanup to avoid a race

This should fix doc/bugs/standalone_runshell_can_race_and_fail_to_remove___96____126____47__.cache__47__git-annex__47__locales__47____96___dirs
where 2 runshells were running and the second one tried to clean up
LOCPATH while the first one was still populating it.

By moving the cleanup until after LOCPATH is populated, we guarantee
it's populated, so don't need to worry about such a race with another
process populating our same LOCPATH.

5 years agoinclude buildid in LOCPATH
Joey Hess [Mon, 5 Oct 2020 17:53:43 +0000 (13:53 -0400)]
include buildid in LOCPATH

This avoids the possibility that the bundle could be updated in place,
leading to LOCPATH existing but containing locales for the old version,
which needed to be tested for with code that was not race-free.

LOCPATH/buildid is still written and checked when cleaning up stale caches.
That is not actually necessary, except old versions of the standalone
bundle expect to see it, and this prevents them cleaning up the locale
cache of a new version. And still checking it prevents the new version
cleaning up the locale cache of the old version while the old version is
still in use.

Added explicit tests before creating LOCPATH and the base and buildid files.

The buildid file no longer needs to be updated every time, because it's
stable for the given LOCPATH directory.

And the base file actually did not need to be updated every time,
because the LOCPATH is derived from base, so if the bundle is moved
elsewhere, a different LOCPATH will be used.

Transitioning to this will mean that two git-annex builds that otherwise
have the same buildid -- the same git-annex md5sum -- will use different
LOCPATH values, but that's handled fine by the cache cleanup code, so at
most it will mean one extra generation of the locale files.

5 years agoAdded a comment
yarikoptic [Mon, 5 Oct 2020 18:02:51 +0000 (18:02 +0000)]
Added a comment

5 years agoswitch to md5sum for buildid
Joey Hess [Mon, 5 Oct 2020 17:45:27 +0000 (13:45 -0400)]
switch to md5sum for buildid

This does not need to be cryptogrphically secure, and a little shorter
will be better when using the buildid in a path in subsequent changes.

5 years agorunshell: fix some mess left in a race
Joey Hess [Mon, 5 Oct 2020 17:42:43 +0000 (13:42 -0400)]
runshell: fix some mess left in a race

This seems to be the best way to deal with the race; if the first and
second runshell are running very close together, the first will generate
the locale directory, and a second test -d would still leave a race
window.

5 years agoAdded a comment
kyle [Mon, 5 Oct 2020 17:42:26 +0000 (17:42 +0000)]
Added a comment

5 years agorunshell: Update files atomically when preparing to run git-annex
Joey Hess [Mon, 5 Oct 2020 17:38:34 +0000 (13:38 -0400)]
runshell: Update files atomically when preparing to run git-annex

This does not make it entirely idempotent, but it's a start.

5 years agosmall runshell optimisation
Joey Hess [Mon, 5 Oct 2020 17:37:00 +0000 (13:37 -0400)]
small runshell optimisation

avoid some test -d for locale variables that are not set

5 years agocomment
Joey Hess [Mon, 5 Oct 2020 16:57:16 +0000 (12:57 -0400)]
comment

5 years agorunshell: Fix a edge case where rm errors were sent to stdout, which could confuse...
Joey Hess [Mon, 5 Oct 2020 16:44:40 +0000 (12:44 -0400)]
runshell: Fix a edge case where rm errors were sent to stdout, which could confuse things parsing git-annex output.

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 5 Oct 2020 16:37:43 +0000 (12:37 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agoupdate
Joey Hess [Mon, 5 Oct 2020 16:36:36 +0000 (12:36 -0400)]
update

5 years agoAdded a comment
yarikoptic [Mon, 5 Oct 2020 15:26:10 +0000 (15:26 +0000)]
Added a comment

5 years agoAdded a comment: standalone build
Ilya_Shlyakhter [Sun, 4 Oct 2020 15:45:16 +0000 (15:45 +0000)]
Added a comment: standalone build

5 years agoInitial report on hanging batched processes
yarikoptic [Sat, 3 Oct 2020 04:04:28 +0000 (04:04 +0000)]
Initial report on hanging batched processes

5 years agoinitial report on rm failing to remove cache/locales
yarikoptic [Sat, 3 Oct 2020 03:52:33 +0000 (03:52 +0000)]
initial report on rm failing to remove cache/locales

5 years agoupdate to lts-16.16
Joey Hess [Fri, 2 Oct 2020 20:39:10 +0000 (16:39 -0400)]
update to lts-16.16

5 years agoEnable building with git-annex benchmark by default
Joey Hess [Fri, 2 Oct 2020 17:57:10 +0000 (13:57 -0400)]
Enable building with git-annex benchmark by default

Only turning it off when the criterion library is not installed.

Not enabled for osx or i386ancient yet since that will need some
invesitgation to update their respective stack.yaml files.

5 years agoremove unused import
Joey Hess [Fri, 2 Oct 2020 17:45:09 +0000 (13:45 -0400)]
remove unused import

5 years agoFix build with Benchmark build flag
Joey Hess [Fri, 2 Oct 2020 17:30:24 +0000 (13:30 -0400)]
Fix build with Benchmark build flag

Broke a while ago during optimisation work, and not noticed since the flag
is disabled by default.

This commit was sponsored by Brock Spratlen on Patreon.

5 years agoAdded a comment
kyle [Thu, 1 Oct 2020 19:07:48 +0000 (19:07 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Thu, 1 Oct 2020 17:26:10 +0000 (17:26 +0000)]
Added a comment

5 years agoresponse
Joey Hess [Thu, 1 Oct 2020 17:08:09 +0000 (13:08 -0400)]
response

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Thu, 1 Oct 2020 16:53:24 +0000 (12:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master

5 years agoAdded a comment
yarikoptic [Thu, 1 Oct 2020 14:06:34 +0000 (14:06 +0000)]
Added a comment

5 years agoavoid git check-ignore overhead on importing known files
Joey Hess [Wed, 30 Sep 2020 15:09:09 +0000 (11:09 -0400)]
avoid git check-ignore overhead on importing known files

isKnownImportLocation does a database lookup and there's an index
to make that lookup fast, so it's probably faster than talking to git
check-ignore. Checking the matcher is faster still.

While before the gitignore check was added it did not need to always
check isknown, now it does, because it's that or the more expensive
notignored. But at least we can skip notignored when a file is known,
which will often be the common case: Importing from a remote that's been
exported to, and/or imported from before, only new files will not be
known, so only those will need to check notignored.

At first, I had this:
(matches <&&> (isknown <||> notignored)) <||> isknown
Notice that checks isknown every time, whether it matches or not.

So, it's no slower to instead do this:
isknown <||> (matches <&&> notignored)
That has the benefit that, when it's known, it doesn't need to run
matches, which while faster than isknown, is still going to use some CPU.

And it perhaps more clearly expresses the condition: Any known file is
wanted, otherwise it's down to what matches and is not ignored.

This commit was sponsored by Jack Hill on Patren.

5 years agoimport: Check gitignores when importing trees from special remotes
Joey Hess [Wed, 30 Sep 2020 14:41:59 +0000 (10:41 -0400)]
import: Check gitignores when importing trees from special remotes

It seemed best to do this, for consistency with every other way files can
get into a git-annex repo. Although it's just a bit strange that a local
.gitignore file affects the pseudo-commits made for the remote that's
imported from.

This commit was sponsored by Brett Eisenberg on Patreon.

5 years agoavoid a second traversal of the ImportableContents
Joey Hess [Wed, 30 Sep 2020 14:10:03 +0000 (10:10 -0400)]
avoid a second traversal of the ImportableContents

Do all filtering in one pass.

5 years agotypo
Joey Hess [Wed, 30 Sep 2020 13:40:06 +0000 (09:40 -0400)]
typo