Because we fail in tests when calling methods that rely on default
paths. (See buildinfo.TestingLinked)
Change-Id: I4d3a99dd2ea83a8351a993353e5e7c29d3cb17a7
1) Removed exec call to gpg, because it automatically looks in .gnupg/,
which we don't use anymore as a default.
2) Now taking into account global --secret-keyring flag.
This flag is now in osutil.
3) New or modified funcs in osutil
4) Made sure --gpgkey works too.
5) Cleaned up error messages and hints.
Context: http://camlistore.org/issue/364http://camlistore.org/issue/368
Change-Id: I2e51032ed0597da656db100d72f5588b37308e1a
For example, to obtain all the versions for a given file use:
$ camtool claims <permanode> --attr="camliContent"
Change-Id: Ibb267a0f95702faa0e7e763c99f99ee446559aac
StreamingFetcher is now just Fetcher, and its FetchStreaming is now
just Fetch.
SeekFetcher is gone. Blobs are max 16 MB anyway, so we can slurp to
memory when needed. The main thing that cared about SeekFetcher
was the GET handler, ServeBlobref, because http.ServeContent needed
one for range requests. That's rewritten in an earlier commit, using
the FakeSeeker from another earlier commit.
Lot of code got simpler as a result.
Change-Id: Ib819413e48a8f9b8d97f596d0fbf771dab211f11
When either the source or the destination is a localdisk, there is no
need to warn about differing identities.
Change-Id: Ia61779dd7907099c5ab58d9ca876cf4690f6fe05
1) revert to printing to stdout (broke in
08923e1c00) for actual output
2) do not warn about different identities when "syncing" to stdout
3) check blob was actually described before using its fields
Change-Id: Ibb3aa4c560e1b0036aba080807400e8820163cc9
This patch adds support for restoring symbolic links when camget is
called with the -o option.
This fixes an issue which caused `camget -o' to write an incomplete
snapshot to the target directory when it encountered a symlink.
Note that no attempt is made to restore the symlink metadata since: a)
A symlink's permissions do not matter and are fixed to 1777 on some
systems b) Go's os.Chtimes() always acts on the symlink target c)
os.Chown() is not currently called for any file in the current code.
Tested on Linux.
Change-Id: I7099592dcd5cc513c2685671be6f6b165f8f8053
Use separate workers for directory uploads.
Limit upload concurrency to 3+2+3 (normal+directories+stat)
goroutines on Android, and 10+5+10 otherwise.
Thanks to the predictably failing test (1333551)
which we can test against, we can eliminate the need for
unbounded number of upload goroutines (see ee4550b).
Change-Id: Idac4c94b7d7ec4fc6c6a77fed111e0ece0843545
Currently disabled until it's working reliably. See comments in code.
Much of this is from Tamás Gulácsi in https://camlistore-review.googlesource.com/#/c/2128/
Change-Id: I2fe2abfdee98584c698a2ac52202f13dda9beef2
Not just in blob.SizedRef, but in blobserver.Fetch and
blobserver.FetchStreaming, too.
Blobs have a max size of 10-32 MB anyway, and the index.Corpus is now using
uint32 to save memory.
Change-Id: I1172445c2f9463fdaee55bfe0f1218d44be4aa53
httputil.CloseBody closes a http.Response.Body nicely, such that it's
more likely to be re-used.
httputil.DecodeJSON parses JSON from a Response.Body and closes the
body. It also keeps a temporary copy of the input, for error messages.
Then use them everywhere, to improve HTTP TCP connection re-use.
And misc other clean-ups.
Change-Id: I5dc44be0165b13659459ed29ce5ab44c17d9739f
Trust the have cache for skipping uploads.
Reduces total number of HTTP requests.
Also, set Transport's MaxIdleConnsPerHost to be the same as
our HTTP concurrency level, to not keep re-creating TCP
connections.
import bazil.org/fuse at f6649cd46fb76b1e04ba9eeffb773cb189278d31
remove code.google.com/p/rsc/fuse.
Huge thanks to Tommi Virtanen for the fuse support.
Change-Id: I44b95ac1ea344648593c7376f83ca675a56077b3