diff -x .svn -ru full-history.old/django/contrib/history/models.py full-history/django/contrib/history/models.py
--- full-history.old/django/contrib/history/models.py	2006-10-17 20:16:57.000000000 -0300
+++ full-history/django/contrib/history/models.py	2006-10-17 20:03:32.000000000 -0300
@@ -22,44 +22,44 @@
 class ChangeLogManager(models.Manager):
 
     def get_version(self, object, **kwargs):
-	""" 
-	Returns 'current-offset' revision of the 'object' 
-	"""
-	if not kwargs or not kwargs['offset']: offset=0
-
-	ct = ContentType.objects.get_for_model(object)
-
-	if kwargs and kwargs['revision']:
-	    return self.get_query_set().filter(
-		content_type=ct.id).filter(
-		    object_id=object.id).filter(
-			pk=revision)[offset]
-	else:
-	    return self.get_query_set().filter(
-		content_type=ct.id).filter(
-		    object_id=object.id)[offset]
+        """ 
+        Returns 'current-offset' revision of the 'object' 
+        """
+        if not kwargs or not kwargs['offset']: offset=0
+
+        ct = ContentType.objects.get_for_model(object)
+
+        if kwargs and kwargs['revision']:
+            return self.get_query_set().filter(
+                content_type=ct.id).filter(
+                    object_id=object.id).filter(
+                        pk=revision)[offset]
+        else:
+            return self.get_query_set().filter(
+                content_type=ct.id).filter(
+                    object_id=object.id)[offset]
 
     def list_history(self, object, **kwargs):
-	""" 
-	list_history(object): Returns a list of all revisions for that id.
-	list_history(object, offset=X): Returns a list of last X revisions.    
-	"""
-	ct = ContentType.objects.get_for_model(object)
-	if kwargs['offset']:
-	    return self.get_query_set().filter(
-		content_type=ct.id).filter(
-		    object_id=object.id)[:kwargs['offset']]
-	else:
-	    return ChangeLog.objects.filter(object_id=object.id)
+        """ 
+        list_history(object): Returns a list of all revisions for that id.
+        list_history(object, offset=X): Returns a list of last X revisions.    
+        """
+        ct = ContentType.objects.get_for_model(object)
+        if kwargs['offset']:
+            return self.get_query_set().filter(
+                content_type=ct.id).filter(
+                    object_id=object.id)[:kwargs['offset']]
+        else:
+            return ChangeLog.objects.filter(object_id=object.id)
 
     def version_by_date(self, object, date):
-	""" 
-	Returns a list of revisions made at 'date'. 
-	"""
-	ct = ContentType.objects.get_for_model(object)
-	return self.get_query_set().filter(
-	    content_type=ct.id).filter(
-		change_time__exact=date)
+        """ 
+        Returns a list of revisions made at 'date'. 
+        """
+        ct = ContentType.objects.get_for_model(object)
+        return self.get_query_set().filter(
+            content_type=ct.id).filter(
+                change_time__exact=date)
 
 ########################
 # Generic change model #
@@ -78,30 +78,30 @@
     objects = ChangeLogManager()
     
     class Meta:
-	verbose_name = _('changelog entry')
-	verbose_name_plural = _('changelog entries')
-	db_table = _('django_history_log')
-	
+        verbose_name = _('changelog entry')
+        verbose_name_plural = _('changelog entries')
+        db_table = _('django_history_log')
+        
     class Admin:
-	date_hierarchy = 'change_time'
-	list_filter = ['change_time',  'change_type', 'content_type']
-	fields = (
-	    ('Meta info', {'fields': ('change_time', 'content_type', 'object_id', 'user', 'comment'),}),
-	    ('Object', {'fields': ('object',),}),
-	)
+        date_hierarchy = 'change_time'
+        list_filter = ['change_time',  'change_type', 'content_type']
+        fields = (
+            ('Meta info', {'fields': ('change_time', 'content_type', 'object_id', 'user', 'comment'),}),
+            ('Object', {'fields': ('object',),}),
+        )
 
-	list_display = ('__str__', 'user', 'change_type','comment', 'content_type', 'change_time', )
-	
+        list_display = ('__str__', 'user', 'change_type','comment', 'content_type', 'change_time', )
+        
     def __str__(self):
-	return str(self.get_object())
+        return str(self.get_object())
 
     def get_object(self):
-	""" Returns unpickled object. """
-	return Pickle.loads(self.object)
+        """ Returns unpickled object. """
+        return Pickle.loads(self.object)
 
     def get_rev_num(self):
-	""" Returns the ID/revision number of ChangeLog entry. """
-	return self.id	
+        """ Returns the ID/revision number of ChangeLog entry. """
+        return self.id        
 
 #########################
 # Pre-save signal catch #
@@ -118,22 +118,22 @@
     m = None
 
     for model in models.get_models():
