1. A method for versioning learning objects comprising: receiving, from a content repository local to a client, a request to update a master content repository with an updated learning object, the updated learning object including content files; comparing version information for each of the content files from the local content repository to versioning information obtained from an object version file identifying a prior version of the updated learning object, the object version file identifies aspects of the content files included in the prior version of the updated learning object; generating a new object version file associated with updating the master content repository with the updated learning object, the new object version file including pointers to prior versions of content files substantially matching content files from the local content repository; updating the master content repository with new versions of the content files included in the updated learning object independent of updating the master repository with the content files from the local repository that substantially match content files currently stored in the master repository; and in response to at least a portion of the version information of a first of the content files matching a corresponding portion of the versioning information stored in the object version file, storing in the new object version file a pointer to a corresponding content file in the prior version of the learning object stored in the master content repository.