Skip to content
Snippets Groups Projects
  1. Aug 17, 2023
  2. Aug 16, 2023
    • Joey Hess's avatar
      cce640dd
    • Joey Hess's avatar
      done · ea6f5bfc
      Joey Hess authored
      ea6f5bfc
    • Joey Hess's avatar
      convert checkAvailable to use availability rather than localpath · 83056e7b
      Joey Hess authored
      Every remote that sets localpath also implements an availability that
      reutrns Unavailable when a local directory is not available.
      
      This makes external remotes, and others that get support for
      availability Unavailable to be used by checkAvailable. (Which is only
      used by the assistant.)
      
      Had to keep localpath though, since other parts of the assistant use it
      to eg, sync with a remote when a removable drive is plugged in.
      
      Sponsored-by: Jack Hill on Patreon
      83056e7b
    • Joey Hess's avatar
      implement Unavilable for gcrypt · 7aac6076
      Joey Hess authored
      Sponsored-by: Brett Eisenberg on Patreon
      7aac6076
    • Joey Hess's avatar
      implement Unavilable for borg bup ddar directory rsync · 977403d3
      Joey Hess authored
      Only gcrypt remains to add support for. (Well, possibly also adb?)
      
      Sponsored-by: Luke T. Shumaker on Patreon
      977403d3
    • Joey Hess's avatar
      info: Added available to the info displayed for a remote · 67c99a4d
      Joey Hess authored
      Sponsored-by: Kevin Mueller on Patreon
      67c99a4d
    • Joey Hess's avatar
      let Remote.availability return Unavilable · 9286769d
      Joey Hess authored
      This is groundwork for making special remotes like borg be skipped by
      sync when on an offline drive.
      
      Added AVAILABILITY UNAVAILABLE reponse and the UNAVAILABLERESPONSE extension
      to the external special remote protocol. The extension is needed because
      old git-annex, if it sees that response, will display a warning
      message. (It does continue as if the remote is globally available, which
      is acceptable, and the warning is only displayed at initremote due to
      remote.name.annex-availability caching, but still it seemed best to make
      this a protocol extension.)
      
      The remote.name.annex-availability git config is no longer used any
      more, and is documented as such. It was only used by external special
      remotes to cache the availability, to avoid needing to start the
      external process every time. Now that availability is queried as an
      Annex action, the external is only started by sync (and the assistant),
      when they actually check availability.
      
      Sponsored-by: Nicholas Golder-Manning on Patreon
      9286769d
    • Joey Hess's avatar
      move comment · 7f7c95b7
      Joey Hess authored
      7f7c95b7
    • Joey Hess's avatar
      comment · 5126f6d0
      Joey Hess authored
      5126f6d0
    • Antoine Beaupré's avatar
      No commit message · 4c7e2b16
      Antoine Beaupré authored
      No commit message
      4c7e2b16
  3. Aug 15, 2023
    • Joey Hess's avatar
      update · 75275ed4
      Joey Hess authored
      Last commit also removed curl from linux standalone tarball.
      Which may or may not have been a mistake.. I'm inclined to go ahead and
      simplify it.
      75275ed4
    • Joey Hess's avatar
      Stop bundling curl in the OSX dmg · 571a516e
      Joey Hess authored
      New curl binary links to libldap with a @loader_path that prevents using
      the binary when the dmg is used elsewhere.
      See https://github.com/datalad/git-annex/issues/170
      
      git-annex doesn't use curl by default anyway, so it doesn't really need to
      be included in the dmg.
      571a516e
    • Joey Hess's avatar
      comment · 9fffa85a
      Joey Hess authored
      9fffa85a
    • Joey Hess's avatar
      fix empty tree import when directory does not exist · 10b5f79e
      Joey Hess authored
      Fix behavior when importing a tree from a directory remote when the
      directory does not exist. An empty tree was imported, rather than the
      import failing. Merging that tree would delete every file in the
      branch, if those files had been exported to the directory before.
      
      The problem was that dirContentsRecursive returned [] when the directory
      did not exist. Better for it to throw an exception. But in commit
      74f0d67a back in 2012, I made it never
      theow exceptions, because exceptions throw inside unsafeInterleaveIO become
      untrappable when the list is being traversed.
      
      So, changed it to list the contents of the directory before entering
      unsafeInterleaveIO. So exceptions are thrown for the directory. But still
      not if it's unable to list the contents of a subdirectory. That's less of a
      problem, because the subdirectory does exist (or if not, it got removed
      after being listed, and it's ok to not include it in the list). A
      subdirectory that has permissions that don't allow listing it will have its
      contents omitted from the list still.
      
      (Might be better to have it return a type that includes indications of
      errors listing contents of subdirectories?)
      
      The rest of the changes are making callers of dirContentsRecursive
      use emptyWhenDoesNotExist when they relied on the behavior of it not
      throwing an exception when the directory does not exist. Note that
      it's possible some callers of dirContentsRecursive that used to ignore
      permissions problems listing a directory will now start throwing exceptions
      on them.
      
      The fix to the directory special remote consisted of not making its
      call in listImportableContentsM use emptyWhenDoesNotExist. So it will
      throw an exception as desired.
      
      Sponsored-by: Joshua Antonishen on Patreon
      10b5f79e
    • Joey Hess's avatar
      remove unused imports · 9aac41f8
      Joey Hess authored
      9aac41f8
  4. Aug 14, 2023
  5. Aug 13, 2023
  6. Aug 11, 2023
  7. Aug 10, 2023
  8. Aug 09, 2023
    • Joey Hess's avatar
      Add git-annex remote refs that are not newer to the merged refs list · adda6c10
      Joey Hess authored
      Significant startup speed increase by avoiding repeatedly checking if some
      remote git-annex branch refs need to be merged when it is not newer.
      
      One way this could happen is when there are 2 remotes that are themselves
      connected. The git-annex branch on the first remote gets updated. Then the
      second remote pulls from the first, and merges in its git-annex branch.
      Then the local repo pulls from the second remote, and merges its git-annex
      branch. At this point, a pull from the first remote will get a git-annex
      branch that is not newer, but is not on the merged refs list.
      
      In my big repo, git-annex startup time dropped from 4 seconds to 0.1 seconds.
      There were 5 to 10 such remote refs out of 18 remotes.
      
      Sponsored-by: Graham Spencer on Patreon
      adda6c10
    • Joey Hess's avatar
    • Joey Hess's avatar
      info: Added --dead-repositories option · 3efad7f5
      Joey Hess authored
      I considered a more wide-ranging config option to make other commands
      also show dead repositories. But it would be difficult to implement that
      because Remote.keyLocations is used to get locations, filtering out dead
      repos, and commands like get then try to use those locations. So a config
      setting would make dead repos sometimes be acted on by commands.
      
      Sponsored-by: unqueued on Patreon
      3efad7f5
    • nobodyinperson's avatar
      Added a comment · 09b894cc
      nobodyinperson authored
      09b894cc
  9. Aug 08, 2023
  10. Aug 07, 2023