Go to file
Shawn O. Pearce d237b69865 Implement git ref reading purely in Python
Its much faster to read the refs from 114 projects when the reader
is pure Python and just doing file IO than forking 114 git commands
and parsing their output.

The reader caches refs based upon file mtimes.  If any single ref
file has been modified since the last read, we re-read the entire
repository's ref namespace.  This simplifies the code as we don't
need to worry about shooting down symbolic-refs, but it may cause
more IO than is necessary if only one ref gets updated.

This change drops `repo branches` in Android from 1.658s to 0.206s.
Likewise, `repo sync` improves dramatically as well.

Signed-off-by: Shawn O. Pearce <sop@google.com>
2009-04-17 21:03:41 -07:00
docs Add a 'repo manifest' command whose help is the manifest file format 2009-03-04 14:26:50 -08:00
hooks Install a default pre-auto-gc hook in all repositories 2008-11-03 11:00:44 -08:00
subcmds Only compute commits in repo upload if we need to show a prompt 2009-04-17 20:54:39 -07:00
.gitignore Initial Contribution 2008-10-21 07:00:00 -07:00
color.py Change repo sync to be more friendly when updating the tree 2009-04-16 11:21:18 -07:00
command.py Don't permit users to run repo status in a mirror client 2009-03-03 17:47:06 -08:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py Make repo's editor work when the editor is a commandline with 2008-11-14 21:12:44 -05:00
error.py Report better errors when a project revision is invalid 2009-03-02 12:56:08 -08:00
git_command.py Initial Contribution 2008-10-21 07:00:00 -07:00
git_config.py Supporrt mixed case subsection names in Git config files 2009-04-17 11:00:31 -07:00
git_refs.py Implement git ref reading purely in Python 2009-04-17 21:03:41 -07:00
main.py Add global --trace command line option 2009-03-09 18:26:31 -07:00
manifest.py Add repo manifest -o to save a manifest 2009-03-05 10:32:38 -08:00
pager.py Don't start the pager if stdout is a pipe 2009-04-01 07:24:22 -07:00
progress.py Don't divide by zero in progress meter 2009-04-16 08:05:05 -07:00
project.py Implement git ref reading purely in Python 2009-04-17 21:03:41 -07:00
remote.py Add <remote project-name="..."> attribute within projects 2008-11-06 11:23:06 -08:00
repo Correct the REPO_URL in the wrapper script to android.git.kernel.org 2008-12-18 07:21:32 -08:00