public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce•org>
To: git@vger•kernel.org
Subject: [ANNOUCNE] repo - The Multiple Git Repository Tool
Date: Wed, 22 Oct 2008 08:42:45 -0700	[thread overview]
Message-ID: <20081022154245.GT14786@spearce.org> (raw)

My "bundle related secret project" was released yesterday by Google
as part of the Android open source release event.  (I've mentioned
it before on-list in the context of a modified "git status" output.)

Google developed two tools, repo and Gerrit, and open sourced them
under the Apache License:

  http://android.git.kernel.org/?p=tools/repo.git
  http://android.git.kernel.org/?p=tools/gerrit.git

  git://android.git.kernel.org/tools/repo.git
  git://android.git.kernel.org/tools/gerrit.git

repo is a Python application to bind together Git repositories,
something like "git submodule", except it can track a project's
branch rather than a specific Git commit.  repo is also able to
natively import a tarball or zip file and use it to initialize a
repository from an upstream source, then apply git based changes
on top of that tarball.  In other words, repo is (more or less)
built to manage an OS distribution, in Git.

Gerrit is a web based code review system, forked off the open
sourced Rietveld code review system.  Gerrit runs on the highly
scaleable Google App Engine platform, but probably could be ported
to an open-source MySQL or PostgreSQL backend if people really
wanted to do that.


You can read some more of how Android has applied these tools to
its development process here:

  http://source.android.com/download
  http://source.android.com/submit-patches/workflow
  http://source.android.com/download/using-repo

Although the current tool documentation is only on the Android
site, both the repo and Gerrit tools are not specific to Android
and are designed to be applied to any project that wants to use a
similar process.


repo and Gerrit are actually developed with themselves.  You can
use repo to fetch repo:

  curl http://android.git.kernel.org/repo >~/bin/repo
  chomd a+x ~/bin/repo

  mkdir myrepo
  cd myrepo

  repo init -u git://android.git.kernel.org/tools/manifest.git
  repo sync


The "git status" output I was talking about before is the "repo
status" subcommand, e.g.:

  $ echo '# test' >>repo/repo   ; # modify a tracked file
  $ repo status
  project repo/                                   (*** NO BRANCH ***)
   -m     repo

-- 
Shawn.

             reply	other threads:[~2008-10-22 15:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22 15:42 Shawn O. Pearce [this message]
2008-10-22 19:14 ` [ANNOUCNE] repo - The Multiple Git Repository Tool Junio C Hamano
2008-10-22 21:13   ` Shawn O. Pearce
2008-10-22 23:16     ` Junio C Hamano
2008-10-22 23:17       ` Shawn O. Pearce
2008-10-22 23:46         ` [OT] Amazon wishlist (was Re: [ANNOUCNE] repo - The Multiple Git Repository Tool) Junio C Hamano
2008-10-22 23:52           ` Shawn O. Pearce
2008-10-23  0:45       ` [ANNOUCNE] repo - The Multiple Git Repository Tool David Symonds
2008-10-22 19:55 ` Leo Razoumov
2008-10-22 21:16   ` Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081022154245.GT14786@spearce.org \
    --to=spearce@spearce$(echo .)org \
    --cc=git@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox