It's okay if Launchpad returns "No branch found" if the path specified doesn't match a branch exactly but contains more path elements - it's the fact that it silently ignores the suffix at the moment that's the problem.
Yeah, the XML/RPC nature was problematic - there was hacks in the HTTP code to make it work. The HTTP code in breezy is generally a large collection of workarounds on top of urllib, and everything that can be stripped away helps. Less baggage as we explore asyncio support is also helpful.
It's okay if Launchpad returns "No branch found" if the path specified doesn't match a branch exactly but contains more path elements - it's the fact that it silently ignores the suffix at the moment that's the problem.
Breezy already walks up the directory structure (trying lp:ubuntu-test-cases/testsuites/default, then lp:ubuntu-tests-cases/testsuites, then lp:ubuntu-test-cases) until it finds somewhere that has a branch.
Yeah, the XML/RPC nature was problematic - there was hacks in the HTTP code to make it work. The HTTP code in breezy is generally a large collection of workarounds on top of urllib, and everything that can be stripped away helps. Less baggage as we explore asyncio support is also helpful.