Shelve is not aware of dirty subrepos

Angel Ezquerra avatarAngel Ezquerra created an issue

I just noticed that if you try to merge with a dirty subrepository, the merge dialog has the merge button and tells you that there are local changes and that you can merge, shelve or discard those changes.

If you open the shelve, you will only see the changes to the top repo, but there is no mention of the dirty subrepo.

Even if shelve does not (yet?) support subrepos, the fact that the dirty subrepos are not at least mentioned is confusing. You can shelve all the local changes that you see on the shelve dialog, but when you close the dialog and go back to the merge dialog its merge button is still disabled, which seems like a bug until you notice that there is indeed a dirty subrepo.

Comments (1)

  1. Steve Borho
    • changed status to open

    Shelve's file list model is completely unaware of subrepos. Perhaps the shelve tool shouldn't be reusing the same model as revdetails, since it always displays a patchctx or a workingctx.

    We'll need a coherent subrepo support plan sometime soon.

  2. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.