git-annex.git
5 years agogot configure working after Utility.Path ByteString conversion
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.

5 years agoconvert to RawByteString
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.

5 years agonote windows versions the builds will work with
Joey Hess [Wed, 28 Oct 2020 17:21:47 +0000 (13:21 -0400)]
note windows versions the builds will work with

5 years agocomment
Joey Hess [Tue, 27 Oct 2020 18:33:30 +0000 (14:33 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 27 Oct 2020 18:22:21 +0000 (14:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agotest if magic library works
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.

5 years agoAdded a comment: Documentation of demand
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec [Tue, 27 Oct 2020 14:59:47 +0000 (14:59 +0000)]
Added a comment: Documentation of demand

5 years agoAdded a comment
Lukey [Tue, 27 Oct 2020 09:06:38 +0000 (09:06 +0000)]
Added a comment

5 years ago(no commit message)
interfect@b151490178830f44348aa57b77ad58c7d18e8fe7 [Mon, 26 Oct 2020 20:55:16 +0000 (20:55 +0000)]

5 years agoview: Avoid using ':' from metadata when generating a view
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.

5 years agoAdded a comment
yarikoptic [Mon, 26 Oct 2020 17:57:12 +0000 (17:57 +0000)]
Added a comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 26 Oct 2020 17:48:00 +0000 (13:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agofix build and add build example
Joey Hess [Mon, 26 Oct 2020 17:45:38 +0000 (13:45 -0400)]
fix build and add build example

5 years agochangelog
Joey Hess [Mon, 26 Oct 2020 17:43:40 +0000 (13:43 -0400)]
changelog

5 years agomake windows installer builder include libmagic files when present, but skip otherwise
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

5 years agoallow magicmime on windows
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.

5 years agoinclude libmagic in windows installer
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.

5 years agoWindows build changed to one done by the datalad-extensions project using Github...
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

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

5 years agoclose
Joey Hess [Mon, 26 Oct 2020 16:02:35 +0000 (12:02 -0400)]
close

5 years agoAdded a comment: thanks
Ilya_Shlyakhter [Mon, 26 Oct 2020 15:37:57 +0000 (15:37 +0000)]
Added a comment: thanks

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

5 years agodocument version for --force-large/--force-small
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

5 years agoimprove wording
Joey Hess [Mon, 26 Oct 2020 15:12:17 +0000 (11:12 -0400)]
improve wording

5 years agoinitial report on a failing test
yarikoptic [Mon, 26 Oct 2020 15:02:49 +0000 (15:02 +0000)]
initial report on a failing test

5 years ago(no commit message)
ericm [Sun, 25 Oct 2020 17:32:44 +0000 (17:32 +0000)]

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sun, 25 Oct 2020 15:30:09 +0000 (11:30 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment: where to trace the Windows build errors?
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77 [Sun, 25 Oct 2020 15:23:01 +0000 (15:23 +0000)]
Added a comment: where to trace the Windows build errors?

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 24 Oct 2020 20:26:16 +0000 (16:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoAdded a comment
achilleas.k@14be77d42a1252fab5ec9dbf4e5ea03c5833e8c8 [Sat, 24 Oct 2020 14:39:39 +0000 (14:39 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Sat, 24 Oct 2020 12:26:02 +0000 (12:26 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Sat, 24 Oct 2020 01:21:09 +0000 (01:21 +0000)]
Added a comment

5 years agoremove dead links to youtube-dl
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.

5 years agouse removeDirGeneric here too for consistency
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.

5 years agoRevert "pass --git-dir, rather than changing cwd"
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.

5 years agotestremote: Display exceptions when tests fail, to aid debugging
Joey Hess [Fri, 23 Oct 2020 19:27:45 +0000 (15:27 -0400)]
testremote: Display exceptions when tests fail, to aid debugging

5 years agodeal with .git pointer file in Git.CurrentRepo
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.

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

5 years agoanalysis
Joey Hess [Fri, 23 Oct 2020 18:08:06 +0000 (14:08 -0400)]
analysis

5 years agoclose
Joey Hess [Fri, 23 Oct 2020 17:58:40 +0000 (13:58 -0400)]
close

5 years agopass --git-dir, rather than changing cwd
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.

5 years agoMerge remote-tracking branch 'origin/master'
Joey Hess [Fri, 23 Oct 2020 17:09:41 +0000 (13:09 -0400)]
Merge remote-tracking branch 'origin/master'

5 years agoanalysis
Joey Hess [Fri, 23 Oct 2020 17:00:55 +0000 (13:00 -0400)]
analysis

5 years agoAdded a comment
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4 [Fri, 23 Oct 2020 16:51:04 +0000 (16:51 +0000)]
Added a comment

5 years agoFix bug that prevented linux standalone bundle from working on a fresh install
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.

5 years agoAdded a comment
amindfv@97236fbaab6048ce6805b2737b27dd7f1cd51da4 [Fri, 23 Oct 2020 05:37:41 +0000 (05:37 +0000)]
Added a comment

5 years agoAdded a comment
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4 [Fri, 23 Oct 2020 02:00:09 +0000 (02:00 +0000)]
Added a comment

5 years ago(no commit message)
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4 [Fri, 23 Oct 2020 01:53:33 +0000 (01:53 +0000)]

5 years agoinitial report on a failing test on windows about storeKey when already present
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

5 years agothis protocol is not draft for some time
Joey Hess [Thu, 22 Oct 2020 23:55:29 +0000 (19:55 -0400)]
this protocol is not draft for some time

5 years agoturns out this was fixed in 2014
Joey Hess [Thu, 22 Oct 2020 23:54:26 +0000 (19:54 -0400)]
turns out this was fixed in 2014

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 22 Oct 2020 23:24:38 +0000 (19:24 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agourk
Joey Hess [Thu, 22 Oct 2020 23:23:48 +0000 (19:23 -0400)]
urk

5 years agoAdded a comment: windows build with magic
yarikoptic [Thu, 22 Oct 2020 19:32:55 +0000 (19:32 +0000)]
Added a comment: windows build with magic

5 years agoAdded a comment
jwodder [Thu, 22 Oct 2020 18:13:40 +0000 (18:13 +0000)]
Added a comment

5 years agorename to avoid windows stupididy about legal filenames
Joey Hess [Thu, 22 Oct 2020 17:57:56 +0000 (13:57 -0400)]
rename to avoid windows stupididy about legal filenames

5 years agoadd
Joey Hess [Thu, 22 Oct 2020 17:55:47 +0000 (13:55 -0400)]
add

5 years agoadd
Joey Hess [Thu, 22 Oct 2020 17:55:41 +0000 (13:55 -0400)]
add

5 years agoupdate chunk log after speculated chunks are verified to be present
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.

5 years agospeculatively use remote's configured chunk size as a fallback
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.

5 years agoclose
Joey Hess [Thu, 22 Oct 2020 16:03:13 +0000 (12:03 -0400)]
close

5 years agoAdded a comment: cannot find this mentioned Windows build :|
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77 [Wed, 21 Oct 2020 20:46:37 +0000 (20:46 +0000)]
Added a comment: cannot find this mentioned Windows build :|

5 years ago(no commit message)
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77 [Wed, 21 Oct 2020 20:44:23 +0000 (20:44 +0000)]

5 years agoFix a broken link
edward [Wed, 21 Oct 2020 19:22:57 +0000 (19:22 +0000)]
Fix a broken link

5 years agoAdded a comment
Lukey [Wed, 21 Oct 2020 19:10:01 +0000 (19:10 +0000)]
Added a comment

5 years ago(no commit message)
ericm [Wed, 21 Oct 2020 18:18:25 +0000 (18:18 +0000)]

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 21 Oct 2020 14:32:24 +0000 (10:32 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agodevblog
Joey Hess [Wed, 21 Oct 2020 14:32:08 +0000 (10:32 -0400)]
devblog

5 years agomove: Improve resuming a move that was interrupted after the object was transferred
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.

5 years agoremoved
achilleas.k@14be77d42a1252fab5ec9dbf4e5ea03c5833e8c8 [Wed, 21 Oct 2020 07:51:58 +0000 (07:51 +0000)]
removed

5 years agoAdded a comment
achilleas.k@14be77d42a1252fab5ec9dbf4e5ea03c5833e8c8 [Wed, 21 Oct 2020 07:51:37 +0000 (07:51 +0000)]
Added a comment

5 years agoAdded a comment
achilleas.k@14be77d42a1252fab5ec9dbf4e5ea03c5833e8c8 [Wed, 21 Oct 2020 07:51:13 +0000 (07:51 +0000)]
Added a comment

5 years agoreport/idea on minting chunked keys to try from special remote
yarikoptic [Tue, 20 Oct 2020 23:31:22 +0000 (23:31 +0000)]
report/idea on minting chunked keys to try from special remote

5 years agomore log file actions
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.

5 years agoimprove name
Joey Hess [Tue, 20 Oct 2020 19:06:55 +0000 (15:06 -0400)]
improve name

5 years agoAdded a comment
yarikoptic [Tue, 20 Oct 2020 16:39:15 +0000 (16:39 +0000)]
Added a comment

5 years agoAdded a comment
kyle [Tue, 20 Oct 2020 15:59:26 +0000 (15:59 +0000)]
Added a comment

5 years agoAdded a comment
ericm [Tue, 20 Oct 2020 13:45:10 +0000 (13:45 +0000)]
Added a comment

5 years ago New bug report
achilleas [Tue, 20 Oct 2020 12:51:55 +0000 (12:51 +0000)]
 New bug report

5 years agoAdded a comment
yarikoptic [Tue, 20 Oct 2020 12:33:29 +0000 (12:33 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Tue, 20 Oct 2020 12:29:19 +0000 (12:29 +0000)]
Added a comment

5 years agoadd, import: Fix a reversion in 7.20191009 that broke handling of --largerthan and...
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.

5 years agobug
Joey Hess [Mon, 19 Oct 2020 19:24:38 +0000 (15:24 -0400)]
bug

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

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

5 years agodesign done
Joey Hess [Mon, 19 Oct 2020 18:57:02 +0000 (14:57 -0400)]
design done

5 years agoupdate
Joey Hess [Mon, 19 Oct 2020 18:48:39 +0000 (14:48 -0400)]
update

5 years agofix build warning
Joey Hess [Mon, 19 Oct 2020 18:48:21 +0000 (14:48 -0400)]
fix build warning

5 years ago(no commit message)
ericm [Mon, 19 Oct 2020 18:33:57 +0000 (18:33 +0000)]

5 years agomore thoughts
Joey Hess [Mon, 19 Oct 2020 18:19:41 +0000 (14:19 -0400)]
more thoughts

5 years agodon't try to remove pre-commit-annex and post-update-annex-hooks
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.

5 years agocomment
Joey Hess [Mon, 19 Oct 2020 17:12:07 +0000 (13:12 -0400)]
comment

5 years agocomment
Joey Hess [Mon, 19 Oct 2020 17:04:03 +0000 (13:04 -0400)]
comment

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

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

5 years agoclose
Joey Hess [Mon, 19 Oct 2020 16:16:15 +0000 (12:16 -0400)]
close

5 years agoswitch to Haskell2010
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.

5 years agoAdded a comment: copying directly from directory special remote to the cloud
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

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