ide router is non-greedy matching cannot match branch in some cases

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Ide router is like this /project/:namespace+/:project/:targetmode(edit|tree|blob)/:branchid+/-/*.

vue-router is non-greedy matching, so when the project blob path is 0912/bugbug/-/blob/master/blob/master/-/blob/master/-/test.java, the blob filepath is blob/master/-/blob/master/-/test.java,

the ide edit path is /-/ide/project/0912/bugbug/edit/master/-/blob/master/-/blob/master/-/test.java

then the ide router :branchid when match branch to master/-/blob/master/-/blob/master, while the real branch is master.


While, I found that the project ref information is parsed from the backend,Then the backend ref parsing also has the same problem.

Edited by 🤖 GitLab Bot 🤖