зеркало из https://github.com/microsoft/git.git
Merge branch 'sv/objfixes'
* sv/objfixes: Don't assume tree entries that are not dirs are blobs git-cvsimport: Make sure to use $git_dir always instead of .git sometimes fix documentation of unpack-objects -n Accept dates before 2000/01/01 when specified as seconds since the epoch
This commit is contained in:
Коммит
d44c782bbd
|
@ -27,8 +27,8 @@ new packs and replace existing ones.
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
-n::
|
-n::
|
||||||
Only list the objects that would be unpacked, don't actually unpack
|
Dry run. Check the pack file without actually unpacking
|
||||||
them.
|
the objects.
|
||||||
|
|
||||||
-q::
|
-q::
|
||||||
The command usually shows percentage progress. This
|
The command usually shows percentage progress. This
|
||||||
|
|
6
date.c
6
date.c
|
@ -414,9 +414,11 @@ static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt
|
||||||
num = strtoul(date, &end, 10);
|
num = strtoul(date, &end, 10);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Seconds since 1970? We trigger on that for anything after Jan 1, 2000
|
* Seconds since 1970? We trigger on that for any numbers with
|
||||||
|
* more than 8 digits. This is because we don't want to rule out
|
||||||
|
* numbers like 20070606 as a YYYYMMDD date.
|
||||||
*/
|
*/
|
||||||
if (num > 946684800) {
|
if (num >= 100000000) {
|
||||||
time_t time = num;
|
time_t time = num;
|
||||||
if (gmtime_r(&time, tm)) {
|
if (gmtime_r(&time, tm)) {
|
||||||
*tm_gmt = 1;
|
*tm_gmt = 1;
|
||||||
|
|
|
@ -692,8 +692,8 @@ sub commit {
|
||||||
if ($branch eq $opt_o && !$index{branch} && !get_headref($branch, $git_dir)) {
|
if ($branch eq $opt_o && !$index{branch} && !get_headref($branch, $git_dir)) {
|
||||||
# looks like an initial commit
|
# looks like an initial commit
|
||||||
# use the index primed by git-init
|
# use the index primed by git-init
|
||||||
$ENV{GIT_INDEX_FILE} = '.git/index';
|
$ENV{GIT_INDEX_FILE} = "$git_dir/index";
|
||||||
$index{$branch} = '.git/index';
|
$index{$branch} = "$git_dir/index";
|
||||||
} else {
|
} else {
|
||||||
# use an index per branch to speed up
|
# use an index per branch to speed up
|
||||||
# imports of projects with many branches
|
# imports of projects with many branches
|
||||||
|
@ -984,7 +984,7 @@ if ($line =~ /^(\d+) objects, (\d+) kilobytes$/) {
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $git_index (values %index) {
|
foreach my $git_index (values %index) {
|
||||||
if ($git_index ne '.git/index') {
|
if ($git_index ne "$git_dir/index") {
|
||||||
unlink($git_index);
|
unlink($git_index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
3
object.c
3
object.c
|
@ -160,8 +160,11 @@ struct object *parse_object_buffer(const unsigned char *sha1, enum object_type t
|
||||||
parse_tag_buffer(tag, buffer, size);
|
parse_tag_buffer(tag, buffer, size);
|
||||||
obj = &tag->object;
|
obj = &tag->object;
|
||||||
} else {
|
} else {
|
||||||
|
warning("object %s has unknown type id %d\n", sha1_to_hex(sha1), type);
|
||||||
obj = NULL;
|
obj = NULL;
|
||||||
}
|
}
|
||||||
|
if (obj && obj->type == OBJ_NONE)
|
||||||
|
obj->type = type;
|
||||||
*eaten_p = eaten;
|
*eaten_p = eaten;
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
7
tree.c
7
tree.c
|
@ -173,8 +173,13 @@ static void track_tree_refs(struct tree *item)
|
||||||
continue;
|
continue;
|
||||||
if (S_ISDIR(entry.mode))
|
if (S_ISDIR(entry.mode))
|
||||||
obj = &lookup_tree(entry.sha1)->object;
|
obj = &lookup_tree(entry.sha1)->object;
|
||||||
else
|
else if (S_ISREG(entry.mode) || S_ISLNK(entry.mode))
|
||||||
obj = &lookup_blob(entry.sha1)->object;
|
obj = &lookup_blob(entry.sha1)->object;
|
||||||
|
else {
|
||||||
|
warning("in tree %s: entry %s has bad mode %.6o\n",
|
||||||
|
sha1_to_hex(item->object.sha1), entry.path, entry.mode);
|
||||||
|
obj = lookup_unknown_object(entry.sha1);
|
||||||
|
}
|
||||||
refs->ref[i++] = obj;
|
refs->ref[i++] = obj;
|
||||||
}
|
}
|
||||||
set_object_refs(&item->object, refs);
|
set_object_refs(&item->object, refs);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче