git-annex.git
6 years agomore RawFilePath
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.

6 years agotodo
Joey Hess [Wed, 18 Dec 2019 20:11:14 +0000 (16:11 -0400)]
todo

6 years agokeep filename ByteString
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.

6 years agowrap up
Joey Hess [Wed, 18 Dec 2019 19:19:19 +0000 (15:19 -0400)]
wrap up

6 years agoMerge branch 'master' into bs
Joey Hess [Wed, 18 Dec 2019 19:13:30 +0000 (15:13 -0400)]
Merge branch 'master' into bs

and update changelog

6 years agoadded dep for custom-setup
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.

6 years agomore build fix
Joey Hess [Wed, 18 Dec 2019 18:37:59 +0000 (14:37 -0400)]
more build fix

6 years agobuild fixes
Joey Hess [Wed, 18 Dec 2019 18:36:19 +0000 (14:36 -0400)]
build fixes

6 years agoget any old rpms
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

6 years agoonly delete old rpms for arches that have a new rpm
Joey Hess [Wed, 18 Dec 2019 18:32:13 +0000 (14:32 -0400)]
only delete old rpms for arches that have a new rpm

6 years agofixed
Joey Hess [Wed, 18 Dec 2019 18:29:23 +0000 (14:29 -0400)]
fixed

6 years agoremove old rpms
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.

6 years agofix build
Joey Hess [Wed, 18 Dec 2019 18:22:55 +0000 (14:22 -0400)]
fix build

6 years agoadd news item for git-annex 7.20191218
Joey Hess [Wed, 18 Dec 2019 18:17:15 +0000 (14:17 -0400)]
add news item for git-annex 7.20191218

6 years agoinprogress: Support --key
Joey Hess [Wed, 18 Dec 2019 18:04:14 +0000 (14:04 -0400)]
inprogress: Support --key

6 years agoadd back changelog entry
Joey Hess [Wed, 18 Dec 2019 17:53:10 +0000 (13:53 -0400)]
add back changelog entry

