documentcloud/backbone — pull request #1220 by folded (2012-04-13 14:36:23+00:00)
Title: Optionally merging updated model state on collection add.

The current behaviour of `Backbone.Collection.add` is to discard models that have matching ids. This makes it difficult to fetch and insert a set of models that may contain both new and updated models. Maybe there's a different way to perform this task, but it wasn't obvious to me.

This patch adds a merge flag to `Backbone.Collection.add`, which causes models with identical ids be passed as arguments to `Backbone.Model.set` instead of being discarded. In the case of true duplicates, the current behaviour is preserved (no change to the collection, no additional events fired), but updates to models retain the object in the collection, but update its attributes (firing the corresponding change events, unless silent).