Feature - Implemented Request for a better SVN error message

Magus_Prime

Well-known member
With r25711, and presumably earlier builds, I got an error this morning with I entered the following command in the gCLI:
svn update
After polling all installed scripts this happened:
Updating all SVN projects...
Validating repo...
The requested repo failed validation. Complain to the script's author.
Done.
Is there any, reasonable, way to display a more helpful error? Could it include the name of the repo or the script name?

In this case by scrolling back through the list of polled repos I can see that it was
Loathing-Associates-Scripting-Society-autoscend-branches-master-RELEASE needs updating from (r4323) to (r4344)

Thank you for your consideration.
 

fronobulax

Developer
Staff member
I'm having a sense of deja vu and I think the presence of the other log message was considered enough to point a user in the right direction.

AFAIK the message can be triggered when the author of a script does something in the remote repo that KoLmafia does not like OR it can be triggered when there is something wrong with the local copy of the remote repo. The local fix would be to uninstall and reinstall or perhaps manually delete the svn subdirectory and reinstall. Otherwise it really is the script author's problem.

I can certainly find something to add to the message that might point to the problem. But at this point I am not sure if it will be the name of the remote repo or the local repo. In the possibility of multiple errors it may be only the "last" error.

If you don't hear something in a day or two, remind me. I am still adjusting my dev environment and my workflows to deal with git, GitHub and gradle. In the meantime, take the extra step and scan the log.
 

MCroft

Developer
Staff member
With r25711, and presumably earlier builds, I got an error this morning with I entered the following command in the gCLI:

After polling all installed scripts this happened:

Is there any, reasonable, way to display a more helpful error? Could it include the name of the repo or the script name?

In this case by scrolling back through the list of polled repos I can see that it was
So, this comes up pretty frequently on the Autoscend Discord (and they have pinned messages on how to deal with it).

The problem is that
1: GitHub SVN support has been broken for 9 years that I can prove via the web.
2: Autoscend wants to do things that GitHub has failed to fix for at least 9 years.
3: KoLmafia's error handling doesn't consider that SVN can fail because the repo intermittently fails to return required fields. Since it's a spec violation, the behavior of clients is undefined. Some throw errors. Some fail but report success, some do either, depending on the weather.

You can go to The Autoscend Support Server and read the pinned messages in the autoscend channel, or you can just retry if you see that error message. That may need to happen multiple times to succeed.
 

Magus_Prime

Well-known member
I understand why what happened did so. I was simply hoping that a more informative error message might be possible.
 

fronobulax

Developer
Staff member
I understand why what happened did so. I was simply hoping that a more informative error message might be possible.

You wouldn't need a better error message if other parties would get their acts together.

You wouldn't need a better error message if you chose to look at more of the log.

:)

Nevertheless, I agree with you that there is no reason not to identify which repo caused the error and do so in that message, so adding some kind of identifier is on my list. In the time of SVN/SourceForge it would have been submitted by now but I am still tweaking my environment and learning new tools and am not yet comfortable with having multiple pending code changes.
 

MCroft

Developer
Staff member
You wouldn't need a better error message if other parties would get their acts together.
I, for one, don't have my act together on this one. My act being "finish my half-done JGit integration so we don't have to use SVN for a GIT repo".

But I can now put that on a branch in git and get other eyes on it, so perhaps progress will be made soon.
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
I, for one, don't have my act together on this one. My act being "finish my half-done JGit integration so we don't have to use SVN for a GIT repo".

But I can now put that on a branch in git and get other eyes on it, so perhaps progress will be made soon.
Hooray!
 

fronobulax

Developer
Staff member
I, for one, don't have my act together on this one. My act being "finish my half-done JGit integration so we don't have to use SVN for a GIT repo".

But I can now put that on a branch in git and get other eyes on it, so perhaps progress will be made soon.
You weren't one of the other parties I had in mind, but yeah...

Tangentially there is either a flurry of dev activity now, not all of which is due to infrastructure changes, or the activity is much more visible on GitHub. That would seem to be A Good Thing for KoLmafia.
 

fronobulax

Developer
Staff member
Submitted a pull request. Added repo.getPath() to message and removed "Complain to" since some of the causes of the error are not under the author's control (although some are).
 
Top