]> dgit.raspbian.org Git - git-annex.git/log
git-annex.git
6 years agofix a case where file tracked by git unexpectedly becomes annex pointer file
Joey Hess [Fri, 27 Dec 2019 18:58:10 +0000 (14:58 -0400)]
fix a case where file tracked by git unexpectedly becomes annex pointer file

smudge: When annex.largefiles=anything, files that were already stored in
git, and have not been modified could sometimes be converted to being
stored in the annex. Changes in 7.20191024 made this more of a problem.
This case is now detected and prevented.

6 years agocomment
Joey Hess [Fri, 27 Dec 2019 18:52:19 +0000 (14:52 -0400)]
comment

6 years agoupdate on variant
Joey Hess [Fri, 27 Dec 2019 17:17:53 +0000 (13:17 -0400)]
update on variant

6 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 27 Dec 2019 16:47:32 +0000 (12:47 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 years agofollowup
Joey Hess [Fri, 27 Dec 2019 07:04:23 +0000 (03:04 -0400)]
followup

6 years ago(no commit message)
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e [Fri, 27 Dec 2019 00:47:46 +0000 (00:47 +0000)]

6 years ago(no commit message)
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e [Fri, 27 Dec 2019 00:47:03 +0000 (00:47 +0000)]

6 years agoimplelented in v8
Joey Hess [Thu, 26 Dec 2019 20:39:27 +0000 (16:39 -0400)]
implelented in v8

6 years agodidn't mean to commit this incomplete workaround
Joey Hess [Thu, 26 Dec 2019 19:07:50 +0000 (15:07 -0400)]
didn't mean to commit this incomplete workaround

though I suppose it's nice to have it in the history..

6 years agoanalysis
Joey Hess [Thu, 26 Dec 2019 19:05:36 +0000 (15:05 -0400)]
analysis

6 years agoadded projects/datalad
yarikoptic [Tue, 24 Dec 2019 14:10:49 +0000 (14:10 +0000)]
added  projects/datalad

6 years agoAdded a comment: Workaround
https://christian.amsuess.com/chrysn [Sun, 22 Dec 2019 10:50:33 +0000 (10:50 +0000)]
Added a comment: Workaround

6 years agolink from bug report to submodules to make the affecting bug visible there
https://christian.amsuess.com/chrysn [Sun, 22 Dec 2019 10:02:23 +0000 (10:02 +0000)]
link from bug report to submodules to make the affecting bug visible there

6 years agoAdded a comment
spwhitton [Sat, 21 Dec 2019 23:03:46 +0000 (23:03 +0000)]
Added a comment

6 years agoadd workaround
spwhitton [Sat, 21 Dec 2019 22:20:31 +0000 (22:20 +0000)]
add workaround

6 years agoreport bug
spwhitton [Sat, 21 Dec 2019 22:11:38 +0000 (22:11 +0000)]
report bug

6 years agoreport difficulty encountered when using submodules
https://christian.amsuess.com/chrysn [Sat, 21 Dec 2019 20:40:44 +0000 (20:40 +0000)]
report difficulty encountered when using submodules

6 years agoAdded a comment: windows installer has not been updated to version 7.20191218
michael.fsp@85f5ea833fb457cf7b0b0181c314888d5f32649c [Sat, 21 Dec 2019 18:17:19 +0000 (18:17 +0000)]
Added a comment: windows installer has not been updated to version 7.20191218

6 years agofix copy/paste mistake
spwhitton [Sat, 21 Dec 2019 04:20:40 +0000 (04:20 +0000)]
fix copy/paste mistake

6 years agofile bug
spwhitton [Sat, 21 Dec 2019 04:19:56 +0000 (04:19 +0000)]
file bug

6 years agoImprove file ordering behavior when one parameter is "." and other parameters are...
Joey Hess [Fri, 20 Dec 2019 22:01:29 +0000 (18:01 -0400)]
Improve file ordering behavior when one parameter is "." and other parameters are other directories

eg, `git-annex get . ..` used to order the files strangly, because it
did not realize that when git ls-files output eg "foo", that should be
grouped with the first set of files and not the second set.

Fixed by making            dirContains "." "./foo" = True
which makes sense, because dirContains ".." "../foo" = True

6 years agocomment
Joey Hess [Fri, 20 Dec 2019 20:11:21 +0000 (16:11 -0400)]
comment

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

6 years agoannex.addunlocked expressions
Joey Hess [Fri, 20 Dec 2019 19:01:34 +0000 (15:01 -0400)]
annex.addunlocked expressions

* annex.addunlocked can be set to an expression with the same format used by
  annex.largefiles, in case you want to default to unlocking some files but
  not others.
* annex.addunlocked can be configured by git-annex config.

Added a git-annex-matching-expression man page, broken out from
tips/largefiles.

A tricky consequence of this is that git-annex add --relaxed
honors annex.addunlocked, but an expression might want to know the size
or content of an url, which it's not going to download. I decided it was
better not to fail, and just dummy up some plausible data in that case.

Performance impact should be negligible. The global config is already
loaded for annex.largefiles. The expression only has to be parsed once,
and in the simple true/false case, it should not do any additional work
matching it.

6 years agoAdded a comment: oh hoh, there is mimeencoding now
yarikoptic [Fri, 20 Dec 2019 19:54:04 +0000 (19:54 +0000)]
Added a comment: oh hoh, there is mimeencoding now

6 years agoelaborated on my previous (marked "done") bug report about mimetypes
yarikoptic [Fri, 20 Dec 2019 19:50:24 +0000 (19:50 +0000)]
elaborated on my previous (marked "done") bug report about mimetypes

6 years agoimprove docs of addunlocked re adjusted branches
Joey Hess [Fri, 20 Dec 2019 17:19:36 +0000 (13:19 -0400)]
improve docs of addunlocked re adjusted branches

6 years agogit-annex-config --set/--unset: No longer change the local git config setting
Joey Hess [Fri, 20 Dec 2019 17:17:28 +0000 (13:17 -0400)]
git-annex-config --set/--unset: No longer change the local git config setting

e53070c1f quietly made it set the local git config too, but that was never
documented anywhere, and it had surprising results. If I set
annex.largefiles globally in a repo, I would expect to be able to change it
in another repo, and the original repo would get the change and use it,
rather than being stuck on the old value set there.

And, if I have a local annex.largefiles and set a different global default,
I'd be surprised to have my local setting overwritten.

annex.securehashesonly does need to be set locally, since it's a security
feature and the global is only a default until it gets set locally. So
special cased.

6 years agowhen annex.largefiles parse fails, say where the config came from
Joey Hess [Fri, 20 Dec 2019 17:07:10 +0000 (13:07 -0400)]
when annex.largefiles parse fails, say where the config came from

6 years agofix syntax of largefiles example
Joey Hess [Fri, 20 Dec 2019 17:06:53 +0000 (13:06 -0400)]
fix syntax of largefiles example

has always been wrong syntax!

6 years agogit-annex config annex.largefiles
Joey Hess [Fri, 20 Dec 2019 16:12:31 +0000 (12:12 -0400)]
git-annex config annex.largefiles

annex.largefiles can be configured by git-annex config, to more easily set
a default that will also be used by clones, without needing to shoehorn the
expression into the gitattributes file. The git config and gitattributes
override that.

Whenever something is added to git-annex config, we have to consider what
happens if a user puts a purposfully bad value in there. Or, if a new
git-annex adds some new value that an old git-annex can't parse.
In this case, a global annex.largefiles that can't be parsed currently
makes an error be thrown. That might not be ideal, but the gitattribute
behaves the same, and is almost equally repo-global.

Performance notes:

git-annex add and addurl construct a matcher once
and uses it for every file, so the added time penalty for reading the global
config log is minor. If the gitattributes annex.largefiles were deprecated,
git-annex add would get around 2% faster (excluding hashing), because
looking that up for each file is not fast. So this new way of setting
it is progress toward speeding up add.

git-annex smudge does need to load the log every time. As well as checking
the git attribute. Not ideal. Setting annex.gitaddtoannex=false avoids
both overheads.

6 years agofixed an oversight that had always prevented annex.resolvemerge from being honored...
Joey Hess [Fri, 20 Dec 2019 14:55:23 +0000 (10:55 -0400)]
fixed an oversight that had always prevented annex.resolvemerge from being honored, when it was configured by git-annex config

forgot to add it to the merge function

6 years agoimprove docs of gitaddtoannex
Joey Hess [Fri, 20 Dec 2019 14:35:44 +0000 (10:35 -0400)]
improve docs of gitaddtoannex

6 years agothought
Joey Hess [Thu, 19 Dec 2019 20:44:08 +0000 (16:44 -0400)]
thought

6 years agocomment
Joey Hess [Thu, 19 Dec 2019 17:39:08 +0000 (13:39 -0400)]
comment

6 years agoMerge branch 'bs'
Joey Hess [Thu, 19 Dec 2019 17:12:39 +0000 (13:12 -0400)]
Merge branch 'bs'

6 years agotypo
Joey Hess [Thu, 19 Dec 2019 16:52:56 +0000 (12:52 -0400)]
typo

6 years agoformatting
Joey Hess [Thu, 19 Dec 2019 16:52:12 +0000 (12:52 -0400)]
formatting

6 years agocomment
Joey Hess [Thu, 19 Dec 2019 16:50:34 +0000 (12:50 -0400)]
comment

6 years agocomment
Joey Hess [Thu, 19 Dec 2019 16:06:59 +0000 (12:06 -0400)]
comment

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

6 years agodevblog
Joey Hess [Wed, 18 Dec 2019 21:11:37 +0000 (17:11 -0400)]
devblog

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 agoAdded a comment: named pipes as destination files
Ilya_Shlyakhter [Wed, 18 Dec 2019 18:41:57 +0000 (18:41 +0000)]
Added a comment: named pipes as destination files

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.