Skip to content
This repository was archived by the owner on Oct 12, 2023. It is now read-only.

Repository_Structure

Simon Menke edited this page Jan 18, 2011 · 1 revision

Repository Structure

A backup repository is modeled after a git repository. It has branches, tags and commits.

  • A commit represents a single backup (just to be clear we will call it a commit).
  • A branch represents the last backup made by particular application (this allows multiple applications to make backups in the same repository).
  • A tag represents a sidetracked commit stream (ie. after a restore to a previous commit or a commit not which is not part of the current commit stream). Tags can also be used to manually mark interesting commits.

What happens to the repository structure when I do a ...

backup

In the local repository a new commit will be created on the master branch.

restore

First the HEAD commit will be tagged if it doesn't have any tags or child commits. Then the master branch will be reset (--hard) to the desired commit.

send

Will send all new tags to the remote and will force the tracking branch to be updated to the current HEAD.

fetch

Will fetch a tag or a branch (including its history) from the remote.

pull

Will first do a fetch and then a restore

push

Will first do a backup and then a send

prune

Will remove any local tags, branches and commits which are not in the last N commits.

Clone this wiki locally