-	try:
-	    if model.History:
-		model_list.append({'module': model.__module__,
-				   'name': model.__name__})
-	except:
-	    pass
+        try:
+            if model.History:
+                model_list.append({'module': model.__module__,
+                                   'name': model.__name__})
+        except:
+            pass
 
     for model in model_list:
-	if model['name'] is instance.__class__.__name__:
-	    try:
-		m = __import__(model['module'], '', '', [model['name']])
-		#print model['module'],": ",model['name'],"- ",m
-		print "Model import done: ",m
-	    except:
-		print "Model import error."
-		return False
+        if model['name'] is instance.__class__.__name__:
+            try:
+                m = __import__(model['module'], '', '', [model['name']])
+                #print model['module'],": ",model['name'],"- ",m
+                print "Model import done: ",m
+            except:
+                print "Model import error."
+                return False
 
     return m
 
@@ -152,8 +152,8 @@
     print "Signal: ",kwargs['signal_name']
 
     if instance.__class__.__name__ is 'ChangeLog' or not hasattr(instance, 'History'): 
-	print "Not history-enabled class."
-	return 0
+        print "Not history-enabled class."
+        return 0
 
     #instance_name = instance.__class__.__name__
     #print instance_name
@@ -162,24 +162,24 @@
     log = None
     
     if im:
-	try:
-	    if kwargs['signal_name'] is 'pre_delete':
-		print "Instance was last revision."
-		old = instance
-		log = ChangeLog(parent=instance, change_type='D', comment="Object deleted. Last revision.")
-	    elif ((kwargs['signal_name'] is 'pre_save') and instance.id):
-		print "Instance has an ID."
-		old = getattr(im, instance.__class__.__name__).objects.filter(pk=instance.id)[0]
-		log = ChangeLog(parent=instance, change_type='U', comment="Update")
-	    else:
-		print "Instance without an ID."
-		old = instance
-		instance.id = 0	# FIX: ID cannot be None
-		log = ChangeLog(parent=instance, change_type='A', comment="New")
-	except:
-	    return 1
+        try:
+            if kwargs['signal_name'] is 'pre_delete':
+                print "Instance was last revision."
+                old = instance
+                log = ChangeLog(parent=instance, change_type='D', comment="Object deleted. Last revision.")
+            elif ((kwargs['signal_name'] is 'pre_save') and instance.id):
+                print "Instance has an ID."
+                old = getattr(im, instance.__class__.__name__).objects.filter(pk=instance.id)[0]
+                log = ChangeLog(parent=instance, change_type='U', comment="Update")
+            else:
+                print "Instance without an ID."
+                old = instance
+                instance.id = 0        # FIX: ID cannot be None
+                log = ChangeLog(parent=instance, change_type='A', comment="New")
+        except:
+            return 1
     else:
-	return 0  # exit wo/ an action
+        return 0  # exit wo/ an action
 
     # DEBUG
     #print "Old: ",old
@@ -188,11 +188,11 @@
     #print "Log: ",log.change_time
 
     try: 
-	log.object = Pickle.dumps(old, protocol=0)
-	log.save()
-	print "New change saved."
+        log.object = Pickle.dumps(old)
+        log.save()
+        print "New change saved."
     except:
-	print "ChangeLog faild to save changes."
+        print "ChangeLog failed to save changes."
 
 
 dispatcher.connect( save_new_revision, signal=signals.pre_save )
diff -x .svn -ru full-history.old/django/contrib/history/views/main.py full-history/django/contrib/history/views/main.py
--- full-history.old/django/contrib/history/views/main.py	2006-10-17 20:16:57.000000000 -0300
+++ full-history/django/contrib/history/views/main.py	2006-10-17 20:15:54.000000000 -0300
@@ -11,12 +11,12 @@
 def index(request):
     changes_list = ChangeLog.objects.all()
     return render_to_response('history/list.html', 
-			      {'changes_list': changes_list})
+                              {'changes_list': changes_list})
 
 def list(request):
     changes_list = ChangeLog.objects.all()
     return render_to_response('history/list.html', 
-			      {'changes_list': changes_list})
+                              {'changes_list': changes_list})
 
 
 def detail(request, change_id):
@@ -34,11 +34,11 @@
     print "Change3: ",ch3
 
     return render_to_response('history/detail.html', {'change': change,
-						      'object': object,
-						      'change_fields': change._meta.fields,
-						      'object_fields': object._meta.fields,})
+                                                      'object': object,
+                                                      'change_fields': change._meta.fields,
+                                                      'object_fields': object._meta.fields,})
 
 def changes(request, parent_id):
     changes_list = ChangeLog.objects.list_history(parent, offset=3)
     return render_to_response('history/list.html',
-			      {'changes_list': changes_list})
+                              {'changes_list': changes_list})
