- Aug 30, 2024
-
-
Joey Hess authored
-
- Aug 22, 2024
-
-
Joey Hess authored
-
- Aug 21, 2024
-
-
Joey Hess authored
Might want to make --rebalance turn balanced=group:N where N > 1 to fullysizebalanced=group:N. Have not yet determined if that will improve situations enough to be worth the extra work.
-
- Aug 18, 2024
-
-
Joey Hess authored
-
- Aug 17, 2024
-
-
Joey Hess authored
-
- Aug 11, 2024
-
-
Joey Hess authored
* maxsize: New command to tell git-annex how large the expected maximum size of a repository is. * vicfg: Include maxsize configuration.
-
- Aug 09, 2024
-
-
Joey Hess authored
This all works fine. But it doesn't check repository sizes yet, and without repository size checking, once a repository gets full, there will be no other repository that will want its files. Use of sha2 seems unncessary, probably alder2 or md5 or crc would have been enough. Possibly just summing up the bytes of the key mod the number of repositories would have sufficed. But sha2 is there, and probably hardware accellerated. I doubt very much there is any security benefit to using it though. If someone wants to construct a key that will be balanced onto a given repository, sha2 is certianly not going to stop them.
-
- Aug 08, 2024
-
-
Joey Hess authored
-
Joey Hess authored
-
Joey Hess authored
-
Joey Hess authored
-
Joey Hess authored
This is similar to git-annex copy --from --to, in that it downloads a local copy, locks it for removal, uploads it, and drops it. Removal of the temporary local copy is done without verifying numcopies for the same reason as that command. I do wonder, looking at this, if there's a race where the local copy gets used as a copy to allow some other drop in the narrow window after it is downloaded and before it gets locked for removal. That would need some other repository to have an out of date location log that says the repository contains a copy of the key, in order for it to try to use it as a copy. If there is such a race, git-annex copy/move would also be vulnerable to it. It would be better to lock it for removal before starting to download it! That is possible in v10 repositories, which do use a separate content lock file. Note that, when the exported tree contains several files that use the same key, it will be downloaded repeatedly, once per time needed to upload it. It would be possible to avoid that extra work, but it would complicate this since the local copy would need to be preserved, locked for removal, until the end. Also, that would mean that interrupting the export would leave possibly a lot of temporarily downloaded keys in the local repository, while currently it can only leave one.
-
- Aug 07, 2024
-
-
Joey Hess authored
updateproxy, updatecluster: Prevent using an exporttree=yes special remote that does not have annexobjects=yes, since it will not work.
-
Joey Hess authored
-
Joey Hess authored
When getting from a P2P HTTP remote, prompt for credentials when required, instead of failing. This feels like it might be a bug in servant-client. withClientM's type suggests it would not throw a ClientError. But it does in this case.
-
- Aug 06, 2024
-
-
Joey Hess authored
The file corruption consists of each chunk of the file being duplicated. Since chunks are typically a fixed size, it would certianly be possible to get from a corrupted file back to the original file. But this is still bad data loss. Reversion was in commit fcc052be. Luckily that did not make the most recent release.
-
Joey Hess authored
It works when using git-annex sync/push/assist, or when manually sending all content to the proxied remote before pushing to the proxy remote. But when the push comes before the content is sent, sending content does not update the exported tree.
-
- Aug 02, 2024
- Jul 31, 2024
-
-
Joey Hess authored
This fixes a problem with datalad's test suite, where loading the cluster log happened to cause the git-annex branch commits to take a different shape, with an additional commit. It's also faster though, since many commands don't need the cluster log. Just fill Annex.clusters with a thunk. Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
-
Joey Hess authored
-
- Jul 30, 2024
-
-
Joey Hess authored
Primarily because Windows needs a dependency bump to get stm-2.5.1 for Servant build flag. This includes Win32-2.13.4.0 and aws-0.24 which adds some features that windows had been missing out on as well. Lots of warnings about head and tail will need to eventually be addressed. Of course AFAIK the uses of it in git-annex are all safe.
-
- Jul 29, 2024
-
-
Joey Hess authored
While usually uploading to a special remote does not verify the content, the content in a repository is assumed to be valid, and there is no trust boundary. But with a proxied special remote, there may be users who are allowed to store objects, but are not really trusted. Another way to look at this is it's the equivilant of git-annex-shell checking the hash of received data, which it does (see StoreContent implementation).
-
Joey Hess authored
-
Joey Hess authored
-
Joey Hess authored
Like the comment says, the client will do its own verification. But it was calling verifyKeyContentPostRetrieval, which was hashing the file.
-
- Jul 28, 2024
-
-
Joey Hess authored
-
- Jul 24, 2024
-
-
Joey Hess authored
And other child processes.
-
- Jul 23, 2024
-
-
Joey Hess authored
-
- Jul 07, 2024
-
-
Joey Hess authored
-
- Jul 03, 2024
-
-
Joey Hess authored
Only implemented server side, not used client side yet. And not yet implemented for proxies/clusters, for which there's a build warning about unhandled cases. This is P2P protocol version 3. Probably will be the only change in that version.. Added a dependency on clock to access a monotonic clock. On i386-ancient, that is at version 0.2.0.0.
-
- Jul 02, 2024
-
-
Joey Hess authored
This was caused by commit fb8ab246 putting an isPointerFile check in the wrong place. So if the file was not a pointer file at that point, but got replaced by one before the file got locked down, the pointer file would be ingested into the annex. The fix is simply to move the isPointerFile check to after safeToAdd locks down the file. Now if the file changes to a pointer file after the isPointerFile check, ingestion will see that it changed after lockdown, and will refuse to add it to the annex. Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
-
- Jul 01, 2024
-
-
Joey Hess authored
-
- Jun 30, 2024
-
-
Joey Hess authored
Especially useful with proxied remotes and clusters, where the user may not be entirely familiar with the name and can learn by tab completion.
-
- Jun 27, 2024
-
-
Joey Hess authored
-
Joey Hess authored
When --debugfilter or annex.debugfilter is set, avoid propigating debug output from git-annex-shell, since it cannot be filtered. It would be possible to pass --debugfilter on to git-annex-shell, but it only started accepting that option in 2022. So it would break interop with older versions.
-
- Jun 18, 2024
-
-
Joey Hess authored
Client side support for SUCCESS-PLUS and ALREADY-HAVE-PLUS is complete, when a PUT stores to additional repositories than the expected on, the location log is updated with the additional UUIDs that contain the content. Started implementing PUT fanout to multiple remotes for clusters. It is untested, and I fear fencepost errors in the relative offset calculations. And it is missing proxying for the protocol after DATA.
-
- Jun 17, 2024
-
-
Joey Hess authored
An oversight.. And with the work in progress proxy and cluster, there can be additional remotes that are not listed in .git/config, but are available. Making those more discoverable is another big benefit of this.
-
- Jun 14, 2024