A computer program product for maintaining source data in a repository, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:
- copying source data from a source as of an initial point-in-time to a repository;
- initiating point-in-time copies at different point-in-times of the source data following the initial point-in-time, wherein for each of the point-in-time copies there is generated change information at the source indicating locations in the source data that changed while the point-in-time copy was open;
- in response to completing a previous point-in-time copy of the initiated point-in-time copies, transmitting to the repository a copy of the generated change information indicating locations in the source data that changed for the previous point-in-time copy indicating changed point-in-time data comprising data that was in the source data as of a previous point-in-time before being changed between a point-in-time of the previous point-in-time copy and a subsequent point-in-time at which a new point-in-time copy, of the initiated point-in-time copies, was created;
- copying the changed point-in-time data comprising the source data in the source indicated in the generated change information for the point-in-time copy as changed to the repository;
- indicating a location in changed data in the repository having the changed point-in-time data for the previous point-in-time copy indicated in the copy of the generated change information for the previous point-in-time copy, wherein the changed data of the repository has changed point-in-time data for multiple previous point-in-time copies indicated in the copies of the generated change information for the previous point-in-time copies transmitted to the repository;
- receiving a restore request to restore the source data as of a restore point-in-time;
- determining source data indicated in the generated change information for the previous point-in-time copies copied to the repository and maintained in the changed data in the repository as of the restore point-in-time;
- and
- copying the determined source data from the repository to a restore copy.