Hi,

I got in trouble converting the 0.7 branch of krecipes. This is the problematic 
revision, which is suposed to create the 0.7 branch from trunk.

> r386536 | (sin autor) | 2005-02-05 22:16:00 +0100 (sáb 05 de feb de 2005) | 2
> lines
> 
> Rutas cambiadas:
>    A /branches/beta_0_7_branch (de /trunk:386535)
>    D /branches/beta_0_7_branch/art-devel
>    D /branches/beta_0_7_branch/arts
>    D /branches/beta_0_7_branch/bugs
>    D /branches/beta_0_7_branch/devel-home
>    D /branches/beta_0_7_branch/developer.kde.org
>    D /branches/beta_0_7_branch/enterprise.kde.org
>    D /branches/beta_0_7_branch/events.kde.org
>    D /branches/beta_0_7_branch/foundation
>    D /branches/beta_0_7_branch/kckde
>    D /branches/beta_0_7_branch/kde-common
>    D /branches/beta_0_7_branch/kde-i18n
>    D /branches/beta_0_7_branch/kde-qt-addon
>    D /branches/beta_0_7_branch/kde-women.kde.org
>    D /branches/beta_0_7_branch/kdeaccessibility
>    D /branches/beta_0_7_branch/kdeaddons
>    D /branches/beta_0_7_branch/kdeadmin
>    D /branches/beta_0_7_branch/kdeartwork
>    D /branches/beta_0_7_branch/kdebase
>    D /branches/beta_0_7_branch/kdebindings
>    D /branches/beta_0_7_branch/kdeedu
>    D /branches/beta_0_7_branch/kdeextragear-1
>    D /branches/beta_0_7_branch/kdeextragear-2
>    M /branches/beta_0_7_branch/kdeextragear-3
>    D /branches/beta_0_7_branch/kdeextragear-3/Makefile.am.in
>    D /branches/beta_0_7_branch/kdeextragear-3/Makefile.cvs
>    D /branches/beta_0_7_branch/kdeextragear-3/README
>    D /branches/beta_0_7_branch/kdeextragear-3/configure.in.bot
>    D /branches/beta_0_7_branch/kdeextragear-3/configure.in.in
>    D /branches/beta_0_7_branch/kdeextragear-3/digikam
>    D /branches/beta_0_7_branch/kdeextragear-3/digikamimageplugins
>    D /branches/beta_0_7_branch/kdeextragear-3/doc
>    D /branches/beta_0_7_branch/kdeextragear-3/filelight
>    D /branches/beta_0_7_branch/kdeextragear-3/kcfgcreator
>    D /branches/beta_0_7_branch/kdeextragear-3/kconfigeditor
>    D /branches/beta_0_7_branch/kdeextragear-3/kdebluetooth
>    D /branches/beta_0_7_branch/kdeextragear-3/kdetv
>    D /branches/beta_0_7_branch/kdeextragear-3/keurocalc
>    D /branches/beta_0_7_branch/kdeextragear-3/kiosktool
>    D /branches/beta_0_7_branch/kdeextragear-3/klicker
>    D /branches/beta_0_7_branch/kdeextragear-3/kplayer
>    D /branches/beta_0_7_branch/kdeextragear-3/pwmanager
>    D /branches/beta_0_7_branch/kdeextragear-libs-1
>    D /branches/beta_0_7_branch/kdegames
>    D /branches/beta_0_7_branch/kdegraphics
>    D /branches/beta_0_7_branch/kdeinstaller
>    D /branches/beta_0_7_branch/kdejava
>    D /branches/beta_0_7_branch/kdekiosk
>    D /branches/beta_0_7_branch/kdelibs
>    D /branches/beta_0_7_branch/kdemultimedia
>    D /branches/beta_0_7_branch/kdenetwork
>    D /branches/beta_0_7_branch/kdenonbeta
>    D /branches/beta_0_7_branch/kdenox
>    D /branches/beta_0_7_branch/kdepim
>    D /branches/beta_0_7_branch/kdeplayground-artwork
>    D /branches/beta_0_7_branch/kdeplayground-base
>    D /branches/beta_0_7_branch/kdeplayground-edu
>    D /branches/beta_0_7_branch/kdeplayground-games
>    D /branches/beta_0_7_branch/kdeplayground-ioslaves
>    D /branches/beta_0_7_branch/kdeplayground-multimedia
>    D /branches/beta_0_7_branch/kdeplayground-network
>    D /branches/beta_0_7_branch/kdeplayground-pim
>    D /branches/beta_0_7_branch/kdeplayground-utils
>    D /branches/beta_0_7_branch/kdereview
>    D /branches/beta_0_7_branch/kdesdk
>    D /branches/beta_0_7_branch/kdesecurity
>    D /branches/beta_0_7_branch/kdesupport
>    D /branches/beta_0_7_branch/kdetoys
>    D /branches/beta_0_7_branch/kdeutils
>    D /branches/beta_0_7_branch/kdevelop
>    D /branches/beta_0_7_branch/kdewebdev
>    D /branches/beta_0_7_branch/kdoc
>    D /branches/beta_0_7_branch/kfte
>    D /branches/beta_0_7_branch/khtmltests
>    D /branches/beta_0_7_branch/klyx
>    D /branches/beta_0_7_branch/kmusic
>    D /branches/beta_0_7_branch/koffice
>    D /branches/beta_0_7_branch/kofficetests
>    D /branches/beta_0_7_branch/konstruct
>    D /branches/beta_0_7_branch/qt-copy
>    D /branches/beta_0_7_branch/quanta
>    D /branches/beta_0_7_branch/sysconfig
>    D /branches/beta_0_7_branch/valgrind
>    D /branches/beta_0_7_branch/www
> 
> This commit was manufactured by cvs2svn to create branch
> 'beta_0_7_branch'.
> ------------------------------------------------------------------------

