diff --git a/Types/Import.hs b/Types/Import.hs index 2724ddc7ef..2013e44cde 100644 --- a/Types/Import.hs +++ b/Types/Import.hs @@ -59,6 +59,12 @@ data ImportableContents info = ImportableContents -- ^ Used by remotes that support importing historical versions of -- files that are stored in them. This is equivilant to a git -- commit history. + -- + -- When retrieving a historical version of a file, + -- old ImportLocations from importableHistory are not used; + -- the content is no longer expected to be present at those + -- locations. So, if a remote does not support Key/Value access, + -- it should not populate the importableHistory. } deriving (Show, Generic) diff --git a/doc/design/external_special_remote_protocol/export_and_import_appendix.mdwn b/doc/design/external_special_remote_protocol/export_and_import_appendix.mdwn index d1b255a8d0..9d474dbcbf 100644 --- a/doc/design/external_special_remote_protocol/export_and_import_appendix.mdwn +++ b/doc/design/external_special_remote_protocol/export_and_import_appendix.mdwn @@ -167,7 +167,9 @@ support a request, it can reply with `UNSUPPORTED-REQUEST`. this can be used to list those versions. It opens a new block of responses. This can be repeated any number of times (indicating a branching history), and histories can also - be nested multiple levels deep. + be nested multiple levels deep. + This should only be used when the remote supports using + "TRANSFER RECEIVE Key" to retrieve historical versions of files. * `END` Indicates the end of a block of responses. * `LOCATION Name`