示例#1
0
文件: fsck.c 项目: AndSoAway/git
int fsck_walk(struct object *obj, void *data, struct fsck_options *options)
{
	if (!obj)
		return -1;
	switch (obj->type) {
	case OBJ_BLOB:
		return 0;
	case OBJ_TREE:
		return fsck_walk_tree((struct tree *)obj, data, options);
	case OBJ_COMMIT:
		return fsck_walk_commit((struct commit *)obj, data, options);
	case OBJ_TAG:
		return fsck_walk_tag((struct tag *)obj, data, options);
	default:
		error("Unknown object type for %s", oid_to_hex(&obj->oid));
		return -1;
	}
}
示例#2
0
文件: fsck.c 项目: xq-sunny/git
int fsck_walk(struct object *obj, fsck_walk_func walk, void *data)
{
    if (!obj)
        return -1;
    switch (obj->type) {
    case OBJ_BLOB:
        return 0;
    case OBJ_TREE:
        return fsck_walk_tree((struct tree *)obj, walk, data);
    case OBJ_COMMIT:
        return fsck_walk_commit((struct commit *)obj, walk, data);
    case OBJ_TAG:
        return fsck_walk_tag((struct tag *)obj, walk, data);
    default:
        error("Unknown object type for %s", sha1_to_hex(obj->sha1));
        return -1;
    }
}
示例#3
0
文件: fsck.c 项目: PEPE-coin/git
int fsck_walk(struct object *obj, void *data, struct fsck_options *options)
{
	if (!obj)
		return -1;

	if (obj->type == OBJ_NONE)
		parse_object(&obj->oid);

	switch (obj->type) {
	case OBJ_BLOB:
		return 0;
	case OBJ_TREE:
		return fsck_walk_tree((struct tree *)obj, data, options);
	case OBJ_COMMIT:
		return fsck_walk_commit((struct commit *)obj, data, options);
	case OBJ_TAG:
		return fsck_walk_tag((struct tag *)obj, data, options);
	default:
		error("Unknown object type for %s", describe_object(options, obj));
		return -1;
	}
}