Commit graph

38301 commits

Author SHA1 Message Date
Joey Hess
b8bd2e45e3
more RawFilePath conversion
Notable wins in Annex.Locations which was sometimes doing 6 conversions
in a single function call.

This commit was sponsored by Denis Dzyubenko on Patreon.
2020-10-28 16:24:14 -04:00
Joey Hess
6c29817748
RawFilePath version of getCurrentDirectory
This commit was sponsored by Jochen Bartl on Patreon
2020-10-28 16:03:45 -04:00
Joey Hess
08cbaee1f8
more RawFilePath conversion
Most of Git/ builds now.

Notable win is toTopFilePath no longer double converts

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2020-10-28 15:55:30 -04:00
Joey Hess
d6e94a6b2e
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.
2020-10-28 15:01:19 -04:00
Joey Hess
e219aadbab
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.
2020-10-28 14:32:45 -04:00
Joey Hess
59dbd10f92
note windows versions the builds will work with 2020-10-28 13:21:47 -04:00
yarikoptic
a3bb6f235c Added a comment 2020-10-27 19:44:36 +00:00
yarikoptic
1add9c957e Added a comment 2020-10-27 19:30:24 +00:00
yarikoptic
2bea2c1937 report on possibly PATH related issue on windows 2020-10-27 19:15:38 +00:00
Joey Hess
2dd60ff42a
comment 2020-10-27 14:33:30 -04:00
Joey Hess
970e4f11e9
Merge branch 'master' of ssh://git-annex.branchable.com 2020-10-27 14:22:21 -04:00
Joey Hess
37054e0946
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.
2020-10-27 14:21:52 -04:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
0170b5468f Added a comment: Documentation of demand 2020-10-27 14:59:47 +00:00
Lukey
9ecc4ccba3 Added a comment 2020-10-27 09:06:38 +00:00
interfect@b151490178830f44348aa57b77ad58c7d18e8fe7
730f67bcc6 2020-10-26 20:55:16 +00:00
Joey Hess
64e7bac810
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.
2020-10-26 15:38:08 -04:00
yarikoptic
2d291bf200 Added a comment 2020-10-26 17:57:12 +00:00
Joey Hess
d9cc73bf9e
Merge branch 'master' of ssh://git-annex.branchable.com 2020-10-26 13:48:00 -04:00
Joey Hess
e85be1f4fe
fix build and add build example 2020-10-26 13:45:38 -04:00
Joey Hess
5e458e8ac6
changelog 2020-10-26 13:43:40 -04:00
Joey Hess
3baef37caf
make windows installer builder include libmagic files when present, but skip otherwise 2020-10-26 13:42:43 -04:00
Joey Hess
aed64428d5
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.
2020-10-26 13:34:27 -04:00
Joey Hess
a7d11aa3ab
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.
2020-10-26 13:24:37 -04:00
Joey Hess
f3070d2d7d
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
2020-10-26 13:17:23 -04:00
Joey Hess
401f734a34
comment 2020-10-26 12:43:19 -04:00
Joey Hess
53b91e0ea7
close 2020-10-26 12:02:35 -04:00
Ilya_Shlyakhter
9f9ac634c0 Added a comment: thanks 2020-10-26 15:37:57 +00:00
Joey Hess
81d798b52e
Merge branch 'master' of ssh://git-annex.branchable.com 2020-10-26 11:35:19 -04:00
Joey Hess
8fda1ef0fa
document version for --force-large/--force-small
also fix the wrong name in the changelog
2020-10-26 11:34:30 -04:00
Joey Hess
5907415380
improve wording 2020-10-26 11:12:17 -04:00
yarikoptic
a8605422b9 initial report on a failing test 2020-10-26 15:02:49 +00:00
ericm
3558ca5d88 2020-10-25 17:32:44 +00:00
Joey Hess
dbbcfd30bd
Merge branch 'master' of ssh://git-annex.branchable.com 2020-10-25 11:30:09 -04:00
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77
f861ce399e Added a comment: where to trace the Windows build errors? 2020-10-25 15:23:01 +00:00
Joey Hess
71ca12ef8c
Merge branch 'master' of ssh://git-annex.branchable.com 2020-10-24 16:26:16 -04:00
achilleas.k@14be77d42a1252fab5ec9dbf4e5ea03c5833e8c8
65c1687430 Added a comment 2020-10-24 14:39:39 +00:00
yarikoptic
def62b49f0 Added a comment 2020-10-24 12:26:02 +00:00
yarikoptic
3be4731315 Added a comment 2020-10-24 01:21:09 +00:00
Joey Hess
92fad0703b
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.
2020-10-23 18:49:14 -04:00
Joey Hess
b2bf099aa3
use removeDirGeneric here too for consistency
And because it might be more robust on windows.
2020-10-23 16:12:47 -04:00
Joey Hess
f167851628
Revert "pass --git-dir, rather than changing cwd"
This reverts commit c142696c58.

It turns out it was not needed; 681313dfd4
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.
2020-10-23 16:09:50 -04:00
Joey Hess
a108b00b33
testremote: Display exceptions when tests fail, to aid debugging 2020-10-23 15:41:57 -04:00
Joey Hess
681313dfd4
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.
2020-10-23 14:56:12 -04:00
Joey Hess
893d7b21e8
comment 2020-10-23 14:21:29 -04:00
Joey Hess
f92b0ef109
analysis 2020-10-23 14:08:06 -04:00
Joey Hess
eece011b00
close 2020-10-23 13:58:40 -04:00
Joey Hess
c142696c58
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.
2020-10-23 13:36:56 -04:00
Joey Hess
966dbb518e
Merge remote-tracking branch 'origin/master' 2020-10-23 13:09:41 -04:00
Joey Hess
cb6cf20b9a
analysis 2020-10-23 13:00:55 -04:00
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4
b91845ec5d Added a comment 2020-10-23 16:51:04 +00:00