Recommended method for creating clone.bundle

714 views
Skip to first unread message

Matt Gumbel

unread,
Jun 18, 2013, 7:18:30 PM6/18/13
to repo-d...@googlegroups.com
Hi all,

Is there a recommended way for creating clone.bundle files on a gerrit server?

I wonder if it is best to do it with a daily cron job or some other way. Any practical advice would be much appreciated!

thanks,
Matt
Intel Open Source Technology Center

Shawn Pearce

unread,
Jun 18, 2013, 8:00:59 PM6/18/13
to Matt Gumbel, repo-discuss
On Tue, Jun 18, 2013 at 4:18 PM, Matt Gumbel <mattis...@gmail.com> wrote:
> Hi all,
>
> Is there a recommended way for creating clone.bundle files on a gerrit
> server?

Run git bundle create. :-)

> I wonder if it is best to do it with a daily cron job or some other way. Any
> practical advice would be much appreciated!

The only time we use them is about once every 6 months when a new
version of AOSP is made available. JBQ creates bundles with `git
bundle create` for the new version, uploads them to the CDN, and a new
Android is shipped.

We don't bother to make them automatically or periodically, the bitmap
based clone support works really well for normal daily traffic, and
the delta between the last release and the next release is usually
small enough to run on `git fetch`.

Matt Gumbel

unread,
Jun 18, 2013, 8:44:59 PM6/18/13
to repo-d...@googlegroups.com, Matt Gumbel
Thanks Shaun. One other question regarding bundles: where do I place the clone.bundle file so that the gerrit webserver will find it when a client asks for it? I tried placing it in the project's main .git directory as well as in the refs/ subdir but neither seemed to work. 

-Matt

Shawn Pearce

unread,
Jun 18, 2013, 8:48:58 PM6/18/13
to Matt Gumbel, repo-discuss
On Tue, Jun 18, 2013 at 5:44 PM, Matt Gumbel <mattis...@gmail.com> wrote:
> Thanks Shaun. One other question regarding bundles: where do I place the
> clone.bundle file so that the gerrit webserver will find it when a client
> asks for it? I tried placing it in the project's main .git directory as well
> as in the refs/ subdir but neither seemed to work.

Gerrit itself doesn't support serving clone.bundle files. You could
try using mod_rewrite in your Apache to trap URLs ending in
/clone.bundle and send them to a directory that Apache is configured
to serve files out of.

This is basically what we do for android.googlesource.com. Our web
server traps "^(.*)/clone.bundle" and rewrites $1 to a URL on the CDN
and sends the client a 302 redirect to follow to pick up the file off
the CDN.


> On Tuesday, June 18, 2013 5:00:59 PM UTC-7, Shawn Pearce wrote:
>>
>> On Tue, Jun 18, 2013 at 4:18 PM, Matt Gumbel <mattis...@gmail.com> wrote:
>> > Hi all,
>> >
>> > Is there a recommended way for creating clone.bundle files on a gerrit
>> > server?
>>
>> Run git bundle create. :-)
>>
>> > I wonder if it is best to do it with a daily cron job or some other way.
>> > Any
>> > practical advice would be much appreciated!
>>
>> The only time we use them is about once every 6 months when a new
>> version of AOSP is made available. JBQ creates bundles with `git
>> bundle create` for the new version, uploads them to the CDN, and a new
>> Android is shipped.
>>
>> We don't bother to make them automatically or periodically, the bitmap
>> based clone support works really well for normal daily traffic, and
>> the delta between the last release and the next release is usually
>> small enough to run on `git fetch`.
>
> --
> --
> To unsubscribe, email repo-discuss...@googlegroups.com
> More info at http://groups.google.com/group/repo-discuss?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Repo and Gerrit Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to repo-discuss...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
Reply all
Reply to author
Forward
0 new messages