Mercurial > hg
view tests/test-rebase-parameters.out @ 10914:b7ca37b90762 stable
revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Previously, it only returned revisions that were in the revlog when it
was originally opened; revisions added since then were invisible.
This broke revlog._partialmatch() and therefore repo.lookup().
(Credit to Benoit Boissinot for simplifying my original test script
and for the actual fix.)
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Wed, 14 Apr 2010 15:06:40 -0400 |
parents | 86dc21148bdb |
children | b5c0f6a11430 |
line wrap: on
line source
% These fail % Use continue and abort hg rebase: cannot use both abort and continue hg rebase [-s REV | -b REV] [-d REV] [options] hg rebase {-a|-c} move changeset (and descendants) to a different branch Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing local changes relative to a master development tree. If you don't specify a destination changeset ("-d/--dest"), rebase uses the tipmost head of the current named branch as the destination. (The destination changeset is not modified by rebasing, but new changesets are added as its descendants.) You can specify which changesets to rebase in two ways: as a "source" changeset or as a "base" changeset. Both are shorthand for a topologically related set of changesets (the "source branch"). If you specify source ("-s/--source"), rebase will rebase that changeset and all of its descendants onto dest. If you specify base ("-b/--base"), rebase will select ancestors of base back to but not including the common ancestor with dest. Thus, "-b" is less precise but more convenient than "-s": you can specify any changeset in the source branch, and rebase will select the whole branch. If you specify neither "-s" nor "-b", rebase uses the parent of the working directory as the base. By default, rebase recreates the changesets in the source branch as descendants of dest and then destroys the originals. Use "--keep" to preserve the original source changesets. Some changesets in the source branch (e.g. merges from the destination branch) may be dropped if they no longer contribute any change. One result of the rules for selecting the destination changeset and source branch is that, unlike "merge", rebase will do nothing if you are at the latest (tipmost) head of a named branch with two heads. You need to explicitly specify source and/or destination (or "update" to the other head, if it's the head of the intended source branch). If a rebase is interrupted to manually resolve a merge, it can be continued with --continue/-c or aborted with --abort/-a. options: -s --source rebase from the specified changeset -b --base rebase from the base of the specified changeset (up to greatest common ancestor of base and dest) -d --dest rebase onto the specified changeset --collapse collapse the rebased changesets --keep keep original changesets --keepbranches keep original branch names --detach force detaching of source from its original branch -c --continue continue an interrupted rebase -a --abort abort an interrupted rebase --style display using template map file --template display with template use "hg -v help rebase" to show global options % Use continue and collapse hg rebase: cannot use collapse with continue or abort hg rebase [-s REV | -b REV] [-d REV] [options] hg rebase {-a|-c} move changeset (and descendants) to a different branch Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing local changes relative to a master development tree. If you don't specify a destination changeset ("-d/--dest"), rebase uses the tipmost head of the current named branch as the destination. (The destination changeset is not modified by rebasing, but new changesets are added as its descendants.) You can specify which changesets to rebase in two ways: as a "source" changeset or as a "base" changeset. Both are shorthand for a topologically related set of changesets (the "source branch"). If you specify source ("-s/--source"), rebase will rebase that changeset and all of its descendants onto dest. If you specify base ("-b/--base"), rebase will select ancestors of base back to but not including the common ancestor with dest. Thus, "-b" is less precise but more convenient than "-s": you can specify any changeset in the source branch, and rebase will select the whole branch. If you specify neither "-s" nor "-b", rebase uses the parent of the working directory as the base. By default, rebase recreates the changesets in the source branch as descendants of dest and then destroys the originals. Use "--keep" to preserve the original source changesets. Some changesets in the source branch (e.g. merges from the destination branch) may be dropped if they no longer contribute any change. One result of the rules for selecting the destination changeset and source branch is that, unlike "merge", rebase will do nothing if you are at the latest (tipmost) head of a named branch with two heads. You need to explicitly specify source and/or destination (or "update" to the other head, if it's the head of the intended source branch). If a rebase is interrupted to manually resolve a merge, it can be continued with --continue/-c or aborted with --abort/-a. options: -s --source rebase from the specified changeset -b --base rebase from the base of the specified changeset (up to greatest common ancestor of base and dest) -d --dest rebase onto the specified changeset --collapse collapse the rebased changesets --keep keep original changesets --keepbranches keep original branch names --detach force detaching of source from its original branch -c --continue continue an interrupted rebase -a --abort abort an interrupted rebase --style display using template map file --template display with template use "hg -v help rebase" to show global options % Use continue/abort and dest/source hg rebase: abort and continue do not allow specifying revisions hg rebase [-s REV | -b REV] [-d REV] [options] hg rebase {-a|-c} move changeset (and descendants) to a different branch Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing local changes relative to a master development tree. If you don't specify a destination changeset ("-d/--dest"), rebase uses the tipmost head of the current named branch as the destination. (The destination changeset is not modified by rebasing, but new changesets are added as its descendants.) You can specify which changesets to rebase in two ways: as a "source" changeset or as a "base" changeset. Both are shorthand for a topologically related set of changesets (the "source branch"). If you specify source ("-s/--source"), rebase will rebase that changeset and all of its descendants onto dest. If you specify base ("-b/--base"), rebase will select ancestors of base back to but not including the common ancestor with dest. Thus, "-b" is less precise but more convenient than "-s": you can specify any changeset in the source branch, and rebase will select the whole branch. If you specify neither "-s" nor "-b", rebase uses the parent of the working directory as the base. By default, rebase recreates the changesets in the source branch as descendants of dest and then destroys the originals. Use "--keep" to preserve the original source changesets. Some changesets in the source branch (e.g. merges from the destination branch) may be dropped if they no longer contribute any change. One result of the rules for selecting the destination changeset and source branch is that, unlike "merge", rebase will do nothing if you are at the latest (tipmost) head of a named branch with two heads. You need to explicitly specify source and/or destination (or "update" to the other head, if it's the head of the intended source branch). If a rebase is interrupted to manually resolve a merge, it can be continued with --continue/-c or aborted with --abort/-a. options: -s --source rebase from the specified changeset -b --base rebase from the base of the specified changeset (up to greatest common ancestor of base and dest) -d --dest rebase onto the specified changeset --collapse collapse the rebased changesets --keep keep original changesets --keepbranches keep original branch names --detach force detaching of source from its original branch -c --continue continue an interrupted rebase -a --abort abort an interrupted rebase --style display using template map file --template display with template use "hg -v help rebase" to show global options % Use source and base hg rebase: cannot specify both a revision and a base hg rebase [-s REV | -b REV] [-d REV] [options] hg rebase {-a|-c} move changeset (and descendants) to a different branch Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing local changes relative to a master development tree. If you don't specify a destination changeset ("-d/--dest"), rebase uses the tipmost head of the current named branch as the destination. (The destination changeset is not modified by rebasing, but new changesets are added as its descendants.) You can specify which changesets to rebase in two ways: as a "source" changeset or as a "base" changeset. Both are shorthand for a topologically related set of changesets (the "source branch"). If you specify source ("-s/--source"), rebase will rebase that changeset and all of its descendants onto dest. If you specify base ("-b/--base"), rebase will select ancestors of base back to but not including the common ancestor with dest. Thus, "-b" is less precise but more convenient than "-s": you can specify any changeset in the source branch, and rebase will select the whole branch. If you specify neither "-s" nor "-b", rebase uses the parent of the working directory as the base. By default, rebase recreates the changesets in the source branch as descendants of dest and then destroys the originals. Use "--keep" to preserve the original source changesets. Some changesets in the source branch (e.g. merges from the destination branch) may be dropped if they no longer contribute any change. One result of the rules for selecting the destination changeset and source branch is that, unlike "merge", rebase will do nothing if you are at the latest (tipmost) head of a named branch with two heads. You need to explicitly specify source and/or destination (or "update" to the other head, if it's the head of the intended source branch). If a rebase is interrupted to manually resolve a merge, it can be continued with --continue/-c or aborted with --abort/-a. options: -s --source rebase from the specified changeset -b --base rebase from the base of the specified changeset (up to greatest common ancestor of base and dest) -d --dest rebase onto the specified changeset --collapse collapse the rebased changesets --keep keep original changesets --keepbranches keep original branch names --detach force detaching of source from its original branch -c --continue continue an interrupted rebase -a --abort abort an interrupted rebase --style display using template map file --template display with template use "hg -v help rebase" to show global options % Rebase with no arguments - from current nothing to rebase % Rebase with no arguments - from the current branch 0 files updated, 0 files merged, 1 files removed, 0 files unresolved nothing to rebase % ---------- % These work % Rebase with no arguments (from 3 onto 7) 3 files updated, 0 files merged, 2 files removed, 0 files unresolved saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files rebase completed % Try to rollback after a rebase (fail) no rollback information available % Rebase with base == '.' => same as no arguments (from 3 onto 7) 3 files updated, 0 files merged, 3 files removed, 0 files unresolved saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files rebase completed % Rebase with dest == default => same as no arguments (from 3 onto 7) 3 files updated, 0 files merged, 3 files removed, 0 files unresolved saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files rebase completed % Specify only source (from 4 onto 7) saving bundle to adding branch adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 4 files (-1 heads) rebase completed % Specify only dest (from 3 onto 6) 3 files updated, 0 files merged, 3 files removed, 0 files unresolved saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files (+1 heads) rebase completed % Specify only base (from 3 onto 7) saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files rebase completed % Specify source and dest (from 4 onto 6) saving bundle to adding branch adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 4 files rebase completed % Specify base and dest (from 3 onto 6) saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files (+1 heads) rebase completed