Commit graph

36034 commits

Author SHA1 Message Date
Joey Hess
71f78fe45d
wip separate RemoteConfig parsing
Remote now contains a ParsedRemoteConfig. The parsing happens when the
Remote is constructed, rather than when individual configs are used.

This is more efficient, and it lets initremote/enableremote
reject configs that have unknown fields or unparsable values.

It also allows for improved type safety, as shown in
Remote.Helper.Encryptable where things that used to match on string
configs now match on data types.

This is a work in progress, it does not build yet.

The main risk in this conversion is forgetting to add a field to
RemoteConfigParser. That will prevent using that field with
initremote/enableremote, and will prevent remotes that already are set
up from seeing that configuration. So will need to check carefully that
every field that getRemoteConfigValue is called on has been added to
RemoteConfigParser.

(One such case I need to remember is that credPairRemoteField needs to be
included in the RemoteConfigParser.)
2020-01-13 12:39:21 -04:00
Joey Hess
4a135934ff
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-10 14:53:00 -04:00
Joey Hess
71ecfbfccf
be stricter about rejecting invalid configurations for remotes
This is a first step toward that goal, using the ProposedAccepted type
in RemoteConfig lets initremote/enableremote reject bad parameters that
were passed in a remote's configuration, while avoiding enableremote
rejecting bad parameters that have already been stored in remote.log

This does not eliminate every place where a remote config is parsed and a
default value is used if the parse false. But, I did fix several
things that expected foo=yes/no and so confusingly accepted foo=true but
treated it like foo=no. There are still some fields that are parsed with
yesNo but not not checked when initializing a remote, and there are other
fields that are parsed in other ways and not checked when initializing a
remote.

This also lays groundwork for rejecting unknown/typoed config keys.
2020-01-10 14:52:48 -04:00
satya.ortiz-gagne@a4c92de91eb4fd5ae8fc9893bb4fd674a19f2e59
f90a35965f Added a comment: using hardlinks 2020-01-10 16:11:47 +00:00
Joey Hess
ea3f206fd1
2020 2020-01-10 10:47:59 -04:00
https://christian.amsuess.com/chrysn
0207c44201 Added a comment: Summary; Application: shared thumbnails 2020-01-10 08:41:20 +00:00
Joey Hess
f735efc22c
comment 2020-01-09 16:54:11 -04:00
https://christian.amsuess.com/chrysn
6b25d93a4f notes on my recovery from a bad merge 2020-01-09 13:26:09 +00:00
Joey Hess
e07a2d81d1
comment 2020-01-08 14:26:48 -04:00
Joey Hess
563fc06375
response 2020-01-08 14:25:26 -04:00
Joey Hess
c4b0be0282
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-08 14:24:10 -04:00
Ilya_Shlyakhter
fdaa4e841a Added a comment: git-annex in docker on Windows 2020-01-08 16:16:32 +00:00
anarcat
6a38d94ceb fix a transcription error - to disable a remote, we set ignore to true, not false! 2020-01-08 15:30:51 +00:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
ac8139edc0 Added a comment: WSL 1/2 experience 2020-01-08 15:20:07 +00:00
fasthans@87884c78197fe1a25ac25ae7fa1d930c147e9592
ef338c1de1 Added a comment 2020-01-08 12:08:23 +00:00
undral
0585d12ca4 removed 2020-01-08 00:17:47 +00:00
undral
9fe3f9e08f Added a comment: hi 2020-01-08 00:17:14 +00:00
Joey Hess
1ccd6a4600
generalize docs so they will also work when git uses SHA256 2020-01-07 16:10:57 -04:00
Joey Hess
69b85812c8
response 2020-01-07 15:33:29 -04:00
Joey Hess
62319ca99d
response 2020-01-07 15:28:20 -04:00
fasthans@87884c78197fe1a25ac25ae7fa1d930c147e9592
0abb3122b9 Added a comment: prior research 2020-01-07 19:07:17 +00:00
fasthans@87884c78197fe1a25ac25ae7fa1d930c147e9592
979df50c2d 2020-01-07 19:04:32 +00:00
Joey Hess
8aa6f60fc3
plan 2020-01-07 14:27:53 -04:00
Joey Hess
8da04f72bf
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-07 13:26:14 -04:00
Joey Hess
6db4aee7df
use --no-abbrev instead of --abbrev=40
This avoids hardcoding the sha size, so when git uses sha256, it will
output the full sha256 and not a truncation to 40 characters.

