Permalink
Commits on Sep 19, 2017
  1. Add missing `--add`.

    theory committed Sep 19, 2017
Commits on Sep 9, 2017
  1. Read MySQL username from my.cnf, too.

    theory committed Sep 9, 2017
    Resolves #353.
Commits on Jul 21, 2017
  1. Convert Postgres float to text.

    theory committed Jul 21, 2017
    On 32-bit Perls, I'm guessing, selecting a REAL column causes the DBI to read
    the value in and load it into a float. This has the effect of truncating the
    value, at least some of the time. To whit, issue #343 reports that it was
    getting back `1` instead of `1.1`. So fix by casting to text before returning
    it to the DBI. Resolves #343.
Commits on Jul 19, 2017
  1. Update RPM dependencies for v0.9996.

    theory committed Jul 19, 2017
    And fix broken RPM spec changelog dates.
  2. Vary Postgres database names on each test run.

    theory committed Jul 19, 2017
    To try to avoid cpantester test failures that appear to come from multiple tests
    running at the same time on a single box.
Commits on Jul 18, 2017
  1. Vary MySQL database names on each test run.

    theory committed Jul 18, 2017
    To try to avoid cpantester test failures that appear to come from multiple tests
    running at the same time on a single box.
  2. Fix Windows test failure.

    theory committed Jul 18, 2017
Commits on Jul 17, 2017
  1. Note Firebird fix.

    theory committed Jul 17, 2017
  2. Fix failing Firebird test.

    theory committed Jul 17, 2017
    Hopefully, anyway. Overlooked that it was
    using this `FIRST 1` syntax to limite the number of rows. So remove it to
    let it return all the rows as now required by need to show tag-qualified
    change names.
  3. Forgot to record PR #332 in Changes

    theory committed Jul 17, 2017
  4. Increment to v0.9997.

    theory committed Jul 17, 2017
  5. Timestamp v0.9996.

    theory committed Jul 17, 2017
  6. Document format_tag_qualified_name.

    theory committed Jul 17, 2017
    And fix a Pod error in Engine.
  7. Update l10n libraries.

    theory committed Jul 17, 2017
  8. Edit Changes.

    theory committed Jul 17, 2017
  9. Eliminate database error on missing registry.

    theory committed Jul 17, 2017
    Revert already did the right thing; now verify does, too.
  10. Improve error output of ambiguous change name.

    theory committed Jul 17, 2017
    Previously, when a change was found more than once in a plan file, the error
    returned was simply "Key at multiple indexes". Teach it instead to report that
    the change is ambiguous, and list the tag-qualified alternates the user should
    use, instead. This matches exactly the output for an ambiguous change looked
    up in the database as added in 53f1281. Now that we get the same behavior for
    plan lookups, ambiguous specifications should be more informative for all
    commands, including `deploy`, `show`, and the rest.
  11. Look change up in planf first.

    theory committed Jul 17, 2017
    Handle listing ambiguous change options in a single method, and have it look
    for changes in the plan before looking in the database, so we can avoid the
    query overhead most of the time. Requires a new method on Change,
    `format_tag_qualified_name`.
Commits on Jul 14, 2017
  1. Die on ambiguous change argument.

    theory committed Jul 14, 2017
    Alternate fix to #312. Applies to `revert` and `verify`. When a change is
    specified by name only and the change appears in the database more than once
    (becuase it has been reworked), instead of picking the first or last instance
    (as was done in 806d633), raise an error, instead. When doing so, emit a
    message telling the user that the change was ambiguous, and list all the
    alternates with proper tag-qualification. This is done in change_id_for(),
    which is now documented to rais an error on ambiguous changes. The emitted
    name and tag are looked up in the database via the existing
    `name_for_change_id` engine method. It looks like this method wasn't actually
    being used anywhere, so also modify it to append `@HEAD` when appropriate.
    
    Naturally, revert most of the work that went into 806d633a. Also fix a bug
    in `revert` where it returned an error for duplicate change names in the
    plan when it found nothing in the database. Done by changing `$plan->get`
    to `$plan->find`.
Commits on Jul 13, 2017
  1. Add --target option to show.

    theory committed Jul 13, 2017
    Ref #324.
  2. Teach status to properly handle target params.

    theory committed Jul 13, 2017
  3. Sync target handling for log, upgrade, and plan commands.

    theory committed Jul 13, 2017
    The plan command had no such support, previously, while the `log` and
    `upgrade` commands ignored plan file and engine parameters, contrary to their
    documentation. Resolves #324.
    
    Also, changed the searching of targets for a plan file parameter to load all
    targets from all configs, not just the local config file. This is to better
    support folks who have config files in parent directories, like some
    complicated projects that use directory hierarchies for nested local
    configurations.
  4. Make --change first.

    theory committed Jul 13, 2017
    Also, h/t @jhannah.
  5. Don't die when default target plan file doesn't exist.

    theory committed Jul 13, 2017
    When parsing arguments, that is. Particularly important when the default
    target and/or default plan file (sqitch.plan) doesn't exist. Resolves #324.
  6. Tweak revert and verify change searches.

    theory committed Jul 13, 2017
    If change "foo" is reworked, and one says `revert --to foo`, does one want to
    revert to the the most recent version of "foo", or to the earlist version of
    "foo"? Sqitch has traditionally assumed the latter; this change implements
    the former, and does the same for the `--to` option to `verify`.
    
    This might be a bit controversial, however, because some folks might decide
    the latter is the more expected case (especially since, if you really want the
    latest version you can say `revert --to foo@HEAD`). So this change may well
    get reversed pending consensus from the community.
    
    Meanwhile, I also noticed that changes specified as "HEAD" or "ROOT" which are
    supposed to be aliases for "@HEAD" and "@ROOT" since v0.991, does not actually
    work. This change fixes this issue, as well. This fix likely won't be
    reverted, because frankly it has annoyed me for quite some time.
Commits on Jul 12, 2017
  1. Apply --db-* options to URI targets.

    theory committed Jul 12, 2017
    Previously we applied them to named targets, but ignored them for URI targets.
    So be more consistent and try to treat both the same. Resolves #293.
  2. Remove extra lines.

    theory committed Jul 12, 2017
  3. Only keep default target if no other target.

    theory committed Jul 12, 2017
    Fixes an issue where, when specifying both a change name and a target, the
    target is ignored in favor of the default target. Resolves #281.
Commits on May 26, 2017
  1. Disable the blead build for now.

    theory committed May 26, 2017
    Until the travis-perl helper gets fixed.
  2. Fix YAML typo.

    theory committed May 26, 2017
  3. Merge pull request #332 from perigrin/allow-moosification-if-neccessary

    theory committed on GitHub May 26, 2017
    Remove `no Moo::sification;`
    
    Instead, add a test to ensure that no part of Sqitch loads Moose.
Commits on May 25, 2017
  1. Turn on travis-perl debugging for blead.

    theory committed May 25, 2017
  2. Try installing gettext.

    theory committed May 25, 2017
  3. Improve PostgreSQL version detection.

    theory committed May 25, 2017
    We only do it when deploying the registry, so it's cheap to just fetch it from
    the server as an integer rather than parse the version string from the output
    of `psql --version`. It's cleaner, and it avoids issues where the client
    version is higher than the server, which could result in sending unsupported
    SQL to older versions of Postgres.