On Thu, Jun 25, 2026, 23:02 Nick Tarallo <[email protected]> wrote:

> Hi everyone,
>
> Just following up on this to see if anybody has any insight into this
> issue and whether it is a bug or not. Workaround suggestions would
> also be appreciated.
>

Hello Nick,

I've not had a chance to look at this one but if you have time to create a
PR, that would be great.

Gary

>
> Thanks again,
> Nick
>
> On Wed, Jun 17, 2026 at 7:57 PM Nick Tarallo <[email protected]>
> wrote:
> >
> > Hello,
> >
> > I have encountered a possible regression between VFS 2.9.0 and 2.10.0
> > related to file path encoding.
> >
> > I would expect resolving a file from a URL and then resolving the URL
> > returned by getURL() to preserve the same path, but that does not
> > appear to happen in 2.10.0. The following test case from my project
> > passes with 2.9.0 but fails with 2.10.0:
> >
> > @Test
> > public void vfsGetUrlRoundTripIdentity() throws Exception {
> >    Path tmp = Files.createTempDirectory("vfs-roundtrip");
> >    try {
> >       Path child = tmp.resolve("outside%text[inside%text]tail");
> >       Files.createDirectories(child);
> >
> >       FileSystemManager mgr = VFS.getManager();
> >       FileObject a = mgr.resolveFile(child.toUri().toString());
> >       FileObject b = mgr.resolveFile(a.getURL().toString());
> >
> >       assertEquals(a.getName().getPath(), b.getName().getPath());
> >    } finally {
> >       FileUtils.deleteDirectory(tmp.toFile());
> >    }
> > }
> >
> > The assertion failure is:
> >
> > Expected:
> > .../outside%25text[inside%25text]tail
> >
> > Actual:
> > .../outside%25text[inside%2525text]tail
> >
> > I noticed that URIParser.decode() changed in PR #438 [1], and I am
> > wondering whether the behavior could be related to that change. It
> > appears that content inside brackets is treated specially to avoid
> > decoding IPv6 hosts, but I am not sure whether that logic should apply
> > to local file paths.
> >
> > Is this expected behavior, or does it sound like a regression?
> >
> > Thanks,
> > Nick
> >
> > [1]
> https://github.com/apache/commons-vfs/pull/438/changes#diff-731c9fd149c7d934456163a6eb8c1afebc6be0669986e8ccf5092f164ea0cd30R166
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to