Inkscape's Repositories

Inkscape uses the Bazaar repository system to manage project files. This is a quick guide to getting started using bazaar and some common commands.

Most version control systems use some shared location to publish the most up-to-date version of the project. (We will from now on assume that the project contains the source code for a program.) We will call this place the trunk. The first thing to do when starting work on a project is to download its source code, which is called creating a checkout. The files in your checkout are called the working copy. A checkout contains copies of files belonging to the project, where you can make changes. When you are ready to send your changes to others, you commit them, and they are stored in the shared location for others to see. The state of the project after someone's changes is called a revision, and each revision in Bazaar is assigned a sequential number, called the revision number. Revision 0 is the empty project and revision 1 is the initial commit of the project's files. To receive the latest changes introduced by others, you update your checkout. The update command does not remove any of your uncommitted changes - they are automatically merged.

Bazaar uses the following commands for the above functionality.

$ bzr checkout project_trunk_url

This checks out the source code of a project stored at the specified URL.

$ bzr commit

This sends your changes to the shared location, so others can see them. It will display an editor window, where you should enter the summary of your changes. This description will be visible when using the bzr log command.

$ bzr update

This updates your working copy to the latest public revision. Your uncommitted changes are left in place and automatically merged with others' changes.

Useful basic commands

$ bzr revert file

This undoes all of your changes to the specified file and restores it to the state it was in after the last update.

$ bzr add file

When you create a new file it is initially unversioned, which means the version control system doesn't track changes to it. You need to tell the VCS that you want to include it in the project, or make it versioned. The add command is used to do this. The next commit command will then add this file to the shared location.

$ bzr rm file

This removes a file and its contents from version control and deletes it from disk. The next commit command will remove it from the shared location. Use the --keep option if you want to remove it from the shared location but keep it as an unversioned file in your working copy.

More information available on the wiki: Working with Bazaar

Alternatively: Using Git with Inkscape's Repositories