Skip to content

Commit

Permalink
Merge branch 'master' of git://repo.or.cz/git/fastimport
Browse files Browse the repository at this point in the history
* 'master' of git://repo.or.cz/git/fastimport:
  Remove unnecessary casts from fast-import
  New fast-import test case for valid tree sorting
  fast-import: grow tree storage more aggressively
  • Loading branch information
Junio C Hamano committed Mar 13, 2007
2 parents 6016e35 + 061e35c commit f8a0665
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 4 deletions.
8 changes: 4 additions & 4 deletions fast-import.c
Original file line number Diff line number Diff line change
Expand Up @@ -1058,15 +1058,15 @@ static void load_tree(struct tree_entry *root)
struct tree_entry *e = new_tree_entry();

if (t->entry_count == t->entry_capacity)
root->tree = t = grow_tree_content(t, 8);
root->tree = t = grow_tree_content(t, t->entry_count);
t->entries[t->entry_count++] = e;

e->tree = NULL;
c = get_mode(c, &e->versions[1].mode);
if (!c)
die("Corrupt mode in %s", sha1_to_hex(sha1));
e->versions[0].mode = e->versions[1].mode;
e->name = to_atom(c, (unsigned short)strlen(c));
e->name = to_atom(c, strlen(c));
c += e->name->str_len + 1;
hashcpy(e->versions[0].sha1, (unsigned char*)c);
hashcpy(e->versions[1].sha1, (unsigned char*)c);
Expand Down Expand Up @@ -1225,9 +1225,9 @@ static int tree_content_set(
}

if (t->entry_count == t->entry_capacity)
root->tree = t = grow_tree_content(t, 8);
root->tree = t = grow_tree_content(t, t->entry_count);
e = new_tree_entry();
e->name = to_atom(p, (unsigned short)n);
e->name = to_atom(p, n);
e->versions[0].mode = 0;
hashclr(e->versions[0].sha1);
t->entries[t->entry_count++] = e;
Expand Down
50 changes: 50 additions & 0 deletions t/t9300-fast-import.sh
Original file line number Diff line number Diff line change
Expand Up @@ -501,4 +501,54 @@ test_expect_success \
'test `git-rev-parse --verify branch^1` \
= `git-rev-parse --verify K^1`'

###
### series L
###

cat >input <<INPUT_END
blob
mark :1
data <<EOF
some data
EOF
blob
mark :2
data <<EOF
other data
EOF
commit refs/heads/L
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
create L
COMMIT
M 644 :1 b.
M 644 :1 b/other
M 644 :1 ba
commit refs/heads/L
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
update L
COMMIT
M 644 :2 b.
M 644 :2 b/other
M 644 :2 ba
INPUT_END

cat >expect <<EXPECT_END
:100644 100644 4268632... 55d3a52... M b.
:040000 040000 0ae5cac... 443c768... M b
:100644 100644 4268632... 55d3a52... M ba
EXPECT_END

test_expect_success \
'L: verify internal tree sorting' \
'git-fast-import <input &&
git-diff --raw L^ L >output &&
git diff expect output'

test_done

0 comments on commit f8a0665

Please sign in to comment.