Skip to content
Snippets Groups Projects
  1. Aug 30, 2024
  2. Aug 22, 2024
  3. Aug 21, 2024
  4. Aug 18, 2024
  5. Aug 17, 2024
  6. Aug 11, 2024
    • Joey Hess's avatar
      implement maxsize log and command · 1265d7e5
      Joey Hess authored
      * maxsize: New command to tell git-annex how large the expected maximum
        size of a repository is.
      * vicfg: Include maxsize configuration.
      1265d7e5
  7. Aug 09, 2024
    • Joey Hess's avatar
      balanced preferred content and --rebalance · 3ce2e95a
      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.
      3ce2e95a
  8. Aug 08, 2024
    • Joey Hess's avatar
      update · bda23daa
      Joey Hess authored
      bda23daa
    • Joey Hess's avatar
      update · fd03b316
      Joey Hess authored
      fd03b316
    • Joey Hess's avatar
      update · 7e48e712
      Joey Hess authored
      7e48e712
    • Joey Hess's avatar
      10.20240808
      c15c32b5
    • Joey Hess's avatar
      export: Added --from option · 7294d23d
      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.
      7294d23d
  9. Aug 07, 2024
    • Joey Hess's avatar
      updateproxy, updatecluster check annexobjects=yes · 6d967341
      Joey Hess authored
      updateproxy, updatecluster: Prevent using an exporttree=yes special remote
      that does not have annexobjects=yes, since it will not work.
      6d967341
    • Joey Hess's avatar
      update · 8864a9e3
      Joey Hess authored
      8864a9e3
    • Joey Hess's avatar
      catch ClientError from withClientM · 509b23fa
      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.
      509b23fa
  10. Aug 06, 2024
    • Joey Hess's avatar
      fix file corruption when proxying an upload to a special remote · 3cc03b4c
      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.
      3cc03b4c
    • Joey Hess's avatar
      proxying to exporttree=yes annexobjects=yes basically working · 3289b1ad
      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.
      3289b1ad
  11. Aug 02, 2024
  12. Jul 31, 2024
  13. Jul 30, 2024
    • Joey Hess's avatar
      update stack.yaml to nightly-2024-07-29 and remove stack-lts-18.13.yaml · d1b641cb
      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.
      d1b641cb
  14. Jul 29, 2024
  15. Jul 28, 2024
  16. Jul 24, 2024
  17. Jul 23, 2024
  18. Jul 07, 2024
  19. Jul 03, 2024
    • Joey Hess's avatar
      REMOVE-BEFORE and GETTIMESTAMP · 543c610a
      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.
      543c610a
  20. Jul 02, 2024
    • Joey Hess's avatar
      assistant: Fix a race condition that could cause a pointer file to get ingested into the annex · 12a0ca96
      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
      12a0ca96
  21. Jul 01, 2024
  22. Jun 30, 2024
  23. Jun 27, 2024
    • Joey Hess's avatar
      update for clusters · dbfff04f
      Joey Hess authored
      dbfff04f
    • Joey Hess's avatar
      avoid unfiltered debugging from git-annex-shell · 19137ae7
      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.
      19137ae7
  24. Jun 18, 2024
    • Joey Hess's avatar
      P2P protocol version 2, adding SUCCESS-PLUS and ALREADY-HAVE-PLUS · f1874069
      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.
      f1874069
  25. Jun 17, 2024
    • Joey Hess's avatar
      tab complete special remotes · af79728a
      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.
      af79728a
  26. Jun 14, 2024
    • Joey Hess's avatar
      broke out initcluster · 570ceffe
      Joey Hess authored
      One benefit of this is that a typo in annex-cluster-node config won't
      init a new cluster.
      
      Also it gets the cluster description set and is consistent with
      initremote.
      570ceffe
    • Joey Hess's avatar
      add git-annex updatecluster command · bbf26148
      Joey Hess authored
      Seems to work fine, making the right changes to the git-annex branch.
      bbf26148