6 years agocomment
Joey Hess [Wed, 18 Dec 2019 17:52:43 +0000 (13:52 -0400)]
comment

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 18 Dec 2019 17:48:48 +0000 (13:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agoMerge branch 'master' into bs
Joey Hess [Wed, 18 Dec 2019 17:47:27 +0000 (13:47 -0400)]
Merge branch 'master' into bs

6 years agouse conversion functions from filepath-bytestring
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.

6 years agofix ByteString conversion on windows
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.

6 years agoupdate
Joey Hess [Wed, 18 Dec 2019 16:12:51 +0000 (12:12 -0400)]
update

6 years agofix fileJournal
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.

6 years agoAdded a comment: repodata is outdated
mike@4e7a118bd37129091199ae0fb28184999c5f4725 [Wed, 18 Dec 2019 10:06:08 +0000 (10:06 +0000)]
Added a comment: repodata is outdated

6 years agoadd todo
spwhitton [Wed, 18 Dec 2019 05:17:42 +0000 (05:17 +0000)]
add todo

6 years agoask for --key on git-annex-inprogress
https://christian.amsuess.com/chrysn [Tue, 17 Dec 2019 09:21:52 +0000 (09:21 +0000)]
ask for --key on git-annex-inprogress

6 years agoAdded a comment: Would be useful
https://christian.amsuess.com/chrysn [Tue, 17 Dec 2019 09:08:09 +0000 (09:08 +0000)]
Added a comment: Would be useful

6 years ago(no commit message)
kyle [Fri, 13 Dec 2019 19:08:09 +0000 (19:08 +0000)]

6 years agobug report
Joey Hess [Fri, 13 Dec 2019 03:06:42 +0000 (22:06 -0500)]
bug report

6 years agoAdded a comment
lykos@d125a37d89b1cfac20829f12911656c40cb70018 [Thu, 12 Dec 2019 21:11:58 +0000 (21:11 +0000)]
Added a comment

6 years agomore info for debugging
Joey Hess [Wed, 11 Dec 2019 21:12:13 +0000 (17:12 -0400)]
more info for debugging

6 years agoadd test case for bug
Joey Hess [Wed, 11 Dec 2019 21:09:50 +0000 (17:09 -0400)]
add test case for bug

6 years agobug in this branch
Joey Hess [Wed, 11 Dec 2019 21:08:26 +0000 (17:08 -0400)]
bug in this branch

6 years agomatch also / path separator on windows
Joey Hess [Wed, 11 Dec 2019 21:08:08 +0000 (17:08 -0400)]
match also / path separator on windows

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 11 Dec 2019 19:28:12 +0000 (15:28 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agodevblog
Joey Hess [Wed, 11 Dec 2019 19:27:38 +0000 (15:27 -0400)]
devblog

6 years agouse filepath-bytestring for annex object manipulations
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.

6 years agoAdded a comment: annex-verify
Ilya_Shlyakhter [Wed, 11 Dec 2019 18:13:48 +0000 (18:13 +0000)]
Added a comment: annex-verify

6 years agoAdded a comment
yarikoptic [Tue, 10 Dec 2019 22:01:13 +0000 (22:01 +0000)]
Added a comment

6 years agoAdded a comment: Does android adb special remote support MTP?
MichaelC [Tue, 10 Dec 2019 21:23:31 +0000 (21:23 +0000)]
Added a comment: Does android adb special remote support MTP?

6 years agoremoved
michael.clifford.com@7ca464bc0ba25fd5f2922deb8f531668727a66fb [Tue, 10 Dec 2019 21:02:23 +0000 (21:02 +0000)]
removed

6 years agoAdded a comment: android special remote via mtp supported?
michael.clifford.com@7ca464bc0ba25fd5f2922deb8f531668727a66fb [Tue, 10 Dec 2019 21:01:53 +0000 (21:01 +0000)]
Added a comment: android special remote via mtp supported?

6 years agoinitial issue report on leaking error msgs
yarikoptic [Tue, 10 Dec 2019 14:28:17 +0000 (14:28 +0000)]
initial issue report on leaking error msgs

6 years agoAdded a comment: Key character set
https://christian.amsuess.com/chrysn [Tue, 10 Dec 2019 10:27:58 +0000 (10:27 +0000)]
Added a comment: Key character set

6 years agoconvert TopFilePath to use RawFilePath
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.

6 years agoavoid deprecation warning
Joey Hess [Fri, 6 Dec 2019 19:44:58 +0000 (15:44 -0400)]
avoid deprecation warning

6 years agouse RawFilePath getSymbolicLinkStatus for speed
Joey Hess [Fri, 6 Dec 2019 19:37:12 +0000 (15:37 -0400)]
use RawFilePath getSymbolicLinkStatus for speed

6 years agoMerge branch 'master' into bs
Joey Hess [Fri, 6 Dec 2019 19:13:51 +0000 (15:13 -0400)]
Merge branch 'master' into bs

6 years agoupdate re state of bs branch
Joey Hess [Fri, 6 Dec 2019 19:13:36 +0000 (15:13 -0400)]
update re state of bs branch

6 years agoupdate re state of bs branch
Joey Hess [Fri, 6 Dec 2019 19:13:13 +0000 (15:13 -0400)]
update re state of bs branch

6 years agouse RawFilePath getFileStatus for speed
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.

6 years agouse R.readSymbolicLink
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.

6 years agoRawFilePath will need to support Windows too
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.

6 years agofix git ls-tree parser
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.

6 years agofix another quickcheck property broken by NUL in Arbitrary String
Joey Hess [Fri, 6 Dec 2019 17:12:35 +0000 (13:12 -0400)]
fix another quickcheck property broken by NUL in Arbitrary String

6 years agofix Arbitrary AssociatedFile
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.

6 years agoadd back lost filtering of multibyte chars in prop_encode_decode_roundtrip
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.

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 5 Dec 2019 19:22:53 +0000 (15:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agodevblog
Joey Hess [Thu, 5 Dec 2019 19:22:43 +0000 (15:22 -0400)]
devblog

6 years agoeverything is building again
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.

6 years agoall commands building except for assistant
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.

6 years agoupdate
Joey Hess [Thu, 5 Dec 2019 16:28:42 +0000 (12:28 -0400)]
update

6 years agomention optimisations
Joey Hess [Thu, 5 Dec 2019 15:46:55 +0000 (11:46 -0400)]
mention optimisations

6 years agoMerge branch 'master' into bs
Joey Hess [Thu, 5 Dec 2019 15:41:30 +0000 (11:41 -0400)]
Merge branch 'master' into bs

6 years agoget many more commands building again
Joey Hess [Thu, 5 Dec 2019 15:40:10 +0000 (11:40 -0400)]
get many more commands building again

about half are building now

6 years agoAdded a comment: Great work! Thank you!
jkrenzer [Thu, 5 Dec 2019 12:10:48 +0000 (12:10 +0000)]
Added a comment: Great work! Thank you!

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 4 Dec 2019 18:56:31 +0000 (14:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agooptimisation
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)

6 years agooptimisation
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.

6 years agoget the most commonly used commands building again
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.

6 years agoAdded a comment
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:58:25 +0000 (16:58 +0000)]
Added a comment

6 years agoAdded a comment: dropping contents of old keys after migration
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:48:48 +0000 (16:48 +0000)]
Added a comment: dropping contents of old keys after migration

6 years agoinclude all remotes back in
Joey Hess [Mon, 2 Dec 2019 16:26:33 +0000 (12:26 -0400)]
include all remotes back in

6 years agoinclude upgrade code 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

6 years agoAdded a comment
Ilya_Shlyakhter [Mon, 2 Dec 2019 16:02:47 +0000 (16:02 +0000)]
Added a comment

6 years agoinclude git-annex-shell back in
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.

6 years agorevert unncessary 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

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 2 Dec 2019 14:53:57 +0000 (10:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agoremove spam
Joey Hess [Mon, 2 Dec 2019 14:53:21 +0000 (10:53 -0400)]
remove spam

6 years agofix hacked up AutoMerge module to work again
Joey Hess [Mon, 2 Dec 2019 14:51:43 +0000 (10:51 -0400)]
fix hacked up AutoMerge module to work again

6 years agoAdded a comment: P.P.S. i dropped all local copies
atrent [Mon, 2 Dec 2019 08:03:01 +0000 (08:03 +0000)]
Added a comment: P.P.S. i dropped all local copies

6 years agoAdded a comment: P.S. they are all SHA256E
atrent [Mon, 2 Dec 2019 07:29:06 +0000 (07:29 +0000)]
Added a comment: P.S. they are all SHA256E

6 years agoAdded a comment: can't find unused objects
atrent [Mon, 2 Dec 2019 07:26:42 +0000 (07:26 +0000)]
Added a comment: can't find unused objects

6 years agoAdded a comment: not able to find git-annex on openSUSE using zypper
nangal.vivek@08b8bc308cb03037792b7930fd839b9deec118df [Sun, 1 Dec 2019 17:04:53 +0000 (17:04 +0000)]
Added a comment: not able to find git-annex on openSUSE using zypper

6 years agoAdded a comment: migrating...
atrent [Sat, 30 Nov 2019 22:30:06 +0000 (22:30 +0000)]
Added a comment: migrating...

6 years agoremoved
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23 [Sat, 30 Nov 2019 21:41:23 +0000 (21:41 +0000)]
removed

6 years agoAdded a comment: hardlinking identical files in annex may break invariants
Ilya_Shlyakhter [Sat, 30 Nov 2019 21:36:38 +0000 (21:36 +0000)]
Added a comment: hardlinking identical files in annex may break invariants

6 years agoAdded a comment
Ilya_Shlyakhter [Sat, 30 Nov 2019 21:11:53 +0000 (21:11 +0000)]
Added a comment

6 years agoAdded a comment: no collisions
atrent [Sat, 30 Nov 2019 20:37:00 +0000 (20:37 +0000)]
Added a comment: no collisions

6 years ago(no commit message)
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23 [Sat, 30 Nov 2019 19:51:42 +0000 (19:51 +0000)]

6 years agoadded a hyperlink to key_format
Ilya_Shlyakhter [Sat, 30 Nov 2019 17:00:58 +0000 (17:00 +0000)]
added a hyperlink to key_format

6 years agoAdded a comment: same contents with different keys
Ilya_Shlyakhter [Sat, 30 Nov 2019 16:51:58 +0000 (16:51 +0000)]
Added a comment: same contents with different keys

6 years agoAdded a comment: duplicate objects?
atrent [Sat, 30 Nov 2019 14:04:17 +0000 (14:04 +0000)]
Added a comment: duplicate objects?

6 years agoAdded a comment
yarikoptic [Fri, 29 Nov 2019 18:09:45 +0000 (18:09 +0000)]
Added a comment

6 years agorefiled under dandi project - use case is https://gin.g-node.org
yarikoptic [Fri, 29 Nov 2019 18:06:14 +0000 (18:06 +0000)]
refiled under dandi project - use case is https://gin.g-node.org

6 years agoAdded a comment: reference original bug report
yarikoptic [Fri, 29 Nov 2019 17:58:29 +0000 (17:58 +0000)]
Added a comment: reference original bug report

6 years agoAdded a comment
ply [Thu, 28 Nov 2019 11:18:50 +0000 (11:18 +0000)]
Added a comment

6 years ago(no commit message)
ply [Thu, 28 Nov 2019 11:10:51 +0000 (11:10 +0000)]

6 years agoAdded a comment: related: shouldn't git annex try external remotes to download config?
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?

6 years agoinitial report on inability to use remotes with authentication cached by git
yarikoptic [Thu, 28 Nov 2019 01:01:49 +0000 (01:01 +0000)]
initial report on inability to use remotes with authentication cached by git