aboutsummaryrefslogtreecommitdiff
path: root/vcs-svn/svndump.c
diff options
context:
space:
mode:
Diffstat (limited to 'vcs-svn/svndump.c')
-rw-r--r--vcs-svn/svndump.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c
index 4fdfcbbc0..0af8ac680 100644
--- a/vcs-svn/svndump.c
+++ b/vcs-svn/svndump.c
@@ -174,7 +174,8 @@ static void handle_node(void)
if (node_ctx.srcRev) {
repo_copy(node_ctx.srcRev, node_ctx.src, node_ctx.dst);
- node_ctx.action = NODEACT_CHANGE;
+ if (node_ctx.action == NODEACT_ADD)
+ node_ctx.action = NODEACT_CHANGE;
}
if (mark && type == REPO_MODE_DIR)
@@ -182,8 +183,10 @@ static void handle_node(void)
if (node_ctx.action == NODEACT_CHANGE)
node_ctx.type = repo_modify_path(node_ctx.dst, 0, mark);
- else /* Node-action: add */
+ else if (node_ctx.action == NODEACT_ADD)
repo_add(node_ctx.dst, type, mark);
+ else
+ die("invalid dump: Node-path block lacks Node-action");
if (have_props) {
const uint32_t old_mode = node_ctx.type;