Provided by: git-annex_10.20250416-2ubuntu1_amd64 bug

NAME

       git-annex-reinject - inject content of file back into annex

SYNOPSIS

       git annex reinject [src dest]

       git annex reinject --known [src]

DESCRIPTION

       Moves  the content of the src file or files into the annex.  Only known file contents will be reinjected.
       Any unknown src files will be left unchanged.

       This can be useful if you have obtained the content of a file from elsewhere and want to put  it  in  the
       local  annex.  For  example, if a file's content has been lost and you have a backup, you can restore the
       backup and reinject it into your local repository.

       There are two ways to use this command. Specifying a src file and the name of a dest file (located inside
       the repository's working tree) injects the src file as the content of the dest file.

        git annex reinject /tmp/foo.iso foo.iso

       Or the --known option can be used to reinject all known src files, without needing to  specify  the  dest
       file.

        git annex reinject --known /tmp/*.iso

OPTIONS

       --known

              With  this  option,  each specified src file is hashed using the default key-value backend (or the
              one specified with --backend), and if git-annex has a record of the resulting key having  been  in
              the annex before, the content is reinjected.

              Note  that,  when  using a key-value backend that includes the filename extension in the key, this
              will only work if the src files have the same extensions as the files with the same  content  that
              was originally added to git-annex.

              Note  that  this  will  reinject old versions of files that have been modified or deleted from the
              current git branch.  Use git-annex-unused(1) to detect when such old and potentially unused  files
              have been reinjected.

       --backend
              Specify the key-value backend to use when checking if a file is known with the --known option.

       --guesskeys
              With  this  option, each specified source file is checked to see if it has the name of a git-annex
              key, and if so it is imported as the content of that key.

              This can be used to pluck git-annex objects out of lost+found, as long as  the  original  filename
              has not been lost, and is particularly useful when using key-value backends that don't hash to the
              content of a file.

              When  the  key-value  backend  does  support  hashing,  the content of the file is verified before
              importing it.

       --json Enable JSON output. This is intended to be parsed by programs that use  git-annex.  Each  line  of
              output is a JSON object.

       --json-error-messages
              Messages that would normally be output to standard error are included in the JSON instead.

       Also the git-annex-common-options(1) can be used.

SEE ALSO

       git-annex(1)

       git-annex-add(1)

       git-annex-unused(1)

       git-annex-fsck(1)

AUTHOR

       Joey Hess <id@joeyh.name>

                                                                                           git-annex-reinject(1)