Commit graph

35133 commits

Author SHA1 Message Date
Joey Hess
0dd6ba302e
close 2019-08-05 13:44:24 -04:00
Joey Hess
3e0770e800
Merge branch 'git-lfs' 2019-08-05 13:44:04 -04:00
Joey Hess
fb7d92457f
support using gcrypt with git-lfs special remote 2019-08-05 13:43:45 -04:00
Joey Hess
8401b09e32
Allow setting up a gcrypt special remote with encryption=shared
It was documented to work, but seems it has been broken for a
while/forever.
2019-08-05 12:41:05 -04:00
Joey Hess
c527ae5887
Merge branch 'master' into git-lfs 2019-08-05 11:48:45 -04:00
Joey Hess
3f450f0f4a
add encryption warning 2019-08-05 11:35:26 -04:00
Joey Hess
ecf7f34c23
remember sha256 and size when necessary
Using Logs.RemoteState for this means that if the same key gets uploaded
twice to a git-lfs remote, but somehow has different content the two
times (eg it's an URL key with non-stable content), the sha256/size of
the newer content uploaded will overwrite what was remembered before. That
seems ok; it just means that git-annex will request the newer version of
the content when downloading from git-lfs.

It will remember the sha256 and size if both are not known, or if only
the sha256 is not known but the size is known, it only remembers the
sha256, to avoid wasting space on the size. I did not add special case
for when the sha256 is known and the size is not, because it's been a
long time since git-annex created SHA256 keys without a size.
(See doc/upgrades/SHA_size.mdwn)
2019-08-05 11:05:59 -04:00
Joey Hess
87e9ed38b8
expand encryption warning 2019-08-05 10:43:51 -04:00
Joey Hess
922434bccc
remove extra blank line 2019-08-05 10:37:19 -04:00
Joey Hess
bf7da09cf6
update 2019-08-05 10:36:46 -04:00
Joey Hess
19defc7932
fix reversion
4af55c42bf reordered the exception
catching, preventing following ftp redirect
2019-08-04 14:32:06 -04:00
Joey Hess
f5eb28682a
expand 2019-08-04 13:59:24 -04:00
Joey Hess
8460bbcea9
note on git-lfs program 2019-08-04 13:16:59 -04:00
Joey Hess
c5ed11bc3f
documentation for git-lfs special remote 2019-08-04 13:15:47 -04:00
Joey Hess
408cb0af39
remove unused imports 2019-08-04 12:43:53 -04:00
Joey Hess
9aab851a55
fix reversion
lost check of resp_actions in b82ecf7076
2019-08-04 12:43:16 -04:00
Joey Hess
7269851550
download from LFS working
including resuming
2019-08-04 12:32:36 -04:00
Joey Hess
4af55c42bf
factored out downloadConduit from download
useful when an API provides a Request to download
2019-08-04 12:31:54 -04:00
david@8424c56b088b73b1f9bd7d0497ca9b5752776099
9108927b86 2019-08-03 22:42:50 +00:00
Joey Hess
b82ecf7076
verify that LFS server responds with requested object
The protocol design allows the server to respond with some other object;
if a server for some reason a server did that, it would not be right for
git-annex to download its content. I don't think it would be a security
hole, since git-annex is downloading a specific key and will verify the
key's content. Seems like a good idea to belt-and-suspenders test for
such a misuse of the protocol.
2019-08-03 16:23:47 -04:00
Joey Hess
28c0395d61
start at retieval from LFS
Doesn't yet download the content, which will need to support resuming.
2019-08-03 12:51:16 -04:00
Joey Hess
5be0a35dae
implemented checkPresent for git-lfs 2019-08-03 12:21:28 -04:00
Joey Hess
f536a0b264
weaken comment
I'm seeing the github lfs server request an upload of an object that has
already been uploaded to it before. Probably because they offload
storage to S3 and so skipped the overhead of checking for an unncessary
upload.
2019-08-03 11:31:02 -04:00
Joey Hess
a16e83eec8
also debug http response status code 2019-08-03 11:30:06 -04:00
Joey Hess
74e9e3ccf0
add to request headers, don't overwrite 2019-08-03 11:15:08 -04:00
yarikoptic
fba7da498b 2019-08-03 13:42:18 +00:00
Joey Hess
fc09a41ed1
storing objects in git-lfs is working
Still need to record the sha256 and size when they cannot be determined
by inspecting the key.
2019-08-02 13:56:55 -04:00
Joey Hess
6c1130a3bb
lfs endpoint discovery and caching in git-lfs special remote 2019-08-02 12:38:14 -04:00
leej
be31ef910f Added a comment: Thank you, CFBundleShortVersionString is present and matches the internal git-annex version 2019-08-02 15:57:10 +00:00
leej
3731e511ab removed 2019-08-02 15:49:58 +00:00
leej
bc38bca5ed removed 2019-08-02 15:49:36 +00:00
leej
51e99b1502 Added a comment: Currently, 7.20190730 is expected but 7.20190709-gee3885d15 present on OSX/current 2019-08-02 15:49:20 +00:00
leej
6ee7a5f3c1 Added a comment: Currently, 7.20190730 is expected but 7.20190709-gee3885d15 present on OSX/current 2019-08-02 15:49:11 +00:00
leej
7e03cfd0ea Added a comment: Currently, 7.20190730 is expected but 7.20190709-gee3885d15 present on OSX/current 2019-08-02 15:48:52 +00:00
Joey Hess
03a765909c
move IO code out
Let's keep this entirely pure.

git-annex has its own facilities for running a ssh command, that make it
respect various config settings, and cache connections, etc. So better
not to have the library run ssh itself.
2019-08-02 10:57:40 -04:00
Joey Hess
2533acc7a2
note about ssh hostname sanitization 2019-08-02 10:40:55 -04:00
Joey Hess
1cef791cf3
skeleton git-lfs special remote
This is a special remote and a git remote at the same time; git can pull
and push to it and git-annex can use it as a special remote.

Remote.Git has to check if it's configured as a git-lfs special remote
and sets it up as one if so.

Object methods not implemented yet.
2019-08-01 15:30:12 -04:00
Joey Hess
9c20a8792d
fix names of per-remote git config keys
These are all prefixed by annex- and always have been, the docs were just
wrong.
2019-08-01 14:24:59 -04:00
Joey Hess
bd6c508334
finalizing lfs module
It may eventually move to its own package.
2019-08-01 14:04:56 -04:00
Joey Hess
74a36b8262
comment 2019-08-01 12:36:06 -04:00
Joey Hess
3d301dfb9f
comment 2019-08-01 12:26:28 -04:00
Joey Hess
404824594c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-08-01 00:30:37 -04:00
Joey Hess
d1a0c7b16f
make --in=here fast
Use the same optimisation for --in=here as has always been used for --in=.
rather than the slow code path that unncessarily queries the git-annex
branch.

It looks like when "here" got added as an alias for "." back in 2012, I
forgot about this place.

Also sped up some very unlikely ways of referring to the current
repository.

Note that, this could in some rare corner case cause a behavior
change, if the git-annex branch and inAnnex disagree about whether content
is present in the local repository. But --in=. already behaved
that way, and the truth on the ground should win also.
2019-08-01 00:29:47 -04:00
Joey Hess
4ad33e7524
link to contact 2019-07-31 16:37:21 -04:00
Joey Hess
435287db15
LFS endpoint guessing from remote url 2019-07-31 16:25:13 -04:00
Joey Hess
b4a416b996
cleaner endpoint type 2019-07-31 16:06:59 -04:00
Joey Hess
426a74265d
ssh discovery of LFS endpoint
At this point, I'm able to discover an endpoint, and requesting an
upload also worked, though I didn't try actually uploading content.
2019-07-31 15:51:40 -04:00
Joey Hess
78983d1e33
rename reorg 2019-07-31 15:04:37 -04:00
Joey Hess
f4e8ab969e
improve protocol support
support verification after upload

support for errors embedded in json
2019-07-31 14:55:15 -04:00
Ilya_Shlyakhter
922778004d added bug report about test suite failures on Windows 2019-07-31 17:59:22 +00:00