@@ -636,14 +636,9 @@ int SvnRevision::exportEntry(const char *key, const svn_fs_path_change2_t *chang
636
636
else if (is_dir) {
637
637
if (change->change_kind == svn_fs_path_change_modify ||
638
638
change->change_kind == svn_fs_path_change_add) {
639
- if (path_from == NULL ) {
640
- // freshly added directory, or modified properties
641
- // Git doesn't handle directories, so we don't either
642
- // qDebug() << " mkdir ignored:" << key;
643
- return EXIT_SUCCESS;
639
+ if (path_from != NULL ) {
640
+ qDebug () << " " << key << " was copied from" << path_from << " rev" << rev_from;
644
641
}
645
-
646
- qDebug () << " " << key << " was copied from" << path_from << " rev" << rev_from;
647
642
} else if (change->change_kind == svn_fs_path_change_replace) {
648
643
if (path_from == NULL )
649
644
qDebug () << " " << key << " was replaced" ;
@@ -690,7 +685,7 @@ int SvnRevision::exportEntry(const char *key, const svn_fs_path_change2_t *chang
690
685
if ( isHandled ) {
691
686
return EXIT_SUCCESS;
692
687
}
693
- if (wasDir (fs, revnum - 1 , key, revpool)) {
688
+ if (is_dir || wasDir (fs, revnum - 1 , key, revpool)) {
694
689
qDebug () << current << " was a directory; ignoring" ;
695
690
} else if (change->change_kind == svn_fs_path_change_delete) {
696
691
qDebug () << current << " is being deleted but I don't know anything about it; ignoring" ;
@@ -710,8 +705,8 @@ int SvnRevision::exportDispatch(const char *key, const svn_fs_path_change2_t *ch
710
705
// qDebug() << "rev" << revnum << qPrintable(current) << "matched rule:" << rule.lineNumber << "(" << rule.rx.pattern() << ")";
711
706
switch (rule.action ) {
712
707
case Rules::Match::Ignore:
713
- // if(ruledebug)
714
- // qDebug() << " " << "ignoring.";
708
+ if (ruledebug)
709
+ qDebug () << " rev " << revnum << qPrintable (current) << " matched rule: " << rule. info () << " " << " ignoring." ;
715
710
return EXIT_SUCCESS;
716
711
717
712
case Rules::Match::Recurse:
@@ -934,11 +929,13 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change2_t *ch
934
929
return EXIT_SUCCESS;
935
930
}
936
931
937
- if (ignoreSet == false ) {
938
- // FIXME: isn't it a bug that this isn't done
939
- txn->deleteFile (path);
932
+ if (!previous.isEmpty ()) {
933
+ if (ignoreSet == false ) {
934
+ // FIXME: isn't it a bug that this isn't done
935
+ txn->deleteFile (path);
936
+ }
937
+ recursiveDumpDir (txn, fs_root, key, path, pool);
940
938
}
941
- recursiveDumpDir (txn, fs_root, key, path, pool);
942
939
}
943
940
944
941
return EXIT_SUCCESS;
0 commit comments