Skip to content
  • Joey Hess's avatar
    implement URL to VURL migration · e7652b09
    Joey Hess authored
    This needs the content to be present in order to hash it. But it's not
    possible for a module used by Backend.URL to call inAnnex because that
    would entail a dependency loop. So instead, rely on the fact that
    Command.Migrate calls inAnnex before performing a migration.
    
    But, Command.ExamineKey calls fastMigrate and the key may or may not
    exist, and it's not wanting to actually perform a migration in any case.
    To handle that, had to add an additional value to fastMigrate to
    indicate whether the content is inAnnex.
    
    Factored generateEquivilantKey out of Remote.Web.
    
    Note that migrateFromURLToVURL hardcodes use of the SHA256E backend.
    It would have been difficult not to, given all the dependency loop
    issues. But --backend and annex.backend are used to tell git-annex
    migrate to use VURL in any case, so there's no config knob that
    the user could expect to configure that.
    
    Sponsored-by: Brock Spratlen on Patreon
    e7652b09