I reviewed git's history, and while there have been some
bugs with commands not supporting --no-abbrev (eg git diff --no-index
--no-abbrev was broken in git 2.1), none of the commands git-annex
uses will be impacted by those old bugs.
2020-01-07 12:29:37 -04:00
Joey Hess
5e4deb3620
support sha256 git repos
Git will eventually switch to sha2 and there will not be one single
shaSize anymore, but two (40 and 64).

Changed all parsers for git plumbing output to support both sizes of
shas.

One potential problem this does not deal with is, if somewhere in
git-annex it reads two shas from different sources, and compares them
to see if they're the same sha, it would fail if they're sha1 and sha256
of the same value. I don't know if that will really be a concern.
2020-01-07 12:22:19 -04:00
spwhitton
6a47c66388 Added a comment 2020-01-07 12:29:49 +00:00
Joey Hess
b5fc1b97f7
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-06 15:40:48 -04:00
Joey Hess
6db883d6db
comment 2020-01-06 15:39:50 -04:00
Joey Hess
1bd7ec6f06
fix typo in close 2020-01-06 15:35:11 -04:00
Joey Hess
4bb3d76c8c
comment 2020-01-06 15:33:06 -04:00
Joey Hess
0cb3bcbcb5
comment 2020-01-06 15:29:51 -04:00
yarikoptic
aec7892a9f Added a comment 2020-01-06 19:27:23 +00:00
Joey Hess
128ecac047
close, redundant 2020-01-06 14:44:37 -04:00
Joey Hess
6456672feb
comment and close 2020-01-06 14:42:40 -04:00
Joey Hess
ba0150ebba
comments 2020-01-06 14:33:29 -04:00
Joey Hess
2de3dddfd2
reinject --known: Fix bug that prevented it from working in a bare repo.
ifAnnexed in a bare repo passes to git cat-file :./filename , which it
refuses to do since the repo is bare.

Note that, reinject somefile someannexedfile in a bare repo silently does
nothing, because someannexedfile is never actually an annexed worktree
file, because the repo is bare.
2020-01-06 14:22:22 -04:00
Joey Hess
d9ed94f15b
comment 2020-01-06 13:59:03 -04:00
Joey Hess
84960da522
comment 2020-01-06 13:24:39 -04:00
Joey Hess
a9086df1e7
update
Removed some encoding issues that I think are no longer a problem.
2020-01-06 13:06:10 -04:00
Joey Hess
0c904bdf5d
comment 2020-01-06 13:06:06 -04:00
Joey Hess
491a2fd72f
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-06 12:55:26 -04:00
Joey Hess
36fd64533e
improve comment 2020-01-06 12:53:09 -04:00
Joey Hess
d19dbdb05e
comment 2020-01-06 12:52:59 -04:00
AdamSpiers
d5ab0ec1cc Added a comment: Would you accept a patch implementing an annex.autocommit gitattribute? 2020-01-06 16:12:54 +00:00
AdamSpiers
0b7d11d033 2020-01-06 15:47:14 +00:00
Joey Hess
b68a8d8968
use conversion functions from filepath-bytestring (again)
This reverts commit 3a04af7927.
2020-01-04 20:18:40 -04:00
yarikoptic
d734068724 a new TODO for having windows build with MagicMime 2020-01-04 04:25:48 +00:00
Joey Hess
dfb25ecc29
simplfy unix-compat dep 2020-01-02 12:18:38 -04:00
Joey Hess
40ebeebd5f
devblog 2020-01-01 15:16:07 -04:00