--- smeserver-subversion-1.4/root/etc/e-smith/db/accounts/migrate/80subversion.MigrateOnUpdatesAsWell 2008-02-27 20:36:31.000000000 +0100 +++ smeserver-subversion-1.4/root/etc/e-smith/db/accounts/migrate/80subversion 2008-03-01 19:09:31.000000000 +0100 @@ -12,13 +12,54 @@ my %properties = $repository->props; - # Creating new blank entries - $rec->set_prop('UsersRead', ""); - $rec->set_prop('GroupsRead', ""); - - # Migrating existing properties to new ones to keep functionality - $rec->set_prop('UsersWrite', $DB->get_prop_and_delete($key, 'Users') || ""); - $rec->set_prop('GroupsWrite', $DB->get_prop_and_delete($key, 'Groups') || ""); + my $GroupsWrite = $properties{'GroupsWrite'} || ''; + my $GroupsRead = $properties{'GroupsRead'} || ''; + my $UsersWrite = $properties{'UsersWrite'} || ''; + my $UsersRead = $properties{'UsersRead'} || ''; + + my $Groups = $DB->get_prop_and_delete($key, 'Groups') || ''; + my $Users = $DB->get_prop_and_delete($key, 'Users') || ''; + + # Populate properties + if ($GroupsWrite eq '') { + + $rec->set_prop('GroupsWrite', $Groups); + + } else { + + $rec->set_prop('GroupsWrite', $GroupsWrite); + + } + + if ($GroupsRead eq '') { + + $rec->set_prop('GroupsRead', $Groups); + + } else { + + $rec->set_prop('GroupsRead', $GroupsRead); + + } + + if ($UsersWrite eq '') { + + $rec->set_prop('UsersWrite', $Users); + + } else { + + $rec->set_prop('UsersWrite', $UsersWrite); + + } + + if ($UsersRead eq '') { + + $rec->set_prop('UsersRead', $Users); + + } else { + + $rec->set_prop('UserRead', $UsersRead); + + } }