qiBuild documentation

qisrc.project - git projects in a GitWorkTree

qisrc.worktree.GitProject

class qisrc.project.GitProject

This class represent a git configuration.

Every git configuration is stored in the worktree, in a .qi/git.xml file.

qisrc then make sure the actual git repository matches the configuration stored in the file. (That the branches and remotes exist, and the tracking branches are correctly set)

qisrc sync also reads the configuration from the remote manifest, and makes sure everything matches

class qisrc.project.GitProject(git_worktree, worktree_project)

GitProject Class

load_xml(xml_elem)

Load Xml

dump_xml()

Dump Xml

save_config()

Save Config

default_branch

The default branch for this repository

review_remote

The remote to use when doing code review

default_remote

The remote to use by default

clone_url

The url to use when cloning this repository for the first time

path

The full, native path to the underlying git repository

configure_remote(remote)

Configure a remote. If a remote with the same name exists, its url will be overwritten.

update_remote(remote, new)

Helper for configure_remote

configure_branch(name, tracks=u'origin', remote_branch=None, default=True, quiet=False)

Configure a branch. If a branch with the same name already exists, update its tracking remote.

read_remote_config(repo, quiet=False)

Apply the configuration read from the “repo” setting of a remote manifest. Called by WorkTreeSyncer.

sync(rebase_devel=False, **kwargs)

Synchronize remote changes with the underlying git repository Calls qisrc.git.Git.sync_branch() .. warning:

this method is called in parallel when calling ``qisrc sync``,
therefore it must not cause any side-effect on the global state
outside of this repo.
safe_reset_to_ref(ref)

Read a fixed ref from the remote config. Make sure to not discard any local changes.

safe_reset_to_branch(branch)

Switch from a ref to a branch. Make sure to not discard any local changes.

reset()

Same as sync, but discard any local changes .. warning:

this method is called in parallel when calling ``qisrc sync``,
therefore it must not cause any side-effect on the global state
outside of this repo.
apply_config()

Apply configuration to the underlying git repository.