Efficient repository migration and storage
AssigneeGitHub, Inc.
InventorsRyan Tomayko, Jeffrey King, Jesse Toth
Life of this patent
Estimating the term…
Abstract
A system for efficient repository migration and storage includes an interface and a processor to migrate a repository from a standard repository system in which a standard repository data is replicated in multiple repositories to an efficient repository system in which related repositories are grouped together as a network of repositories and an efficient repository data is stored in a shared network repository.
Claims16
A system for efficient repository migration and storage, comprising:
- an interface to:
- receive an indication to migrate a repository from a standard repository system in which a standard repository data is replicated in multiple repositories to an efficient repository system in which related repositories are grouped together as a network of repositories and an efficient repository data is stored in a shared network repository;
- and
- a processor to:
- determine a destination repository for the repository to be migrated;
- hardlink copy the repository to be migrated into the destination repository;
- determine whether the repository belongs to a network of repositories, comprising to:
- determine whether the repository is a fork of another repository in the network of repositories;
- and
- in response to a determination that the repository is the fork of the other repository in the network of repositories, determine that the repository belongs to the network of repositories;
- in the event that the repository belongs to a network of repositories:
- determine whether a shared network repository needs to be created, comprising to:
- determine whether a number of forks of the network of repositories is greater than one;
- and
- in response to a determination that the number of forks of the network of repositories is not greater than one, determine that the shared network repository needs to be created;
- in the event that the shared network repository needs to be created, create the shared network repository;
- and
- configure the destination repository to share objects stored in the shared network repository.
A method for efficient repository migration and storage, comprising:
- receiving an indication to migrate a repository from a standard repository system in which a standard repository data is replicated in multiple repositories to an efficient repository system in which related repositories are grouped together as a network of repositories and an efficient repository data is stored in a shared network repository;
- determining, using a processor, a destination repository for the repository to be migrated;
- hardlink copying the repository to be migrated into the destination repository;
- determining whether the repository belongs to a network of repositories, comprising:
- determining whether the repository is a fork of another repository in the network of repositories;
- and
- in response to a determination that the repository is the fork of the other repository in the network of repositories, determining that the repository belongs to the network of repositories;
- in the event that the repository belongs to a network of repositories:
- determining whether a shared network repository needs to be created, comprising:
- determining whether a number of forks of the network of repositories is greater than one;
- and
- in response to a determination that the number of forks of the network of repositories is not greater than one, determining that the shared network repository needs to be created;
- in the event that the shared network repository needs to be created, creating the shared network repository;
- and
- configuring the destination repository to share objects stored in the shared network repository.
A computer program product for efficient repository migration and storage, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- receiving an indication to migrate a repository from a standard repository system in which a standard repository data is replicated in multiple repositories to an efficient repository system in which related repositories are grouped together as a network of repositories and an efficient repository data is stored in a shared network repository;
- determining, using a processor, a destination repository for the repository to be migrated;
- hardlink copying the repository to be migrated into the destination repository;
- determining whether the repository belongs to a network of repositories, comprising:
- determining whether the repository is a fork of another repository in the network of repositories;
- and
- in response to a determination that the repository is the fork of the other repository in the network of repositories, determining that the repository belongs to the network of repositories;
- in the event that the repository belongs to a network of repositories:
- determining whether a shared network repository needs to be created, comprising:
- determining whether a number of forks of the network of repositories is greater than one;
- and
- in response to a determination that the number of forks of the network of repositories is not greater than one, determining that the shared network repository needs to be created;
- in the event that the shared network repository needs to be created, creating the shared network repository;
- and
- configuring the destination repository to share objects stored in the shared network repository.
Dependencies are inferred from the claim text.