Re: [PATCH] cvsimport: setup indexes correctly for ancestors and incremental imports
- From
Sergey Vlasov <vsu@altlinux.ru>
- Date
- Jun 24, 2006, 13:06 UTC
- Message-ID
- <20060624170638.6f127420.vsu@altlinux.ru>
- In-Reply-To
- <11511475882820-git-send-email-martin@catalyst.net.nz>
On Sat, 24 Jun 2006 23:13:08 +1200 Martin Langhoff wrote:
Show 29 quoted lines
> Two bugs had slipped in the "keep one index per branch during import"
> patch. Both incremental imports and new branches would see an
> empty tree for their initial commit. Now we cover all the relevant
> cases, checking whether we actually need to setup the index before
> preparing the actual commit, and doing it.
>
> Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
>
> ---
> git-cvsimport.perl | 19 +++++++++++++++++--
> 1 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/git-cvsimport.perl b/git-cvsimport.perl
> old mode 100644
> new mode 100755
> index d961b7b..1c1fd02
> --- a/git-cvsimport.perl
> +++ b/git-cvsimport.perl
> @@ -813,11 +813,26 @@ while(<CVS>) {
> unless ($index{$branch}) {
> $index{$branch} = tmpnam();
> $ENV{GIT_INDEX_FILE} = $index{$branch};
> - system("git-read-tree", $branch);
> + }
> + if ($ancestor) {
> + system("git-read-tree", $ancestor);
> die "read-tree failed: $?\n" if $?;
> } else {
> + unless ($index{$branch}) {This seems to be dead code - even if $index{$branch} was not set, it will be set inside "unless ($index{$branch})" above. Or there is another bug here?
Show 18 quoted lines
> + $index{$branch} = tmpnam();
> + $ENV{GIT_INDEX_FILE} = $index{$branch};
> + system("git-read-tree", $branch);
> + die "read-tree failed: $?\n" if $?;
> + }
> + }
> + } else {
> + # just in case
> + unless ($index{$branch}) {
> + $index{$branch} = tmpnam();
> $ENV{GIT_INDEX_FILE} = $index{$branch};
> - }
> + system("git-read-tree", $branch);
> + die "read-tree failed: $?\n" if $?;
> + }
> }
> $last_branch = $branch if $branch ne $last_branch;
> $state = 9;