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
The default branch for this repository
The remote to use when doing code review
The remote to use by default
The url to use when cloning this repository for the first time
The full, native path to the underlying git repository
Configure a remote. If a remote with the same name exists, its url will be overwritten
Helper for configure_remote
Configure a branch. If a branch with the same name already exists, update its tracking remote.
Apply the configuration read from the “repo” setting of a remote manifest. Called by WorkTreeSyncer
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.
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 configuration to the underlying git repository