Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge history from zoneinfo-parse before fork #13

Closed
wants to merge 73 commits into from
Closed

Commits on Sep 26, 2015

  1. Initial commit

    ogham committed Sep 26, 2015
    Configuration menu
    Copy the full SHA
    26608e4 View commit details
    Browse the repository at this point in the history
  2. Add Travis integ.

    ogham committed Sep 26, 2015
    Configuration menu
    Copy the full SHA
    78d70de View commit details
    Browse the repository at this point in the history
  3. Fix bug a test found

    The equals signs are included in the day-of-transition capture sign.
    ogham committed Sep 26, 2015
    Configuration menu
    Copy the full SHA
    0fcafc8 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2015

  1. Tests and bug fixes

    ogham committed Sep 27, 2015
    Configuration menu
    Copy the full SHA
    1608579 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b145175 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c6f60a3 View commit details
    Browse the repository at this point in the history
  4. Badges badges badges

    ogham committed Sep 27, 2015
    Configuration menu
    Copy the full SHA
    6c50d76 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2015

  1. Separate time specs and their types

    Not all time specs need to have a time type associated with them - only one particular kind. This commit mandates that, by removing the type from the struct.
    
    Also, rename RulesSave to Saving, which is what it's being called everywhere else.
    ogham committed Oct 1, 2015
    Configuration menu
    Copy the full SHA
    5a05c64 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2015

  1. Rename to zoneinfo-parse

    ogham committed Oct 13, 2015
    Configuration menu
    Copy the full SHA
    0917919 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    01b0e42 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2015

  1. Add proper transition calculation

    This code uses an algorithm cribbed from the C examples in the tzinfo database itself, so they're actually more correct than whatever I was using!
    
    - Rename GMT to UTC wherever it's used. It means pretty much the same, but is more modern (I hope this commit message isn't used to make fun of me in the future)
    - Use the Time Type enum in datetime - there's no point having two of them.
    - Add a lookup function in the data crate.
    ogham committed Oct 27, 2015
    Configuration menu
    Copy the full SHA
    65a9d15 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0228da8 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2015

  1. Parse formatting strings beforehand

    This introduces a Format enum, which parses the formats beforehand, and figures out which to use based on that. It still panicks, though.
    ogham committed Oct 28, 2015
    Configuration menu
    Copy the full SHA
    e93c720 View commit details
    Browse the repository at this point in the history
  2. Sort timezones alphabetically in the main module

    This makes it easier to test whether things have changed between crate compilations.
    ogham committed Oct 28, 2015
    Configuration menu
    Copy the full SHA
    7d4a8be View commit details
    Browse the repository at this point in the history
  3. Fix tests

    Add a test for the transition-optimisation function, which uses some of the Antarctica/Macquarie rules. However, fix all the other tests to get it to compile at all!
    
    - I had to replace some of the end times (123456 and 234567) with their ZoneTime equivalent.
    - This required some of the fields for the spec structs in line.rs to be made public.
    ogham committed Oct 28, 2015
    Configuration menu
    Copy the full SHA
    db97b57 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2015

  1. Remove unwraps in optimise

    This makes the code more Rustful, and has no changes to the resulting output.
    ogham committed Oct 29, 2015
    Configuration menu
    Copy the full SHA
    a1b868e View commit details
    Browse the repository at this point in the history
  2. Disable unused_results lint in tests code

    This makes it compile without warnings again!
    ogham committed Oct 29, 2015
    Configuration menu
    Copy the full SHA
    30fa66c View commit details
    Browse the repository at this point in the history
  3. Remove linker error workaround

    The error in question appears to have gone away! Current version:
    
    rustc 1.5.0-nightly (95fb8d1c8 2015-10-27)
    ogham committed Oct 29, 2015
    Configuration menu
    Copy the full SHA
    6d602a2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2679f0d View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2015

  1. Store only the total offset in a transition

    Commit 2551f9224a1c188cc7f963f504b27c8cea4d92ae to datetime changes the Transition struct to only have one offset field, rather than two. This commit changes the data crate builder to use the new version of the struct.
    
    Also, work around a linker error that I'm not even sure why I'm getting.
    ogham committed Oct 30, 2015
    Configuration menu
    Copy the full SHA
    757b16f View commit details
    Browse the repository at this point in the history
  2. Write the operation to the data crate, too

    This makes it easier to see how the consolidated offset was produced.
    ogham committed Oct 30, 2015
    Configuration menu
    Copy the full SHA
    609f69c View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2015

  1. Replace optional transition times with fixed time

    This marks a change to the way transition data was calculated and stored.
    
    Previously, each timespan—a period of consistent time zone name, GMT offset, and DST offset—was stored as a transition with an optional timestamp at which the transition occurs. This doesn’t solve the problem of what the time details should be *before* the first transition has occurred, which is why the timestamp was optional: the first period would simply have a `None` timestamp.
    
    This approach had problems, namely:
    
    1. It was possible to have multiple `None` timestamps, which would confuse the datetime calculator;
    2. It was not only possible but actually manifest to have time zones with *zero* `None` timestamps, which would also confuse the datetime calculator.
    
    To remove the possibility of having invalid data, each time zone now has one fixed “ante” period, and at least zero transitions, each of which now has a non-Optional timestamp.
    
    It’s a rather simple change, but most of the terminology has been updated to reflect this—Transition to ZoneDetails, among other structs—which is where most of the lines in the diff come from.
    
    The only time zones that change in zoneinfo-data are the “fixed” ones like CET or EST5EDT.
    ogham committed Nov 5, 2015
    Configuration menu
    Copy the full SHA
    74f69f6 View commit details
    Browse the repository at this point in the history
  2. Optimise optimisation routine

    This uses the PartialEq implementation on ZoneDetails to simplify some of the code, which was getting rather repetitive.
    ogham committed Nov 5, 2015
    Configuration menu
    Copy the full SHA
    dff66d4 View commit details
    Browse the repository at this point in the history
  3. Adapt the data crate builder to use ZoneSet

    build-data-crate.rs now uses the new ZoneSet instead of Transition, which is great because Transition doesn't exist anymore.
    
    See 74f69f6 for more information on why this is necessary.
    ogham committed Nov 5, 2015
    Configuration menu
    Copy the full SHA
    1167868 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2015

  1. Naming updates from datetime

    ZoneDetails to FixedTimespan, and ZoneSet to FixedTimespanSet. Also, add the transition instant time for clarity.
    ogham committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    47b056f View commit details
    Browse the repository at this point in the history
  2. Module updates from datetime

    Many types have been moved to the root of the crate, with others (such as TimeType) accessible from a different module now.
    
    See datetime@b86a5752678d2cf410b37c909309138895a61f8a for the commit that necessitated. this.
    ogham committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    b3f5a91 View commit details
    Browse the repository at this point in the history
  3. Fix lookup function's lifetime

    The ‘get’ function (that *will* be in the data crate’s root) was confused over the elided lifetimes of the ‘lookup’ function (in the data module). Adding an explicit 'static fixes this.
    ogham committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    4eac23f View commit details
    Browse the repository at this point in the history
  4. Simple whitespace changes

    ogham committed Nov 11, 2015
    Configuration menu
    Copy the full SHA
    de220c7 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2015

  1. Configuration menu
    Copy the full SHA
    e5cbf7f View commit details
    Browse the repository at this point in the history
  2. Fix tests for Travis

    - Update nomenclature in test code (FixedTimespan, FixedTimespanSet, no more Transition)
    - Add local mean times to the rules tests to make them stop failing (it’ll never be valid to have a time zone that *begins* with a rule—it should always have a local mean time first!)
    - Removed the only feature flag to remove dependence on Rust Nightly
    ogham committed Nov 12, 2015
    Configuration menu
    Copy the full SHA
    0ec5b77 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2015

  1. Comment improvements

    ogham committed Nov 13, 2015
    Configuration menu
    Copy the full SHA
    12277b7 View commit details
    Browse the repository at this point in the history
  2. Inline the Ruleset and Zoneset structs

    Although I’d usually be for encapsulating behaviour like this, there’s a lot of surrounding code in this module, and they just kind of get lost in the noise. Plus, this makes the structure of the Table type a bit more clear.
    ogham committed Nov 13, 2015
    Configuration menu
    Copy the full SHA
    0fe5a61 View commit details
    Browse the repository at this point in the history
  3. Include linked timezones in the data

    The timezone data crate now contains *all* the timezones, rather than just the ones listed in the zoneinfo files.
    
    This completes the timezone data. All that’s left to do is the geolocation stuff.
    ogham committed Nov 13, 2015
    Configuration menu
    Copy the full SHA
    d06474a View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2015

  1. Use new date iterators

    See datetime@edb41e214d784cb59dca683029fe3867ebe11d50 for the change that broke the old code.
    ogham committed Nov 17, 2015
    Configuration menu
    Copy the full SHA
    9ed0678 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2015

  1. Rename TimeZone -> StaticTimeZone

    Commit datetime@e6012ba003a8f5949510dea0f9ff334234202b07 caused this. All the time zones we want to build are static (available throughout the program).
    ogham committed Nov 18, 2015
    Configuration menu
    Copy the full SHA
    34c9883 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2015

  1. Misc clippy improvements

    - to_string -> to_owned
    - Eliminate redundant closures and bindings
    - More easily clone a vector
    ogham committed Nov 24, 2015
    Configuration menu
    Copy the full SHA
    54c7263 View commit details
    Browse the repository at this point in the history
  2. Impl Error for any error types

    ...and print them out all in one go, rather than as they occur. This is work towards making the library more error-tolerant.
    ogham committed Nov 24, 2015
    Configuration menu
    Copy the full SHA
    00c2ab9 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2015

  1. extract transition-making logic to its own module

    This separates the table module, which deals with table *construction*, and the transitions module, which deals with table *examination*.
    
    Casualties include the missing_docs lint, which had to go as I had to make lots of stuff public, and a few re-exports in lib.
    ogham committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    0a0d8a5 View commit details
    Browse the repository at this point in the history
  2. Documentation improvements

    ogham committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    6a02d20 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2015

  1. Fix the data crate's comments' timestamps' formats

    Attack of the killer apostrophes!
    
    The explanatory timestamps in the comments had the wrong number months, and this way we can use the new ISO formatting that the datetime crate provides.
    ogham committed Dec 5, 2015
    Configuration menu
    Copy the full SHA
    d2c8160 View commit details
    Browse the repository at this point in the history
  2. Begin refactoring the builder code into methods

    This moves most of the 'convert this time zone into a list of timespans' code to a new Builder type.
    
    The refactoring isn't yet complete, hopefully obviously, but it's at a stable point when it compiles and the data crate output is not modified.
    
    It highlights how many of the variables being changed on each iteration are only important for one or the other Saving variant. It also combines the code for the NoSaving and Fixed variants, as they differed only by one variable.
    
    Next steps include fixing some of the warnings and getting rid of more per-iteration variables.
    ogham committed Dec 5, 2015
    Configuration menu
    Copy the full SHA
    853f280 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aca6899 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2016

  1. Configuration menu
    Copy the full SHA
    64c6a44 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2016

  1. Configuration menu
    Copy the full SHA
    f0af1d7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a3ede4a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4a832e3 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2016

  1. Configuration menu
    Copy the full SHA
    0e42837 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6dd1606 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    296a5f2 View commit details
    Browse the repository at this point in the history
  4. unwrap -> try

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    fe0ab40 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f97105f View commit details
    Browse the repository at this point in the history
  6. Split up into multiple files

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    d7acbdc View commit details
    Browse the repository at this point in the history
  7. Spew comments everywhere

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    d28375e View commit details
    Browse the repository at this point in the history
  8. Add a sub-README

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    8f2fd39 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'build-it-better'

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    713af90 View commit details
    Browse the repository at this point in the history
  10. Add a README

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    62315f1 View commit details
    Browse the repository at this point in the history
  11. Fix Markdown link syntax, oops

    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    7d93800 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a46e8ae View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d31c5cf View commit details
    Browse the repository at this point in the history
  14. Change panic call to returning an Option

    Trying to get a non-existent timezone out of a table used to panic... which worked well until I needed to write a test showing that it would fail! So this commit changes it to returning None instead.
    ogham committed Feb 12, 2016
    Configuration menu
    Copy the full SHA
    5a912a3 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d5518e3 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    da27df4 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2016

  1. Version and docs link bump

    ogham committed Sep 25, 2016
    Configuration menu
    Copy the full SHA
    2cebd35 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a73e1a1 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2016

  1. Configuration menu
    Copy the full SHA
    965cd2a View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2016

  1. Merge pull request #2 from petrochenkov/master

    Fix invalid lifetime name
    ogham authored Oct 6, 2016
    Configuration menu
    Copy the full SHA
    2a98e68 View commit details
    Browse the repository at this point in the history
  2. Version bump and lint fix

    ogham committed Oct 6, 2016
    Configuration menu
    Copy the full SHA
    4aa23d0 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2016

  1. Configuration menu
    Copy the full SHA
    6040286 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0a0b732 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6b1161c View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2016

  1. Merge pull request #6 from djzin/master

    Handle negative offsets, "Alternative" parsing error and comment lines
    ogham authored Oct 23, 2016
    Configuration menu
    Copy the full SHA
    da7a241 View commit details
    Browse the repository at this point in the history
  2. Version bump

    ogham committed Oct 23, 2016
    Configuration menu
    Copy the full SHA
    d533d0a View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Configuration menu
    Copy the full SHA
    3fef60b View commit details
    Browse the repository at this point in the history