opengrok icon indicating copy to clipboard operation
opengrok copied to clipboard

OpenGrok returns "File Not Found" on deleted files even with a revision

Open cesar-d2l opened this issue 1 year ago • 1 comments

Describe the bug In our docs, we often link to opengrok files with the revision number, for example: /xref/test/somefile.sql?r=2766bdc195f0ae5daa0756aa64b2cd0c63d9ce32

In the main branch, somefile.sql has been deleted (or more often, moved/renamed). So we always get a "Error: File not found!". However, at that revision, that file does exist. git show 2766bdc195f0ae5daa0756aa64b2cd0c63d9ce32 -- somefile.sql does return a result.

I apologize in advance, I'm 90% sure this bug has been reported somewhere but I just can't find it :(

Environment:

  • OpenGrok 1.13.17
  • Tomcat 10.1.26
  • OpenJdk 11.0.24 (Amazon Corretto)
  • Amazon Linux 2

To Reproduce

  1. Create a test repo and add a file
  2. Index the repo, and in the UI navigate to that file
  3. Delete the file in step 1 and re-index
  4. Refresh the page

Expected behavior The web browser shows the file at that revision

cesar-d2l avatar Aug 23 '24 17:08 cesar-d2l

I don't think this has ever been supported. The webapp allows only files that are currently present to be handed back. The check in https://github.com/oracle/opengrok/blob/f79db409d75bcf91ceab9ed0e9dcbfcde691d838/opengrok-web/src/main/java/org/opengrok/web/PageConfig.java#L1144 will propagate to https://github.com/oracle/opengrok/blob/f79db409d75bcf91ceab9ed0e9dcbfcde691d838/opengrok-web/src/main/webapp/mast.jsp#L50

I'd have to think about the implications of relaxing this check.

vladak avatar Aug 28 '24 15:08 vladak