Please add a command to view the contents of a bundle. Often I create a bundle (e.g. because I do not have write access to the upstream repository) and need to verify that it really contains all the revisions upstream needs to apply it. So after running "hg bundle mybundle.hg", I would like to have a look into it to compare the list of revisions with the ones I see in the log of my repository. I have the complete repository available, hence there should be no problem to uncompress the bundle. However having all revisions available makes commands like "hg incoming mybundle.hg" or "hg -R mybundle.hg log", because they show either nothing, or the complete history. I want to see exclusively the contents of the bundle.
It can be done with hg log -r "not :`hg id -q -r tip`" -R bundle.hg but it would convenient to have a way to specify the revision before/after the bundle starts.
(In reply to comment #1) I do not think it does the right job. In my case it outputs nothing. id -r tip gives the revision of the tip? log -r "not : REV" stops output when it encounters REV? What if bundle contains tip? Could even be the topmost revision in bundle (nothing would be output) or a lower revision (not all contained revisions would be listed). # hg log -r "not :`hg id -q -r tip default`" -R bundle.hg This command would be more helpful, but would again not be exact: It would still not list all revisions in the bundle - only those which are missing upstream.
Fixed by http://selenic.com/repo/hg/rev/03e552aaae67 Tomasz Kleczek <tkleczek@fb.com> bundle: add revset expression to show bundle contents (issue3487) bundle() revset expression returns all changes that are present in the bundle file (no matter whether they are in the repo or not). Bundle file should be specified via -R option. (please test the fix)