To reproduce the problem whithout spending lots of time, just get the rules 
that 
I have in kde-ruleset/krecipes-rules, uncomment the lines for 0.7 branch and 
execute:

svn-all-fast-export --rules kde-ruleset/krecipes-rules \
--identity-map kde-ruleset/account-map \
--resume-from 386534 \
--max-rev 389172 \
kde_svn_backup

I got an error saying that '/branches/beta_0_7_branch/kdeextragear-3/keurocalc' 
was not found. Then, the program aborts its execution.

If you can't reproduce, please tell me.

Suposing that this is a bug in svn-all-fast-export (I tend to think so) I have 
two alternative patches for fixing this, I'm attaching them to this mail. I 
guess 
patch2 is better.

I have tested both patches executing the svn-all-fast-export with the 
parameters 
explained above and I have got the expected result, see the attached file 
result.png. Bonus: I checked the second patch with the whole svn repo (i.e. 
executing svn-all-fast-export without '--resume-from' and '--max-rev' I got the 
expected results)

P.S. If this is a bug, I'm ready to do a merge request[1]

Thank you for looking at this.

[1]http://gitorious.org/~jmsantamaria/svn2git/svn2git-santa

<<attachment: result.png>>

diff --git a/src/svn.cpp b/src/svn.cpp
index bb00214..83ea618 100644
--- a/src/svn.cpp
+++ b/src/svn.cpp
@@ -683,7 +683,9 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
 {
     // get the dir listing
     apr_hash_t *entries;
-    SVN_ERR(svn_fs_dir_entries(&entries, fs_root, path, pool));
+    svn_error_t * error = svn_fs_dir_entries(&entries, fs_root, path, pool);
+    if (error != SVN_NO_ERROR)
+        return EXIT_SUCCESS;
 
     AprAutoPool dirpool(pool);
     for (apr_hash_index_t *i = apr_hash_first(pool, entries); i; i = apr_hash_next(i)) {
diff --git a/src/svn.cpp b/src/svn.cpp
index bb00214..ef035c9 100644
--- a/src/svn.cpp
+++ b/src/svn.cpp
@@ -573,7 +573,10 @@ int SvnRevision::exportDispatch(const char *key, const svn_fs_path_change_t *cha
         return EXIT_SUCCESS;
 
     case Rules::Match::Recurse:
-        return recurse(key, change, path_from, rev_from, changes, pool);
+        if ( change->change_kind == svn_fs_path_change_delete )
+            return EXIT_SUCCESS;
+        else
+            return recurse(key, change, path_from, rev_from, changes, pool);
 
     case Rules::Match::Export:
         return exportInternal(key, change, path_from, rev_from, current, rule);

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Kde-scm-interest mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-scm-interest

Reply via email to