Skip to content

Commit

Permalink
Dwifft -> DifferenceKit (#136)
Browse files Browse the repository at this point in the history
This swaps out Dwifft for DifferenceKit, which uses Paul Heckel's more efficient diffing algo (same one used by IGListKit). Most of the work here is adding layers to avoid Self/associatedtype requirements issues with our protocols. These layers could be removed in the future though, pending changes that would allow this in Swift 5 or generics changes to TableViewModel/CollectionViewModel.

This also fixes #126
  • Loading branch information
benasher44 authored Sep 11, 2018
1 parent 3c17140 commit f3c8d00
Show file tree
Hide file tree
Showing 56 changed files with 2,181 additions and 1,386 deletions.
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ env:

# Note: travis installs ruby dependencies using bundler automatically, when there's a Gemfile

before_install:
- pod repo update # don't use 'bundle exec' because bundler deps haven't been installed yet

script:
- set -o pipefail
- xcodebuild -version -sdk
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ The changelog for `ReactiveLists`. Also see the [releases](https://github.com/pl

This release closes the [0.2.0 milestone](https://github.com/plangrid/ReactiveLists/milestone/2).

### Fixed

- Auto-diffing bugs and crashes ([#136](https://github.com/plangrid/ReactiveLists/pull/136), [@benasher44](https://github.com/benasher44))

### New

- `TableSectionViewModel` and `CollectionSectionViewModel` now implement `Collection` ([#135](https://github.com/plangrid/ReactiveLists/pull/135), [@benasher44](https://github.com/benasher44))
- [DifferenceKit](https://github.com/ra1028/DifferenceKit) is now used instead of Dwifft for faster diffing ([#136](https://github.com/plangrid/ReactiveLists/pull/136), [@benasher44](https://github.com/benasher44))

0.1.4
-----
Expand Down
2 changes: 1 addition & 1 deletion Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ inhibit_all_warnings!
target 'ReactiveLists' do
project 'ReactiveLists.xcodeproj'

pod 'Dwifft', '0.8.0'
pod 'DifferenceKit', '0.5.3'
pod 'SwiftLint', '0.26.0'

target 'ReactiveListsExample' do
Expand Down
15 changes: 10 additions & 5 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
PODS:
- Dwifft (0.8)
- DifferenceKit (0.5.3):
- DifferenceKit/Core (= 0.5.3)
- DifferenceKit/UIExtensions (= 0.5.3)
- DifferenceKit/Core (0.5.3)
- DifferenceKit/UIExtensions (0.5.3):
- DifferenceKit/Core
- SwiftLint (0.26.0)

DEPENDENCIES:
- Dwifft (= 0.8.0)
- DifferenceKit (= 0.5.3)
- SwiftLint (= 0.26.0)

SPEC REPOS:
https://github.com/cocoapods/specs.git:
- Dwifft
- DifferenceKit
- SwiftLint

SPEC CHECKSUMS:
Dwifft: 463e61d07322fdf83b32ee6975ca1b20708db746
DifferenceKit: 2037137305c55a39ff729baa72697efa30b1052d
SwiftLint: f6b83e8d95ee1e91e11932d843af4fdcbf3fc764

PODFILE CHECKSUM: a43a91afd77a3063737440f03c6ccb9032ab397a
PODFILE CHECKSUM: cf0cb4ba9c95fd5e4dfb062e0957cd7af7e98e0f

COCOAPODS: 1.5.3
2 changes: 1 addition & 1 deletion Pods/Dwifft/LICENSE → Pods/DifferenceKit/LICENSE

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

321 changes: 321 additions & 0 deletions Pods/DifferenceKit/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f3c8d00

Please sign in to comment.