base_url was always non-nil so checking it makes no sense. Order userlists before local scripts and run user.lua as the last one.
Drop revision and serial specific lists. They are not used and the same thing can be achieved with just a simple if statement.