Do not run this on a repository unless you want to destroy it.
To create the input files, in the source repository use:
git for-each-ref >in.refs git log --all '--pretty=format:%H %ct %P' >in.dag
Run the rebuild in either an empty repository, or a clone of the source. Any missing commits (which might be the entire graph) will be created. All refs will be modified to match the input exactly, which means some refs may be deleted from the current repository.
| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv File | |
| private final ProgressMonitor | |
| private static final String | |
| pack-priv boolean | |
| pack-priv File | |
| private Map |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| private Map | |
| private void | |
| private void | |
| private void | |
| private void | |
| protected void |
| graph | back to summary |
|---|---|
pack-priv File graph
| |
| pm | back to summary |
|---|---|
| private final ProgressMonitor pm | |
| REALLY | back to summary |
|---|---|
| private static final String REALLY | |
| really | back to summary |
|---|---|
pack-priv boolean really
| |
| refList | back to summary |
|---|---|
pack-priv File refList
| |
| rewrites | back to summary |
|---|---|
| private Map<ObjectId, ObjectId> rewrites | |
| RebuildCommitGraph | back to summary |
|---|---|
| pack-priv RebuildCommitGraph() | |
| computeNewRefs | back to summary |
|---|---|
| private Map | |
| deleteAllRefs | back to summary |
|---|---|
| private void deleteAllRefs() throws Exception | |
| detachHead | back to summary |
|---|---|
| private void detachHead() throws IOException | |
| recreateCommitGraph | back to summary |
|---|---|
| private void recreateCommitGraph() throws IOException | |
| recreateRefs | back to summary |
|---|---|
| private void recreateRefs() throws Exception | |
| run | back to summary |
|---|---|
| protected void run() throws Exception Implements abstract org. Doc from org. Perform the actions of this command.
This method should only be invoked by | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final long | |
| pack-priv ObjectId | |
| pack-priv final ObjectId | |
| pack-priv final ObjectId[] |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| commitTime | back to summary |
|---|---|
| pack-priv final long commitTime | |
| newId | back to summary |
|---|---|
| pack-priv ObjectId newId | |
| oldId | back to summary |
|---|---|
| pack-priv final ObjectId oldId | |
| oldParents | back to summary |
|---|---|
| pack-priv final ObjectId[] oldParents | |
| ToRewrite | back to summary |
|---|---|
| pack-priv ToRewrite(ObjectId o, long t, ObjectId[] p) | |