Commit graph

36157 commits

Author SHA1 Message Date
Joey Hess
3a04af7927
temporary revert "use conversion functions from filepath-bytestring"
This reverts commit 75c40279c1.

Debian unstable is one version too old, so this can be de-reverted in a
bit.
2019-12-27 19:29:09 -04:00
Joey Hess
023aa3d30f
add filepath-bytestring 2019-12-27 15:20:46 -04:00
Joey Hess
c08a38f5ee
add libghc-filepath-bytestring-dev build dep
Debian impressively packaged my new library before anyone even asked
them to, and before git-annex needed it.
2019-12-27 15:10:11 -04:00
Joey Hess
9a04e2c859
close 2019-12-27 15:08:11 -04:00
Joey Hess
ea3cb7d277
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.
2019-12-27 15:08:03 -04:00
Joey Hess
b9481c6ba0
comment 2019-12-27 14:52:19 -04:00
Joey Hess
ca4a200c2e
update on variant 2019-12-27 13:17:53 -04:00
Joey Hess
6ad4f2635d
Merge branch 'master' of ssh://git-annex.branchable.com 2019-12-27 12:47:32 -04:00
Joey Hess
1b71bc4330
followup 2019-12-27 03:04:23 -04:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
6f74b090ad 2019-12-27 00:47:46 +00:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
3c756b8045 2019-12-27 00:47:03 +00:00
Joey Hess
4176b335a6
implelented in v8 2019-12-26 16:39:27 -04:00
Joey Hess
de14a7bab5
didn't mean to commit this incomplete workaround
though I suppose it's nice to have it in the history..
2019-12-26 15:07:50 -04:00
Joey Hess
293f95c2d6
analysis 2019-12-26 15:05:36 -04:00
yarikoptic
2dffa59f79 added projects/datalad 2019-12-24 14:10:49 +00:00
https://christian.amsuess.com/chrysn
b8ab61d5fd Added a comment: Workaround 2019-12-22 10:50:33 +00:00
https://christian.amsuess.com/chrysn
8ffc58a5d8 link from bug report to submodules to make the affecting bug visible there 2019-12-22 10:02:23 +00:00
spwhitton
d107ce1e77 Added a comment 2019-12-21 23:03:46 +00:00
spwhitton
01b8eb5e3d add workaround 2019-12-21 22:20:31 +00:00
spwhitton
72c5f9132c report bug 2019-12-21 22:11:38 +00:00
https://christian.amsuess.com/chrysn
608d4413d9 report difficulty encountered when using submodules 2019-12-21 20:40:44 +00:00
michael.fsp@85f5ea833fb457cf7b0b0181c314888d5f32649c
49f5e1eab5 Added a comment: windows installer has not been updated to version 7.20191218 2019-12-21 18:17:19 +00:00
spwhitton
1a5e29c47c fix copy/paste mistake 2019-12-21 04:20:40 +00:00
spwhitton
501492a40a file bug 2019-12-21 04:19:56 +00:00
Joey Hess
444d5591ee
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
2019-12-20 18:01:29 -04:00
Joey Hess
14897ec8e2
comment 2019-12-20 16:11:21 -04:00
Joey Hess
0141c5436e
Merge branch 'master' of ssh://git-annex.branchable.com 2019-12-20 15:58:15 -04:00
Joey Hess
37467a008f
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.
2019-12-20 15:56:25 -04:00
yarikoptic
1bd6549b72 Added a comment: oh hoh, there is mimeencoding now 2019-12-20 19:54:04 +00:00
yarikoptic
98c9136d4f elaborated on my previous (marked "done") bug report about mimetypes 2019-12-20 19:50:24 +00:00
Joey Hess
f79bd52132
improve docs of addunlocked re adjusted branches 2019-12-20 13:19:36 -04:00
Joey Hess
5591622731
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.
2019-12-20 13:17:28 -04:00
Joey Hess
8e9e809d9b
when annex.largefiles parse fails, say where the config came from 2019-12-20 13:07:10 -04:00
Joey Hess
945be47b48
fix syntax of largefiles example
has always been wrong syntax!
2019-12-20 13:06:53 -04:00
Joey Hess
4acbb40112
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.
2019-12-20 13:01:41 -04:00
Joey Hess
ce3fb0b2e5
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
2019-12-20 11:00:08 -04:00
Joey Hess
f07cb76640
improve docs of gitaddtoannex 2019-12-20 10:35:44 -04:00
Joey Hess
7d50e98646
thought 2019-12-19 16:44:08 -04:00
Joey Hess
e8651fbd09
comment 2019-12-19 13:39:08 -04:00
Joey Hess
37db1fa5a0
Merge branch 'bs' 2019-12-19 13:12:39 -04:00
Joey Hess
96a8b2d095
typo 2019-12-19 12:52:56 -04:00
Joey Hess
2e34516e6a
formatting 2019-12-19 12:52:12 -04:00
Joey Hess
09272507c1
comment 2019-12-19 12:50:34 -04:00
Joey Hess
67ae6ddecb
comment 2019-12-19 12:06:59 -04:00
Joey Hess
8bce94b8e2
Merge branch 'master' of ssh://git-annex.branchable.com 2019-12-18 17:11:48 -04:00
Joey Hess
7d85f9176f
devblog 2019-12-18 17:11:37 -04:00
Joey Hess
686791c4ed
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.
2019-12-18 17:10:28 -04:00
Joey Hess
9e9def2dc0
todo 2019-12-18 16:11:18 -04:00
Joey Hess
16125694eb
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.
2019-12-18 15:57:40 -04:00
Joey Hess
7b7e0d8a86
wrap up 2019-12-18 15:19:19 -04:00