Merge branch 'master' into js/shallow

This is to adjust to:

  count-objects -v: show number of packs as well.

which will break a test in this series.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano
2006-12-27 02:43:46 -08:00
226 changed files with 9285 additions and 6237 deletions

View File

@ -5,7 +5,6 @@
#include "tag.h"
#include "exec_cmd.h"
#include "sideband.h"
#include <sys/wait.h>
static int keep_pack;
static int quiet;
@ -603,6 +602,29 @@ static int fetch_pack(int fd[2], int nr_match, char **match)
return 0;
}
static int remove_duplicates(int nr_heads, char **heads)
{
int src, dst;
for (src = dst = 0; src < nr_heads; src++) {
/* If heads[src] is different from any of
* heads[0..dst], push it in.
*/
int i;
for (i = 0; i < dst; i++) {
if (!strcmp(heads[i], heads[src]))
break;
}
if (i < dst)
continue;
if (src != dst)
heads[dst] = heads[src];
dst++;
}
heads[dst] = 0;
return dst;
}
int main(int argc, char **argv)
{
int i, ret, nr_heads;
@ -662,6 +684,8 @@ int main(int argc, char **argv)
pid = git_connect(fd, dest, exec);
if (pid < 0)
return 1;
if (heads && nr_heads)
nr_heads = remove_duplicates(nr_heads, heads);
ret = fetch_pack(fd, nr_heads, heads);
close(fd[0]);
close(fd[1]);