This command helps the user to bring back the commits to life with an explicit
command - wihtout the need to change working copy parent or create bookmarks.
Details
- Reviewers
durham kulshrax quark - Group Reviewers
Restricted Project - Commits
- rFBHGX338278622dce: fbamend: add unhide command for easy unhiding of commits
see test
Diff Detail
- Repository
- rFBHGX Facebook Mercurial Extensions
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
There are 2 concepts: visible, and obsolete. Is it intentionally to unobsolete commits? If not, I'd rather just change visibility while still making the commit obsoleted (via hiddenoverride, not inhibit), since that will not cause divergence (which could confuse auto rebase and make future workflows harder).
Per discussion internally, the local unhide/hide concepts could be too complicated and a common user won't be able to distinguish between unhide and revive/touch. So let's make unhide/touch the same thing then. We can revisit this later.
I was thinking something along the lines of hg hide --global REV and hg unhide --global REV for the "make this visible/invisible everywhere" idea.
I'm more concerned about the complexity here, both concept-wise and implementation-wise. I'm leaning towards global-by-default now.
I was thinking this way: what's the downside if we go the always-global approach? Unwanted divergence and unwanted strip of others' commits when exchanged. They seem easier to solve than the complexity of local hidden.