Joey Hess [Wed, 18 Dec 2019 20:45:03 +0000 (16:45 -0400)]
more RawFilePath
Remove dup definitions and just use the RawFilePath one. </> etc are
enough faster that it's probably faster than building a String directly,
although I have not benchmarked.
Joey Hess [Wed, 18 Dec 2019 20:11:14 +0000 (16:11 -0400)]
todo
Joey Hess [Wed, 18 Dec 2019 19:57:40 +0000 (15:57 -0400)]
keep filename ByteString
Minor optimisation, since it still has to be copied from lazy to strict,
but it will add up when doing a big merge.
Joey Hess [Wed, 18 Dec 2019 19:19:19 +0000 (15:19 -0400)]
wrap up
Joey Hess [Wed, 18 Dec 2019 19:13:30 +0000 (15:13 -0400)]
Merge branch 'master' into bs
and update changelog
Joey Hess [Wed, 18 Dec 2019 18:46:05 +0000 (14:46 -0400)]
added dep for custom-setup
stack build failed w/o this though cabal old-build succeeded.
Joey Hess [Wed, 18 Dec 2019 18:37:59 +0000 (14:37 -0400)]
more build fix
Joey Hess [Wed, 18 Dec 2019 18:36:19 +0000 (14:36 -0400)]
build fixes
Joey Hess [Wed, 18 Dec 2019 18:33:29 +0000 (14:33 -0400)]
get any old rpms
to prevent makerepo from falling over on broken symlinks
Joey Hess [Wed, 18 Dec 2019 18:32:13 +0000 (14:32 -0400)]
only delete old rpms for arches that have a new rpm
Joey Hess [Wed, 18 Dec 2019 18:29:23 +0000 (14:29 -0400)]
fixed
Joey Hess [Wed, 18 Dec 2019 18:27:47 +0000 (14:27 -0400)]
remove old rpms
Don't want a mass of old versions of git-annex in rpm form cluttering up
my server.
Also, makerepo falls over when confronted with a dangling symlink.
Joey Hess [Wed, 18 Dec 2019 18:22:55 +0000 (14:22 -0400)]
fix build
Joey Hess [Wed, 18 Dec 2019 18:17:15 +0000 (14:17 -0400)]
add news item for git-annex 7.
20191218
Joey Hess [Wed, 18 Dec 2019 18:04:14 +0000 (14:04 -0400)]
inprogress: Support --key
Joey Hess [Wed, 18 Dec 2019 17:53:10 +0000 (13:53 -0400)]
add back changelog entry
Joey Hess [Wed, 18 Dec 2019 17:52:43 +0000 (13:52 -0400)]
comment
Joey Hess [Wed, 18 Dec 2019 17:48:48 +0000 (13:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 18 Dec 2019 17:47:27 +0000 (13:47 -0400)]
Merge branch 'master' into bs
Joey Hess [Wed, 18 Dec 2019 17:33:18 +0000 (13:33 -0400)]
use conversion functions from filepath-bytestring
Behavior should be the same, but I'd hope to eventually get rid of
most of Utility.FileSystemEncoding and this is a first step.
Joey Hess [Wed, 18 Dec 2019 17:26:06 +0000 (13:26 -0400)]
fix ByteString conversion on windows
the encode' and decode' functions on Windows should not apply the
filesystem encoding, which does not work there. Instead, convert to and
from UTF-8.
Also, avoid exporting encodeW8 and decodeW8. Both use the filesystem
encoding, so won't work as expected on windows.
Joey Hess [Wed, 18 Dec 2019 16:12:51 +0000 (12:12 -0400)]
update
Joey Hess [Wed, 18 Dec 2019 15:29:34 +0000 (11:29 -0400)]
fix fileJournal
My ByteString rewrite oversimplified it, resulting in any _ in a journal
file turning into a / in the git-annex branch, which was often the wrong
filename, or sometimes (//) an invalid filename that git
refused to add.
mike@4e7a118bd37129091199ae0fb28184999c5f4725 [Wed, 18 Dec 2019 10:06:08 +0000 (10:06 +0000)]
Added a comment: repodata is outdated
spwhitton [Wed, 18 Dec 2019 05:17:42 +0000 (05:17 +0000)]
add todo
https://christian.amsuess.com/chrysn [Tue, 17 Dec 2019 09:21:52 +0000 (09:21 +0000)]
ask for --key on git-annex-inprogress
https://christian.amsuess.com/chrysn [Tue, 17 Dec 2019 09:08:09 +0000 (09:08 +0000)]
Added a comment: Would be useful
kyle [Fri, 13 Dec 2019 19:08:09 +0000 (19:08 +0000)]
Joey Hess [Fri, 13 Dec 2019 03:06:42 +0000 (22:06 -0500)]
bug report
lykos@d125a37d89b1cfac20829f12911656c40cb70018 [Thu, 12 Dec 2019 21:11:58 +0000 (21:11 +0000)]
Added a comment
Joey Hess [Wed, 11 Dec 2019 21:12:13 +0000 (17:12 -0400)]
more info for debugging
Joey Hess [Wed, 11 Dec 2019 21:09:50 +0000 (17:09 -0400)]
add test case for bug
Joey Hess [Wed, 11 Dec 2019 21:08:26 +0000 (17:08 -0400)]
bug in this branch
Joey Hess [Wed, 11 Dec 2019 21:08:08 +0000 (17:08 -0400)]
match also / path separator on windows
Joey Hess [Wed, 11 Dec 2019 19:28:12 +0000 (15:28 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 11 Dec 2019 19:27:38 +0000 (15:27 -0400)]
devblog
Joey Hess [Wed, 11 Dec 2019 18:12:22 +0000 (14:12 -0400)]
use filepath-bytestring for annex object manipulations
git-annex find is now RawFilePath end to end, no string conversions.
So is git-annex get when it does not need to get anything.
So this is a major milestone on optimisation.
Benchmarks indicate around 30% speedup in both commands.
Probably many other performance improvements. All or nearly all places
where a file is statted use RawFilePath now.
Ilya_Shlyakhter [Wed, 11 Dec 2019 18:13:48 +0000 (18:13 +0000)]
Added a comment: annex-verify
yarikoptic [Tue, 10 Dec 2019 22:01:13 +0000 (22:01 +0000)]
Added a comment
MichaelC [Tue, 10 Dec 2019 21:23:31 +0000 (21:23 +0000)]
Added a comment: Does android adb special remote support MTP?
removed
Added a comment: android special remote via mtp supported?
yarikoptic [Tue, 10 Dec 2019 14:28:17 +0000 (14:28 +0000)]
initial issue report on leaking error msgs
https://christian.amsuess.com/chrysn [Tue, 10 Dec 2019 10:27:58 +0000 (10:27 +0000)]
Added a comment: Key character set
Joey Hess [Mon, 9 Dec 2019 17:49:05 +0000 (13:49 -0400)]
convert TopFilePath to use RawFilePath
Adds a dependency on filepath-bytestring, an as yet unreleased fork of
filepath that operates on RawFilePath.
Git.Repo also changed to use RawFilePath for the path to the repo.
This does eliminate some RawFilePath -> FilePath -> RawFilePath
conversions. And filepath-bytestring's </> is probably faster.
But I don't expect a major performance improvement from this.
This is mostly groundwork for making Annex.Location use RawFilePath,
which will allow for a conversion-free pipleline.
Joey Hess [Fri, 6 Dec 2019 19:44:58 +0000 (15:44 -0400)]
avoid deprecation warning
Joey Hess [Fri, 6 Dec 2019 19:37:12 +0000 (15:37 -0400)]
use RawFilePath getSymbolicLinkStatus for speed
Joey Hess [Fri, 6 Dec 2019 19:13:51 +0000 (15:13 -0400)]
Merge branch 'master' into bs
Joey Hess [Fri, 6 Dec 2019 19:13:36 +0000 (15:13 -0400)]
update re state of bs branch
Joey Hess [Fri, 6 Dec 2019 19:13:13 +0000 (15:13 -0400)]
update re state of bs branch
Joey Hess [Fri, 6 Dec 2019 18:44:42 +0000 (14:44 -0400)]
use RawFilePath getFileStatus for speed
Only done on those calls to getFileStatus that had a RawFilePath, not a
FilePath. The others would probably be just as fast if converted to use
it with toRawFilePath, but I'm not 100% sure.
Note that genInodeCache' uses fromRawFilePath, but that value only gets
used on Windows, so on unix the thunk will never be evaluated.
Joey Hess [Fri, 6 Dec 2019 18:19:23 +0000 (14:19 -0400)]
use R.readSymbolicLink
This will be faster once gitAnnexLink is converted to a RawFilePath.
Joey Hess [Fri, 6 Dec 2019 18:17:48 +0000 (14:17 -0400)]
RawFilePath will need to support Windows too
Of course, readSymbolicLink always fails on Windows, but now it's ready
for other things that don't fail there.
Joey Hess [Fri, 6 Dec 2019 17:58:28 +0000 (13:58 -0400)]
fix git ls-tree parser
File mode is octal not decimal. This broke in the conversion to
attoparsec.
(I've submitted the content of Utility.Attoparsec to the attoparsec
developers.)
Test suite passes 100% now.
Joey Hess [Fri, 6 Dec 2019 17:12:35 +0000 (13:12 -0400)]
fix another quickcheck property broken by NUL in Arbitrary String
Joey Hess [Fri, 6 Dec 2019 16:44:18 +0000 (12:44 -0400)]
fix Arbitrary AssociatedFile
Empty filenames were already filtered out as not allowed. But before
the change to ByteString, a NUL could appear in an Arbitrary String,
and so Arbitrary AssociatedFile sometimes generated illegal filenames,
as NUL never appears in a filename. The change to ByteString meant the
String was run through toRawFilePath, which assumes a filename never
contains a NUL. That truncated the String at the NUL, which could
result in an AssociatedFile being generated with an empty filename.
The filtering of NUL added here is not really necessary, because
of the truncation, but it makes explicit that NUL is not allowed.
The real fix is that the suchThat now applies to the final
AssociatedFile, so will catch any empty ones however generated.
This raises the more general question of whether toRawFilePath might
truncate other strings that later get used as filenames. I think new
bugs probably won't be introduced by that. Before, a FilePath that got
read from somewhere (eg an attacker) and contained a NUL would perhaps
be printed out by git-annex, including the NUL, or written to disk
inside a file, or what have you. But as soon as that FilePath gets
passed to any IO action that treats it as a filename, it gets truncated
after the NUL. Eg, writeFile "foo\NULbar" "bar" writes to file "foo".
Now toRawFilePath will make the truncation happen earler, but at most
this will affect what gets printed out or is written to disk inside a
file; actually using the RawFilePath as a filename will not change from
using the FilePath as a filename.
Joey Hess [Fri, 6 Dec 2019 16:14:55 +0000 (12:14 -0400)]
add back lost filtering of multibyte chars in prop_encode_decode_roundtrip
I had thought using ByteString would avoid the problem, but the
quickcheck property is still taking Arbitrary String input, so the use
of ByteString internally doesn't matter.
Joey Hess [Thu, 5 Dec 2019 19:22:53 +0000 (15:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 5 Dec 2019 19:22:43 +0000 (15:22 -0400)]
devblog
Joey Hess [Thu, 5 Dec 2019 19:10:23 +0000 (15:10 -0400)]
everything is building again
However, the test suite fails some quickchecks, so this branch is not
yet in a mergeable state.
Joey Hess [Thu, 5 Dec 2019 18:36:43 +0000 (14:36 -0400)]
all commands building except for assistant
also, changed ConfigValue to a newtype, and moved it into Git.Config.
Joey Hess [Thu, 5 Dec 2019 16:28:42 +0000 (12:28 -0400)]
update
Joey Hess [Thu, 5 Dec 2019 15:46:55 +0000 (11:46 -0400)]
mention optimisations
Joey Hess [Thu, 5 Dec 2019 15:41:30 +0000 (11:41 -0400)]
Merge branch 'master' into bs
Joey Hess [Thu, 5 Dec 2019 15:40:10 +0000 (11:40 -0400)]
get many more commands building again
about half are building now
jkrenzer [Thu, 5 Dec 2019 12:10:48 +0000 (12:10 +0000)]
Added a comment: Great work! Thank you!
Joey Hess [Wed, 4 Dec 2019 18:56:31 +0000 (14:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 4 Dec 2019 18:14:35 +0000 (14:14 -0400)]
optimisation
This was already optimised before, but profiling found that delEntry was
around 1.5% of the total runtime of git-annex whereis. It was being
called once per environment variable per file processed.
Fixed by better caching. Since withIndexFile is almost always run with
the same .git/annex/index file, it can cache the modified environment,
rather than re-modifying it each time called.
(cherry picked from commit
6535aea49a402b9ca08fc1070358374e5e0eb618)
Joey Hess [Wed, 4 Dec 2019 18:14:35 +0000 (14:14 -0400)]
optimisation
This was already optimised before, but profiling found that delEntry was
around 1.5% of the total runtime of git-annex whereis. It was being
called once per environment variable per file processed.
Fixed by better caching. Since withIndexFile is almost always run with
the same .git/annex/index file, it can cache the modified environment,
rather than re-modifying it each time called.
Joey Hess [Wed, 4 Dec 2019 17:15:34 +0000 (13:15 -0400)]
get the most commonly used commands building again
A quick benchmark of whereis shows not much speed improvement, maybe a
few percent. Profiling it found a hotspot, adds to todo.
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:58:25 +0000 (16:58 +0000)]
Added a comment
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:48:48 +0000 (16:48 +0000)]
Added a comment: dropping contents of old keys after migration
Joey Hess [Mon, 2 Dec 2019 16:26:33 +0000 (12:26 -0400)]
include all remotes back in
Joey Hess [Mon, 2 Dec 2019 16:01:20 +0000 (12:01 -0400)]
include upgrade code back in
Remaining things that need to be fixed up to get this branch into a
basically mergeable state: remotes, commands, and the assistant
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:02:47 +0000 (16:02 +0000)]
Added a comment
Joey Hess [Mon, 2 Dec 2019 14:57:09 +0000 (10:57 -0400)]
include git-annex-shell back in
Also pushed ConfigKey down into the Git modules, which is the bulk of
the changes.
Joey Hess [Mon, 2 Dec 2019 14:55:11 +0000 (10:55 -0400)]
revert unncessary changes
part of the hacking in
067aabdd4899997f10c78388273f28cccf777b66
but did not need to be committed
Joey Hess [Mon, 2 Dec 2019 14:53:57 +0000 (10:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 2 Dec 2019 14:53:21 +0000 (10:53 -0400)]
remove spam
Joey Hess [Mon, 2 Dec 2019 14:51:43 +0000 (10:51 -0400)]
fix hacked up AutoMerge module to work again
atrent [Mon, 2 Dec 2019 08:03:01 +0000 (08:03 +0000)]
Added a comment: P.P.S. i dropped all local copies
atrent [Mon, 2 Dec 2019 07:29:06 +0000 (07:29 +0000)]
Added a comment: P.S. they are all SHA256E
atrent [Mon, 2 Dec 2019 07:26:42 +0000 (07:26 +0000)]
Added a comment: can't find unused objects
Added a comment: not able to find git-annex on openSUSE using zypper
atrent [Sat, 30 Nov 2019 22:30:06 +0000 (22:30 +0000)]
Added a comment: migrating...
removed
Ilya_Shlyakhter [Sat, 30 Nov 2019 21:36:38 +0000 (21:36 +0000)]
Added a comment: hardlinking identical files in annex may break invariants
Ilya_Shlyakhter [Sat, 30 Nov 2019 21:11:53 +0000 (21:11 +0000)]
Added a comment
atrent [Sat, 30 Nov 2019 20:37:00 +0000 (20:37 +0000)]
Added a comment: no collisions
Ilya_Shlyakhter [Sat, 30 Nov 2019 17:00:58 +0000 (17:00 +0000)]
added a hyperlink to key_format
Ilya_Shlyakhter [Sat, 30 Nov 2019 16:51:58 +0000 (16:51 +0000)]
Added a comment: same contents with different keys
atrent [Sat, 30 Nov 2019 14:04:17 +0000 (14:04 +0000)]
Added a comment: duplicate objects?
yarikoptic [Fri, 29 Nov 2019 18:09:45 +0000 (18:09 +0000)]
Added a comment
yarikoptic [Fri, 29 Nov 2019 18:06:14 +0000 (18:06 +0000)]
refiled under dandi project - use case is https://gin.g-node.org
yarikoptic [Fri, 29 Nov 2019 17:58:29 +0000 (17:58 +0000)]
Added a comment: reference original bug report
ply [Thu, 28 Nov 2019 11:18:50 +0000 (11:18 +0000)]
Added a comment
ply [Thu, 28 Nov 2019 11:10:51 +0000 (11:10 +0000)]
yarikoptic [Thu, 28 Nov 2019 01:22:53 +0000 (01:22 +0000)]
Added a comment: related: shouldn't git annex try external remotes to download config?
yarikoptic [Thu, 28 Nov 2019 01:01:49 +0000 (01:01 +0000)]
initial report on inability to use remotes with authentication cached by git