You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.