Commit 475c5f1
Feature 1.6 (kptdev#492)
* Fix boilerplate YEAR on generated code (kptdev#391) (kptdev#456)
* api
* More generated files added
* Fix dates on boilerplate
* Fix date generation from boiler plate
* Fix copyright dates
* Fixed copyright date
* Use environment variable for generation year on boilerplate
* Updates after rebase
* Cleanup after rebase
* Cleanup after rebase
* Removed blank line that broke generation of PackageRevisionResources deepcopy
---------
Signed-off-by: liamfallon <liam.fallon@est.tech>
Co-authored-by: Liam Fallon <35595825+liamfallon@users.noreply.github.com>
* Porch Repository controller (kptdev#406)
* Fix boilerplate YEAR on generated code (kptdev#391)
* api
Signed-off-by: liamfallon <liam.fallon@est.tech>
* More generated files added
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Fix dates on boilerplate
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Fix date generation from boiler plate
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Fix copyright dates
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Fixed copyright date
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Use environment variable for generation year on boilerplate
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Updates after rebase
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Cleanup after rebase
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Cleanup after rebase
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Removed blank line that broke generation of PackageRevisionResources deepcopy
Signed-off-by: liamfallon <liam.fallon@est.tech>
---------
Signed-off-by: liamfallon <liam.fallon@est.tech>
* Move Repository API from api/porchconfig to controllers/repositories
- Move Repository CRD and API types to controllers/repositories/api/v1alpha1
- Update all import paths across the codebase
- Remove old api/porchconfig directory
- Update CRD generation location
* Add dedicated repository controller
- Add standalone repository controller with event-driven reconciliation
- Support both generation-based and event-based triggers
- Implement proper finalizer handling and status management
- Add comprehensive test coverage and utilities
- Support embedded and standalone deployment modes
* Refactor sync utilities and add repository status management
* Add embedded controller support for porch-server
- Enable running repository controller embedded in porch-server
- Add configuration options for database cache integration
- Support both standalone and embedded controller modes
* Update cache layer for repository controller integration
- Enhance cache interfaces for better repository lifecycle management
- Update both CR cache and DB cache implementations
- Add sync event support and improved error handling
- Update test utilities and comprehensive test coverage
* Update remaining components and dependencies
- Update engine and registry components for new repository API
- Enhance task handlers and repository management
- Update external repository implementations and Git cache cleanup
- Update test utilities, mock implementations, and deployment configs
- Update dependencies
* Fix sync manager lifecycle and add global deletion watcher
- Add GlobalDeletionWatcher to monitor repository deletions
- Implement periodic cleanup for orphaned sync managers
- Add comprehensive event recording and cleanup mechanisms
- Fix race conditions in sync manager lifecycle
- Improve test coverage and add test helpers
- Resolve e2e test failures with proper sync manager cleanup
* Update repository controller for enhanced sync integration
- Update copyright year to 2026
- Improve repository controller documentation
- Prepare controller for sync manager integration
* Improve package registry and e2e test stability
- Add package common utilities
- Update e2e repository tests for better reliability
* Enhance repository controller with sync integration and testing
- Add database cache creation for standalone controller mode
- Integrate sync manager functionality with controller lifecycle
- Expand controller test coverage with sync scenarios
- Update cache layer for improved controller coordination
- Enhance event handling and sync manager capabilities
- Improve E2E test stability and package registry handling
This prepares the foundation for migrating sync functionality
from cache layer to controller-managed scheduling.
* chore: add testbin/ to .gitignore
Test binaries generated by envtest should not be committed.
* refactor: remove event-based repository sync mechanism
Remove the event-driven sync system that used channels and goroutines
for repository synchronization. This simplifies the codebase and
eliminates race conditions and complexity.
* refactor: implement direct sync in repository controller
Replace event-driven sync with direct synchronous calls:
- Add sync.go with SyncRepository method for on-demand syncing
- Refactor controller to call sync directly during reconciliation
- Simplify status updates to use standard conditions
- Remove event channel dependencies from cache and status logic
- Update tests to use direct sync calls instead of event mocking
* feat: update controller configuration defaults
- Set MaxConcurrentReconciles to 100 (was 25) for both embedded and standalone modes
- Set MaxConcurrentSyncs to 50 for both modes
- Update flag defaults to match documented performance analysis
- Align embedded and standalone configurations for consistency
* refactor: simplify cache sync layer
- Remove event channel dependencies from sync.go
- Update sync tests to use direct method calls
- Simplify repository cache interfaces
- Remove event-based status update mechanisms
- Clean up cache directory pool logging
* refactor: update apiserver for direct sync model
- Remove event manager initialization from embedded controller
- Update controller setup to use new sync configuration
- Simplify embedded controller tests
- Update dependencies
* test: add integration tests for repository controller
- Add Makefile for running controller tests
- Add integration test suite using envtest
- Test repository reconciliation and sync behavior
* test: refactor CLI e2e tests to use shared repository
- Migrate all CLI tests to use shared 'porch-test' repository
- Add RecreateGiteaRepo utility for resetting repo state between tests
- Update test configs to use usesPorchTestRepo flag
- Add ignoreWhitespace flag for kubectl custom-columns output
- Add sleep after repo unregister to allow async deletion
* test: improve CLI test suite infrastructure
- Add IsRepoControllerRunningInCluster() to detect controller deployment
- Use LoadBalancer IP when controller runs locally (can't resolve cluster DNS)
- Add signal handler for Ctrl-C cleanup in test suite
- Add --wait=false to namespace deletion for faster cleanup
- Simplify test suite by removing redundant code
* test: update API e2e tests for new sync model
- Remove event-based sync expectations
- Update repository status checks for new condition format
- Adjust test timing for direct sync behavior
* Clean up comments and documentation
- Remove references to old code (background.go, SyncManager) from controller comments
- Add comments explaining sync decision priority in determineSyncDecision
- Document that most of repostatusconds.go will be removed when legacy sync is removed
- Clarify resource bump in adjust_porch_server_resources is for CR cache with controller-based sync
- Reduce events RBAC permissions to read-only (get, list, watch)
- Move indirect dependencies to main require block in go.mod
- Reorganize sync.go functions into logical groups for better readability
* Add missed go.mod update
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Implement smart defaults for use-legacy-sync based on cache type
- CR cache: defaults to use-legacy-sync=false (embedded controller)
- DB cache: defaults to use-legacy-sync=true (no standalone controller required)
- Users can explicitly override defaults with --use-legacy-sync flag
- Add warnings to guide users on deployment requirements
- Group server flags into logical sections for better readability
Benefits:
- CR cache users get best experience (embedded controller, no extra deployment)
- DB cache users aren't forced to deploy standalone controller
- Clear migration path from legacy to controller-based sync
- Backward compatible for existing deployments
* Address failing CI
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address failing tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix faling tests etc
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix remaining test failures
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Adjust timings on sync tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Increase test coverage
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add test coverage
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add Repository status fields and fix sync reliability
Add Repository status fields (LastFullSyncTime, ObservedGeneration,
PackageCount, GitCommitHash) for better observability. Implement
BranchCommitHash() interface method across all repository types.
Fix 1-second requeue loop by using HealthCheckFrequency as floor when
sync intervals are overdue. Improve error recovery and panic handling
in async sync operations.
* Skip repo integration suite in unti test runs
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing unit tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add unit coverage and enhance int suite
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* More code coverage
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Repo Controller logging enhancements
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove legacy sync support
Completes migration to controller-based repository synchronization.
Removes background.go, SyncManager, and related configuration flags.
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix dbcache tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address CI failures
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Revert sonar CI fix attempt
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add storage limits to controllers Deployment
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix rebase error
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add descriptive name to logs from e2e
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Refactor porchctl upgrade cli e2e
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Missed change on rebase
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Move buildRepositoryCondition to repo controller
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address review comments
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Move Repo validation to CEL in CRD
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove duplicate CEL rules
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Regenerate Repo CRD
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix repo validation test
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add wait group for cache cleanup race
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing db tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix dbcache repo race and retry
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add db connection config
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address review comments
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Rename confusing fns
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix missed updates and linting
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Use default client from Embedded Controller
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix missed cleanup
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add ObservedRunOnceAt status to address redundant syncs
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Updates after rebase
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* refactor: move sync scheduling to dedicated status field
- Add NextFullSyncTime field to Repository status for tracking next sync
- Add Branch and Age printer columns to Repository CRD for better visibility
- Simplify condition messages by removing inline sync/retry timestamps
- Remove timestamp parsing logic from condition messages
* Fix failing CI
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix cli e2e fails
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing cli e2e test
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Delete PR_ENTRY.md
* Adress review comments
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix perms and cli after rebase
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix unit test
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing cli tests
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address review comments
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove redundant test
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove Embedded controller option
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Revert change to e2e workflow
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix unit test
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Revert repo config api move
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Add boilerplate header chnages
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove testbin artifacts
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
---------
Signed-off-by: liamfallon <liam.fallon@est.tech>
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Co-authored-by: Liam Fallon <35595825+liamfallon@users.noreply.github.com>
* Fix missed merge conflict
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing build
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Readd missing import
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Make WS name unique
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix failing fn runner e2e
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Try again to avoid clone failure
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Skeleton for passing request information via context (kptdev#465)
* porch context skeleton
* fix package path for create PR
* remove and ignore docs/go.mod and go.sum
* fix lint, group PorchServerOptions
* fix context mock expectations
* readd docs go.mod
* rebase, adapt logs added in kptdev#460 to structured logs
* Add Repo Controller docs (kptdev#458)
* Add Repo Controller docs
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Trigger netlify preview
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Address review comments
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Update wonky diagram arrows
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
---------
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Align context import alias with main branch
Change porchcontext to context1 to match the implementation in main branch.
This will allow clean merge of main into feature-1.6.
* Fix broken merge
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Fix missed merge conflicts
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Make tidy
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Remove on_push for e2e
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
* Run make tidy
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
---------
Signed-off-by: liamfallon <liam.fallon@est.tech>
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Co-authored-by: Liam Fallon <35595825+liamfallon@users.noreply.github.com>
Co-authored-by: mozesl-nokia <laszlo.mozes@nokia.com>1 parent a8ee18c commit 475c5f1
126 files changed
Lines changed: 7609 additions & 3569 deletions
File tree
- .github/workflows
- api/porchconfig/v1alpha1
- controllers
- packagevariantsets/pkg/controllers/packagevariantset
- packagevariants/pkg/controllers/packagevariant
- repositories
- config
- rbac
- samples
- integration
- pkg/controllers/repository
- deployments/porch
- docs
- content/en/docs
- 5_architecture_and_components
- controllers
- packagevariants
- functionality
- repository-controller
- functionality
- package-cache
- functionality
- 6_configuration_and_deployments
- configurations
- components
- deployments
- 9_troubleshooting_and_faq/repository-sync
- make
- pkg
- apiserver
- cache
- crcache
- dbcache
- sync
- types
- util
- cli/commands/repo/sync
- cmd/server
- externalrepo
- fake
- git
- oci
- registry/porch
- repository
- scripts
- test
- e2e
- api
- cli
- testdata
- repo-register
- rpkg-clone
- rpkg-copy
- rpkg-init-deploy
- rpkg-init
- rpkg-lifecycle
- rpkg-nested-package
- rpkg-push-on-render-failure
- rpkg-push
- rpkg-unready
- rpkg-upgrade
- suiteutils
- mockery/mocks/porch/pkg/repository
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
140 | 140 | | |
141 | 141 | | |
142 | | - | |
| 142 | + | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
182 | 189 | | |
183 | 190 | | |
184 | 191 | | |
185 | 192 | | |
186 | | - | |
187 | | - | |
| 193 | + | |
| 194 | + | |
188 | 195 | | |
189 | 196 | | |
190 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
114 | | - | |
| 115 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
53 | 56 | | |
54 | 57 | | |
Lines changed: 60 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
49 | 57 | | |
50 | 58 | | |
51 | 59 | | |
| |||
101 | 109 | | |
102 | 110 | | |
103 | 111 | | |
104 | | - | |
105 | | - | |
106 | | - | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
107 | 115 | | |
108 | 116 | | |
109 | 117 | | |
110 | 118 | | |
111 | 119 | | |
112 | 120 | | |
113 | 121 | | |
114 | | - | |
115 | | - | |
116 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
117 | 125 | | |
118 | 126 | | |
119 | 127 | | |
| |||
162 | 170 | | |
163 | 171 | | |
164 | 172 | | |
165 | | - | |
166 | | - | |
167 | | - | |
| 173 | + | |
| 174 | + | |
168 | 175 | | |
169 | 176 | | |
170 | 177 | | |
| |||
238 | 245 | | |
239 | 246 | | |
240 | 247 | | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
241 | 278 | | |
242 | 279 | | |
243 | 280 | | |
244 | 281 | | |
245 | 282 | | |
246 | 283 | | |
247 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
248 | 299 | | |
249 | 300 | | |
250 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
| |||
77 | 84 | | |
78 | 85 | | |
79 | 86 | | |
80 | | - | |
| 87 | + | |
81 | 88 | | |
82 | 89 | | |
83 | 90 | | |
| |||
92 | 99 | | |
93 | 100 | | |
94 | 101 | | |
| 102 | + | |
95 | 103 | | |
96 | 104 | | |
97 | 105 | | |
98 | 106 | | |
| 107 | + | |
99 | 108 | | |
100 | 109 | | |
101 | 110 | | |
| |||
160 | 169 | | |
161 | 170 | | |
162 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
163 | 192 | | |
164 | 193 | | |
165 | 194 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | 41 | | |
43 | 42 | | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| 59 | + | |
| 60 | + | |
55 | 61 | | |
56 | 62 | | |
57 | 63 | | |
58 | 64 | | |
| 65 | + | |
59 | 66 | | |
60 | 67 | | |
61 | 68 | | |
| |||
71 | 78 | | |
72 | 79 | | |
73 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
74 | 84 | | |
75 | 85 | | |
76 | 86 | | |
| |||
117 | 127 | | |
118 | 128 | | |
119 | 129 | | |
120 | | - | |
| 130 | + | |
121 | 131 | | |
122 | 132 | | |
123 | 133 | | |
124 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
125 | 143 | | |
126 | 144 | | |
127 | 145 | | |
| |||
174 | 192 | | |
175 | 193 | | |
176 | 194 | | |
| 195 | + | |
| 196 | + | |
177 | 197 | | |
178 | 198 | | |
179 | 199 | | |
| |||
212 | 232 | | |
213 | 233 | | |
214 | 234 | | |
215 | | - | |
216 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
217 | 241 | | |
218 | 242 | | |
219 | 243 | | |
0 commit comments