Joey Hess [Wed, 28 Oct 2020 18:53:25 +0000 (14:53 -0400)]
got configure working after Utility.Path ByteString conversion
Had to split out some modules because getWorkingDirectory needs unix,
which is not a build-dep of configure.
This commit was sponsored by Brock Spratlen on Patreon.
Joey Hess [Wed, 28 Oct 2020 18:18:09 +0000 (14:18 -0400)]
convert to RawByteString
This will break a lot of stuff that uses it, but once fixed should lead
to better performance.
Mostly mechanical.
Changes of note:
* upFrom now uses isPathSeparator, which is better on Windows where
there is not just one
* splitShortExtensions used to take the length of a string,
which would count wide unicode characters as a single character.
Changing to B.length changes that. Note that, git-annex's
annexMaxExtensionLength already changed to the length in bytes
before this change. This function is only used in generating views,
and the small behavior change should not be a problem.
* relHome still uses FilePath because it didn't seem worth changing(?)
This commit was sponsored by Jack Hill on Patreon.
Joey Hess [Wed, 28 Oct 2020 17:21:47 +0000 (13:21 -0400)]
note windows versions the builds will work with
Joey Hess [Tue, 27 Oct 2020 18:33:30 +0000 (14:33 -0400)]
comment
Joey Hess [Tue, 27 Oct 2020 18:22:21 +0000 (14:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 27 Oct 2020 17:39:58 +0000 (13:39 -0400)]
test if magic library works
(When built with it.)
I saw John Thorvald Wodder II doing this in
https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-windows.yaml
and it seemed like a good idea.
John used an empty file for the binary file, but I think it's
slightly suprising file picks that mime type for it, so opted to instead
use something less ambiguous.
Added a comment: Documentation of demand
Lukey [Tue, 27 Oct 2020 09:06:38 +0000 (09:06 +0000)]
Added a comment
Joey Hess [Mon, 26 Oct 2020 19:37:55 +0000 (15:37 -0400)]
view: Avoid using ':' from metadata when generating a view
Because it's a special character on Windows ("c:").
Use same technique already used for '/' and '\'.
I didn't record how I generated their encoded forms before, so am sure
there was a better way, but the way I did it now is to look at
ghci> encodeFilePath "∕"
"\226\136\149"
And then the difference from that to "\56546\56456\56469"
is adding 56320 to each, to get up to the escaped code plane.
See comment for why I think handling ':' is ok, but that other illegal
windows filenames won't. Note that, this should be enough to make the
test suite always work. Other windows illegal filenames will fail at
checkout time when it tries to put the illegal filename on the
filesystem.
yarikoptic [Mon, 26 Oct 2020 17:57:12 +0000 (17:57 +0000)]
Added a comment
Joey Hess [Mon, 26 Oct 2020 17:48:00 +0000 (13:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 26 Oct 2020 17:45:38 +0000 (13:45 -0400)]
fix build and add build example
Joey Hess [Mon, 26 Oct 2020 17:43:40 +0000 (13:43 -0400)]
changelog
Joey Hess [Mon, 26 Oct 2020 17:36:43 +0000 (13:36 -0400)]
make windows installer builder include libmagic files when present, but skip otherwise
Joey Hess [Mon, 26 Oct 2020 17:34:27 +0000 (13:34 -0400)]
allow magicmime on windows
John Thorvald Wodder II got it working using
https://github.com/datalad/file-windows so don't hard-disable it.
The stack.yaml still disables this build flag, because it needs an extra
C library to be installed, which stack cannot automate.
Joey Hess [Mon, 26 Oct 2020 17:24:37 +0000 (13:24 -0400)]
include libmagic in windows installer
This is from https://raw.githubusercontent.com/datalad/datalad-extensions/master/resources/git-annex-magicBundle.patch
which was written by John Thorvald Wodder II.
I have converted line endings from windows, and fixed indentation to use
tabs.
Joey Hess [Mon, 26 Oct 2020 17:06:50 +0000 (13:06 -0400)]
Windows build changed to one done by the datalad-extensions project using Github actions
This is a cleaner build than on Jenkins because the whole environment setup
is handled by the CI config, at least up to the point of "get a random bag
of Windows bytes".
Also, the Jenkins autobuilder has been intermittently failing for a long
time, not due to any problem with git-annex but just a failure to clean up
directories.
Also, this build runs the test suite, and it is (mostly) passing. Test
suite always failed in the jenkins environment.
Also, this build includes libmagic.
Here is the build workflow used by github actions:
https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-windows.yaml
The libmagic build has its own workflow:
https://github.com/datalad/file-windows/blob/master/.github/workflows/build.yml
(Also cleaned up some windows build cruft I don't use anymore.)
There is no build-version file to link to. I've opened a todo requesting
one: https://github.com/datalad/datalad-extensions/issues/55
Joey Hess [Mon, 26 Oct 2020 16:43:19 +0000 (12:43 -0400)]
comment
Joey Hess [Mon, 26 Oct 2020 16:02:35 +0000 (12:02 -0400)]
close
Ilya_Shlyakhter [Mon, 26 Oct 2020 15:37:57 +0000 (15:37 +0000)]
Added a comment: thanks
Joey Hess [Mon, 26 Oct 2020 15:35:19 +0000 (11:35 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 26 Oct 2020 15:34:30 +0000 (11:34 -0400)]
document version for --force-large/--force-small
also fix the wrong name in the changelog
Joey Hess [Mon, 26 Oct 2020 15:12:17 +0000 (11:12 -0400)]
improve wording
yarikoptic [Mon, 26 Oct 2020 15:02:49 +0000 (15:02 +0000)]
initial report on a failing test
ericm [Sun, 25 Oct 2020 17:32:44 +0000 (17:32 +0000)]
Joey Hess [Sun, 25 Oct 2020 15:30:09 +0000 (11:30 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Added a comment: where to trace the Windows build errors?
Joey Hess [Sat, 24 Oct 2020 20:26:16 +0000 (16:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Added a comment
yarikoptic [Sat, 24 Oct 2020 12:26:02 +0000 (12:26 +0000)]
Added a comment
yarikoptic [Sat, 24 Oct 2020 01:21:09 +0000 (01:21 +0000)]
Added a comment
Joey Hess [Fri, 23 Oct 2020 22:49:14 +0000 (18:49 -0400)]
remove dead links to youtube-dl
Presumably most users will get it from their linux distribution, or
whatever. Don't want to need to keep updating links if they're going to
rot like this.
Joey Hess [Fri, 23 Oct 2020 20:11:39 +0000 (16:11 -0400)]
use removeDirGeneric here too for consistency
And because it might be more robust on windows.
Joey Hess [Fri, 23 Oct 2020 19:51:38 +0000 (15:51 -0400)]
Revert "pass --git-dir, rather than changing cwd"
This reverts commit
c142696c587100b195accec4e9bfaa26cde73d48.
It turns out it was not needed;
681313dfd4e840e6366f3c39eddd92f65d764188
fixed up the git dir, so setting cwd to it works ok.
But worst, this commit broke the test suite massively. I don't understand how.
git-annex get was failing. Very weirdly, git-annex find in a fresh
clone of an annex repo, during autoinit, was displaying a side message
-- but side messages are disabled when running find.
Joey Hess [Fri, 23 Oct 2020 19:27:45 +0000 (15:27 -0400)]
testremote: Display exceptions when tests fail, to aid debugging
Joey Hess [Fri, 23 Oct 2020 18:56:12 +0000 (14:56 -0400)]
deal with .git pointer file in Git.CurrentRepo
This fixes the bug.
Note, it's only done when GIT_DIR is set. When it's not set,
Git.Construct already handled it. This is why it was only noticed with this
git submodule command.
This commit was sponsored by Brett Eisenberg on Patreon.
Joey Hess [Fri, 23 Oct 2020 18:21:29 +0000 (14:21 -0400)]
comment
Joey Hess [Fri, 23 Oct 2020 18:08:06 +0000 (14:08 -0400)]
analysis
Joey Hess [Fri, 23 Oct 2020 17:58:40 +0000 (13:58 -0400)]
close
Joey Hess [Fri, 23 Oct 2020 17:36:56 +0000 (13:36 -0400)]
pass --git-dir, rather than changing cwd
If .git is a gitlink file, setting cwd to it will fail, but --git-dir
will succeed. And this is the only place where it sets cwd when running
git, everywhere else already uses --git-dir.
Note that, git-annex's submodule fixup code usually converts gitlink
files to symlinks, so this wasn't usually problem. Still, worth fixing.
This commit was sponsored by Svenne Krap on Patreon.
Joey Hess [Fri, 23 Oct 2020 17:09:41 +0000 (13:09 -0400)]
Merge remote-tracking branch 'origin/master'
Joey Hess [Fri, 23 Oct 2020 17:00:55 +0000 (13:00 -0400)]
analysis
Added a comment
Joey Hess [Fri, 23 Oct 2020 16:18:52 +0000 (12:18 -0400)]
Fix bug that prevented linux standalone bundle from working on a fresh install
Bug was introduced in version 8.
20201007, lost a necessary mkdir.
This commit was sponsored by Noam Kremen on Patreon.
amindfv@97236fbaab6048ce6805b2737b27dd7f1cd51da4 [Fri, 23 Oct 2020 05:37:41 +0000 (05:37 +0000)]
Added a comment
Added a comment
yarikoptic [Fri, 23 Oct 2020 01:49:02 +0000 (01:49 +0000)]
initial report on a failing test on windows about storeKey when already present
Joey Hess [Thu, 22 Oct 2020 23:55:29 +0000 (19:55 -0400)]
this protocol is not draft for some time
Joey Hess [Thu, 22 Oct 2020 23:54:26 +0000 (19:54 -0400)]
turns out this was fixed in 2014
Joey Hess [Thu, 22 Oct 2020 23:24:38 +0000 (19:24 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 22 Oct 2020 23:23:48 +0000 (19:23 -0400)]
urk
yarikoptic [Thu, 22 Oct 2020 19:32:55 +0000 (19:32 +0000)]
Added a comment: windows build with magic
jwodder [Thu, 22 Oct 2020 18:13:40 +0000 (18:13 +0000)]
Added a comment
Joey Hess [Thu, 22 Oct 2020 17:57:56 +0000 (13:57 -0400)]
rename to avoid windows stupididy about legal filenames
Joey Hess [Thu, 22 Oct 2020 17:55:47 +0000 (13:55 -0400)]
add
Joey Hess [Thu, 22 Oct 2020 17:55:41 +0000 (13:55 -0400)]
add
Joey Hess [Thu, 22 Oct 2020 17:37:09 +0000 (13:37 -0400)]
update chunk log after speculated chunks are verified to be present
Only done in checkPresentChunks, although retrieveChunks could also do
it. Does not seem necessary though, because git-annex never retrives
content without first checking if it's present AFAICR. And really this will
only be needed when using fsck. Puttting it here, rather than in fsck
avoids breaking an abstraction boundary, and is nice and inexpensive.
Joey Hess [Thu, 22 Oct 2020 16:57:58 +0000 (12:57 -0400)]
speculatively use remote's configured chunk size as a fallback
When a special remote has chunking enabled, but no chunk sizes are
recorded (or the recorded ones are not found), speculatively try chunks
using the configured chunk size.
This makes eg, git-annex fsck --from remote be able to fix up the
location log of a file that the git-annex branch does not indicate is
stored on the remote.
Note that fsck does *not* fix up the chunk log to indicate the chunk
size. So, changing the chunk config of the remote after that will still
prevent accessing the chunks stored on it. Maybe fsck should, but I
wanted to start with this and see if it's needed.
Joey Hess [Thu, 22 Oct 2020 16:03:13 +0000 (12:03 -0400)]
close
Added a comment: cannot find this mentioned Windows build :|
edward [Wed, 21 Oct 2020 19:22:57 +0000 (19:22 +0000)]
Fix a broken link
Lukey [Wed, 21 Oct 2020 19:10:01 +0000 (19:10 +0000)]
Added a comment
ericm [Wed, 21 Oct 2020 18:18:25 +0000 (18:18 +0000)]
Joey Hess [Wed, 21 Oct 2020 14:32:24 +0000 (10:32 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Oct 2020 14:32:08 +0000 (10:32 -0400)]
devblog
Joey Hess [Wed, 21 Oct 2020 14:31:56 +0000 (10:31 -0400)]
move: Improve resuming a move that was interrupted after the object was transferred
In cases where numcopies checks prevented the resumed move from dropping
the object from the source repository, it now relies on a log of recent
moves to replicate the behavior of the interrupted command.
Performance: Probably noticable impact, since it has to add to the log,
check the log, and remove from the log. Seems worth it to avoid this
annoying edge case. The log functions are pretty well optimised to avoid
unncessary work.
An performance improvement to make later would be to avoid cleanup doing
anything if it's not written to the log file, and has confirmed that the
log file does not contain the log line.
This commit was sponsored by Jake Vosloo on Patreon.
removed
Added a comment
Added a comment
yarikoptic [Tue, 20 Oct 2020 23:31:22 +0000 (23:31 +0000)]
report/idea on minting chunked keys to try from special remote
Joey Hess [Tue, 20 Oct 2020 20:42:28 +0000 (16:42 -0400)]
more log file actions
Which will be needed soon.
And use more ByteStrings for speed.
This commit was sponsored by Graham Spencer on Patreon.
Joey Hess [Tue, 20 Oct 2020 19:06:55 +0000 (15:06 -0400)]
improve name
yarikoptic [Tue, 20 Oct 2020 16:39:15 +0000 (16:39 +0000)]
Added a comment
kyle [Tue, 20 Oct 2020 15:59:26 +0000 (15:59 +0000)]
Added a comment
ericm [Tue, 20 Oct 2020 13:45:10 +0000 (13:45 +0000)]
Added a comment
achilleas [Tue, 20 Oct 2020 12:51:55 +0000 (12:51 +0000)]
New bug report
yarikoptic [Tue, 20 Oct 2020 12:33:29 +0000 (12:33 +0000)]
Added a comment
yarikoptic [Tue, 20 Oct 2020 12:29:19 +0000 (12:29 +0000)]
Added a comment
Joey Hess [Mon, 19 Oct 2020 19:36:18 +0000 (15:36 -0400)]
add, import: Fix a reversion in 7.
20191009 that broke handling of --largerthan and --smallerthan
This commit was sponsored by Jochen Bartl on Patreon.
Joey Hess [Mon, 19 Oct 2020 19:24:38 +0000 (15:24 -0400)]
bug
Joey Hess [Mon, 19 Oct 2020 19:04:52 +0000 (15:04 -0400)]
comment
Joey Hess [Mon, 19 Oct 2020 18:57:30 +0000 (14:57 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 19 Oct 2020 18:57:02 +0000 (14:57 -0400)]
design done
Joey Hess [Mon, 19 Oct 2020 18:48:39 +0000 (14:48 -0400)]
update
Joey Hess [Mon, 19 Oct 2020 18:48:21 +0000 (14:48 -0400)]
fix build warning
ericm [Mon, 19 Oct 2020 18:33:57 +0000 (18:33 +0000)]
Joey Hess [Mon, 19 Oct 2020 18:19:41 +0000 (14:19 -0400)]
more thoughts
Joey Hess [Mon, 19 Oct 2020 17:13:49 +0000 (13:13 -0400)]
don't try to remove pre-commit-annex and post-update-annex-hooks
Those are not installed by git-annex but by the user, and so removal
will never find the default content, and so if the user did install
them, it would display a misleading message.
Seems better, since the user installed them, to let the user remove them
if they want to.
Joey Hess [Mon, 19 Oct 2020 17:12:07 +0000 (13:12 -0400)]
comment
Joey Hess [Mon, 19 Oct 2020 17:04:03 +0000 (13:04 -0400)]
comment
Joey Hess [Mon, 19 Oct 2020 16:37:40 +0000 (12:37 -0400)]
comment
Joey Hess [Mon, 19 Oct 2020 16:19:33 +0000 (12:19 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com into master
Joey Hess [Mon, 19 Oct 2020 16:16:15 +0000 (12:16 -0400)]
close
Joey Hess [Mon, 19 Oct 2020 15:14:01 +0000 (11:14 -0400)]
switch to Haskell2010
When I put in Haskell98 this spring, I was under the mistaken
apprehension that ghc defaulted to that. But it actually its default
is a third mode, which is closer to Haskell2010 but with some differences.
The manual says "By default, GHC mainly aims to behave (mostly) like a
Haskell 2010 compiler"
Fixed two cases where the Haskell98 do indentation flexability let
wrongly indented code build. That is one of the places where
ghc does not behave like Haskell2010 by default.
The other place that I think I was concerned about, is GHC manual
section 19.1.1.3. Expressions and patterns. But that only seems to
affect code using bottoms, so would only affect pure functions throwing
an error, which I don't think git-annex does in many places as it's
pretty horrid style. And it would only affect rare cases like shown in
that section. If it did happen, it would mean that the error was not
thrown before specifying Haskell98, and then was. Haskell2010 behaves
the same as Haskell98.
This commit was sponsored by Denis Dzyubenko on Patreon.
Ilya_Shlyakhter [Sun, 18 Oct 2020 21:00:59 +0000 (21:00 +0000)]
Added a comment: copying directly from directory special remote to the cloud
Ilya_Shlyakhter [Fri, 16 Oct 2020 14:58:42 +0000 (14:58 +0000)]
Added a comment: building the standalone distribution on CentOS
yarikoptic [Fri, 16 Oct 2020 01:50:39 +0000 (01:50 +0000)]
Added a comment