scan_moves_log_receiver does: moves = apr_hash_get(b->moves, &new_move->revision, sizeof(svn_revnum_t)); if (moves == NULL) { moves = apr_array_make(result_pool, 1, sizeof(svn_wc_repos_move_info_t *)); APR_ARRAY_PUSH(moves, svn_wc_repos_move_info_t *) = new_move; apr_hash_set(b->moves, &new_move->revision, sizeof(svn_revnum_t), moves); } else APR_ARRAY_PUSH(moves, svn_wc_repos_move_info_t *) = new_move;
The hash get and set are using the *address* of the revnum, not the revnum itself. That doesn't look right to me, I think it should be using the revnum. If it is right then the sizeofs are wrong. -- Philip