there’re 2 situations.
Situation 1. You change the URL to basically the same directory of the same repository. I mean, you change protocol, e.g. http->https, file:/// -> svn:// , etc.; or you change domain http://server -> http://new-name-of-the-server, or you change port: svn://server -> svn://server:another_port . But it is the same repository and the same directory in a sense that if you run “svn ls” and “svn log -v” or any other SVN command on the old URL and the new URL, you’ll get identical results.
In this case you can change the URL freely, just run “subgit install” to apply the change and the change is applied nearly immediately.
Situation 2. You change the URL to point to absolutely different repository or to absolutely different directory of the same repository. Example: http://server/path/to/project1 -> http://server/path/to/project2 OR svn://project1/ -> svn://project2/
This change is not allowed and will eventually lead to failure and unexpected errors afterwards. But SubGit doesn’t distinguish between situations 1 and 2 as it doesn’t run any check except UUID check (which is not enough if you change the path of the URL to an unrelated directory). So SubGit trusts that you won’t change the URL to something weird.
So the change is applied nearly immediately.