{"push_id":762546883,"size":8,"distinct_size":2,"ref":"refs/heads/nimullen/ordercopyhtmlattribute.2639","head":"3640658a32fc16b0e410dbc22d2d84ef9a513c85","before":"aeed1bbda412f83e481fc94012f8ea2fb23c1595","commits":[{"sha":"48f09d0e8d2e6f9c9e473b20883fd6cdf90a3f62","author":{"email":"5d776ea9396d98a140d5ae5e892e751bebdb8bfb@microsoft.com","name":"Doug Bunting"},"message":"Do not trounce existing property values that are not bound in `TryUpdateModel` scenarios\n- #2836\n\nPart 1: Use existing property values when recursing in `MutableObjectModelBinder`\n- remove `ComplexModelDTO` because that indirection made fixing this issue more difficult and doesn't add value\n  - started with an old closed PR (#2241) which did some of this work\n- correct `MutableObjectModelBinderTest` tests that exercised behaviour that can't occur\n  - the old `dto.Results` dictionary was never incomplete; nor could it contain `null` values\n\nPart 2: Change `MutableObjectModelBinder` to pass complex property values into binding system\n- model binding no longer trounces nodes in the model tree that aren't bound\n- create model instances less often in `TryUpdateModel` scenarios\n  - refactor `EnsureModel()` to `GetModel()` and use appropriately\n- reorder logic in `SetProperty()` and `AddToProperty()` to avoid copying to / from the same collection\n  - also cleans up some code duplication\n\nnits:\n- clean up `MutableObjectModelBinderTest`\n  - fix odd line wrappings and indentation\n  - use `nameof()` more\n  - use `string.Empty` more\n  - simplify a couple of `Returns()` expressions\n- make assertions in `TryUpdateModelIntegrationTest` more readable\n  - no need to work through `ModelStateDictionary.Keys`\n  - also use `Length` instead of `Count()`; test code but we don't need Linq at all in that test class","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/48f09d0e8d2e6f9c9e473b20883fd6cdf90a3f62"},{"sha":"c2347e4d4bdffff13ca7f2a45b8e4c5961ca45f6","author":{"email":"5d776ea9396d98a140d5ae5e892e751bebdb8bfb@microsoft.com","name":"Doug Bunting"},"message":"Merge branch 'release' into dev","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/c2347e4d4bdffff13ca7f2a45b8e4c5961ca45f6"},{"sha":"f10a071da398a6c4d89ee1fc0489cf0ad42fc403","author":{"email":"5d776ea9396d98a140d5ae5e892e751bebdb8bfb@microsoft.com","name":"Doug Bunting"},"message":"Preserve `ViewDataDictionary.ModelType` for `Nullable<T>` properties when `Model` is non-`null`\n- #2539\n- reuse `ModelMetadata` and occasionally `ModelExplorer` when `ModelType` is `Nullable<T>`","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/f10a071da398a6c4d89ee1fc0489cf0ad42fc403"},{"sha":"f116b91750ee52ab54f39db5390d72037d26c524","author":{"email":"ffb1c3cb43d4d3339a9d45f1dd93330c25cd9aa1@hotmail.com","name":"Pranav K"},"message":"Updating to aspnetliterelease.","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/f116b91750ee52ab54f39db5390d72037d26c524"},{"sha":"8d75aa3e14b8b47b90be7e1c022f6c8808a33b59","author":{"email":"ffb1c3cb43d4d3339a9d45f1dd93330c25cd9aa1@hotmail.com","name":"Pranav K"},"message":"Merge branch 'release' into dev","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/8d75aa3e14b8b47b90be7e1c022f6c8808a33b59"},{"sha":"a0879cc37f574c440948eb8723d3dd2de99eb5b6","author":{"email":"ffb1c3cb43d4d3339a9d45f1dd93330c25cd9aa1@hotmail.com","name":"Pranav K"},"message":"Updating to aspnetlitedev.","distinct":false,"url":"https://api.github.com/repos/aspnet/Mvc/commits/a0879cc37f574c440948eb8723d3dd2de99eb5b6"},{"sha":"244b69df41e7fd10cf54a1752532971c6e9177ca","author":{"email":"2dd1590fd832a5e1c8567d718938b5e15c0e595b@microsoft.com","name":"N. Taylor Mullen"},"message":"Enable `CopyHtmlAttribute` to maintain copied attribute order.\n\n- Updated implementation to do a best guess at copying an attribute back into `TagHelperOutput.Attributes`.\n- Updated existing functional and unit tests to account for maintained attribute order.\n- Added a set of complex order based unit tests to validate `CopyHtmlAttribute` properly maintains order.\n\n#2639","distinct":true,"url":"https://api.github.com/repos/aspnet/Mvc/commits/244b69df41e7fd10cf54a1752532971c6e9177ca"},{"sha":"3640658a32fc16b0e410dbc22d2d84ef9a513c85","author":{"email":"2dd1590fd832a5e1c8567d718938b5e15c0e595b@microsoft.com","name":"N. Taylor Mullen"},"message":"Addressed code review comments.","distinct":true,"url":"https://api.github.com/repos/aspnet/Mvc/commits/3640658a32fc16b0e410dbc22d2d84ef9a513c85"}]}