2.0.0 is a major release of mozregression, as we changed the bisection flow based on ideas in the post I wrote a couple of weeks ago.
Now mozregression will automatically detect a merge commit, and switch to bisect in the branch where the merged commits comes from. So mozilla-inbound is no longer the default for Firefox when bisecting by date is done, since there is no default now.
Based on that, we have been able to simplify the overall usage of mozregression:
-
removed the --inbound-branch option. Just use --repo now when you want to specify a branch, no matter if it is an integration or a release branch.
-
allowed to bisect using dates on an integration branch
-
removed the --good-rev, --bad-rev, --good-release and --bad-release options. Just use --good and --bad for everything now, being a date, a changeset, a release number or a build id.
-
added some aliases for the branch names: you can use m-i, inbound or mozilla-inbound to describe the same branch - another example, m-c, central and mozilla-central are equivalent.
-
mozregression is smarter to let you test builds with a specific flavor, e.g. debug builds.
Those changes adds some new possibilities to bisect which were not available before, like bisecting using changesets on mozilla-central, only specify a good changeset (the bad changeset will be implied, and will be the most recent one).
Some examples:
Just keep in mind that when you use a changeset, the default branch will be the default integration branch for the application instead of the release branch. For firefox, mozilla-inbound will be the default when you use a changeset, and mozilla-central will be used otherwise. This is historical and we may change that in the future - for now just keep that in mind, or always specify a branch to be sure.
See Bugs 1095058, 1210013, 1225544, 1228951, 1225541 and 1228857 for a description of technical implementation.