/[svn2cvs]/trunk/svn2cvs.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/svn2cvs.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 12 by dpavlin, Sat Mar 13 17:22:53 2004 UTC revision 14 by dpavlin, Sun Mar 14 21:49:36 2004 UTC
# Line 151  if (! $xml->{'logentry'}) { Line 151  if (! $xml->{'logentry'}) {
151          exit 0;          exit 0;
152  }  }
153    
154    # check if file exists in CVS/Entries
155    sub in_entries($) {
156            my $path = shift;
157            if ($path !~ m,^(.*?/*)([^/]+)$,) {
158                    die "can't split '$path' to dir and file!";
159            } else {
160                    my ($d,$f) = ($1,$2);
161                    if ($d !~ m,/$,) {
162                            $d .= "/";
163                    }
164                    open(E, $d."CVS/Entries") || die "can't open ${d}CVS/Entries: $!";
165                    while(<E>) {
166                            return(1) if (m,^/$f/,);
167                    }
168                    close(E);
169                    return 0;
170            }
171    }
172    
173  foreach my $e (@{$xml->{'logentry'}}) {  foreach my $e (@{$xml->{'logentry'}}) {
174          die "BUG: revision from .svnrev ($rev) greater than from subversion (".$e->{'revision'}.")" if ($rev > $e->{'revision'});          die "BUG: revision from .svnrev ($rev) greater than from subversion (".$e->{'revision'}.")" if ($rev > $e->{'revision'});
175          $rev = $e->{'revision'};          $rev = $e->{'revision'};
# Line 187  print "## tmppath: $tmppath tmpsvn: $tmp Line 206  print "## tmppath: $tmppath tmpsvn: $tmp
206                  }                  }
207    
208                  my $msg = $e->{'msg'};                  my $msg = $e->{'msg'};
209                  $msg =~ s/'/\\'/g;      # quote "                  $msg =~ s/'/'\\''/g;    # quote "
210    
211                  if ($action =~ /M/) {                  if ($action =~ /M/) {
212                          print "svn2cvs: modify $path -- nop\n";                          print "svn2cvs: modify $path -- nop\n";
# Line 198  print "## tmppath: $tmppath tmpsvn: $tmp Line 217  print "## tmppath: $tmppath tmpsvn: $tmp
217                                  chdir("$TMPDIR") || die "can't cd to $TMPDIR/$CVSREP: $!";                                  chdir("$TMPDIR") || die "can't cd to $TMPDIR/$CVSREP: $!";
218                                  log_system("$cvs checkout $CVSREP/$path", "cvs checkout of imported dir $path failed");                                  log_system("$cvs checkout $CVSREP/$path", "cvs checkout of imported dir $path failed");
219                                  chdir("$TMPDIR/$CVSREP") || die "can't cd back to $TMPDIR/$CVSREP: $!";                                  chdir("$TMPDIR/$CVSREP") || die "can't cd back to $TMPDIR/$CVSREP: $!";
220                            } elsif ($path =~ m,^(.+)/[^/]+$, && ! -e "$1/CVS/Root") {
221                                    my $dir = $1;
222                                    in_entries($dir) || log_system("$cvs add $dir", "cvs add of dir $dir failed");
223                                    in_entries($path) || log_system("$cvs add $path", "cvs add of $path failed");
224                          } else {                          } else {
225                                  log_system("$cvs add -m '$msg' $path", "cvs add of $path failed");                                  in_entries($path) || log_system("$cvs add $path", "cvs add of $path failed");
226                          }                          }
227                  } elsif ($action =~ /D/) {                  } elsif ($action =~ /D/) {
228                          log_system("$cvs delete -m '$msg' $path", "cvs delete of $path failed");                          unlink $path || die "can't delete $path: $!";
229                            log_system("$cvs delete $path", "cvs delete of $path failed");
230                  } else {                  } else {
231                          print "WARNING: action $action not implemented on $path. Bug or missing feature of $0\n";                          print "WARNING: action $action not implemented on $path. Bug or missing feature of $0\n";
232                  }                  }

Legend:
Removed from v.12  
changed lines
  Added in v.14

  ViewVC Help
Powered by ViewVC 1.1.26