Index: django/db/models/manipulators.py
===================================================================
--- django/db/models/manipulators.py	(revision 2684)
+++ django/db/models/manipulators.py	(working copy)
@@ -260,7 +260,7 @@
             if self.opts.one_to_one_field:
                 # Sanity check -- Make sure the "parent" object exists.
                 # For example, make sure the Place exists for the Restaurant.
-                # Let the ObjectDoesNotExist exception propogate up.
+                # Let the ObjectDoesNotExist exception propagate up.
                 lookup_kwargs = self.opts.one_to_one_field.rel.limit_choices_to
                 lookup_kwargs['%s__exact' % self.opts.one_to_one_field.rel.field_name] = obj_key
                 self.opts.one_to_one_field.rel.to.get_model_module().get(**lookup_kwargs)
Index: django/db/models/fields/__init__.py
===================================================================
--- django/db/models/fields/__init__.py	(revision 2684)
+++ django/db/models/fields/__init__.py	(working copy)
@@ -41,7 +41,7 @@
 
 # A guide to Field parameters:
 #
-#   * name:      The name of the field specifed in the model.
+#   * name:      The name of the field specified in the model.
 #   * attname:   The attribute to use on the model object. This is the same as
 #                "name", except in the case of ForeignKeys, where "_id" is
 #                appended.
Index: django/db/models/query.py
===================================================================
--- django/db/models/query.py	(revision 2684)
+++ django/db/models/query.py	(working copy)
@@ -268,7 +268,7 @@
         """
         assert kind in ("month", "year", "day"), "'kind' must be one of 'year', 'month' or 'day'."
         assert order in ('ASC', 'DESC'), "'order' must be either 'ASC' or 'DESC'."
-        # Let the FieldDoesNotExist exception propogate.
+        # Let the FieldDoesNotExist exception propagate.
         field = self.model._meta.get_field(field_name, many_to_many=False)
         assert isinstance(field, DateField), "%r isn't a DateField." % field_name
         return self._clone(klass=DateQuerySet, _field=field, _kind=kind, _order=order)
Index: django/core/servers/basehttp.py
===================================================================
--- django/core/servers/basehttp.py	(revision 2684)
+++ django/core/servers/basehttp.py	(working copy)
@@ -46,7 +46,7 @@
         raise StopIteration
 
 # Regular expression that matches `special' characters in parameters, the
-# existance of which force quoting of the parameter value.
+# existence of which force quoting of the parameter value.
 tspecials = re.compile(r'[ \(\)<>@,;:\\"/\[\]\?=]')
 
 def _formatparam(param, value=None, quote=1):
Index: django/core/management.py
===================================================================
--- django/core/management.py	(revision 2684)
+++ django/core/management.py	(working copy)
@@ -119,7 +119,7 @@
     # but don't exist physically
     not_installed_models = set(pending_references.keys())
     if not_installed_models:
-        final_output.append('-- The following references should be added but depend on non-existant tables:')
+        final_output.append('-- The following references should be added but depend on non-existent tables:')
         for klass in not_installed_models:
             final_output.extend(['-- ' + sql for sql in
                 _get_sql_for_pending_references(klass, pending_references)])
@@ -247,7 +247,7 @@
     from django.db import backend, connection, models, get_introspection_module
     introspection = get_introspection_module()
 
-    # This should work even if a connecton isn't available
+    # This should work even if a connection isn't available
     try:
         cursor = connection.cursor()
     except:
Index: django/utils/_threading_local.py
===================================================================
--- django/utils/_threading_local.py	(revision 2684)
+++ django/utils/_threading_local.py	(working copy)
@@ -149,7 +149,7 @@
             raise TypeError("Initialization arguments are not supported")
 
         # We need to create the thread dict in anticipation of
-        # __init__ being called, to make sire we don't cal it
+        # __init__ being called, to make sure we don't call it
         # again ourselves.
         dict = object.__getattribute__(self, '__dict__')
         currentThread().__dict__[key] = dict
Index: django/contrib/admin/templatetags/admin_list.py
===================================================================
--- django/contrib/admin/templatetags/admin_list.py	(revision 2684)
+++ django/contrib/admin/templatetags/admin_list.py	(working copy)
@@ -80,7 +80,7 @@
             if field_name == '__str__':
                 header = lookup_opts.verbose_name
             else:
-                attr = getattr(cl.model, field_name) # Let AttributeErrors propogate.
+                attr = getattr(cl.model, field_name) # Let AttributeErrors propagate.
                 try:
                     header = attr.short_description
                 except AttributeError:
Index: tests/modeltests/basic/models.py
===================================================================
--- tests/modeltests/basic/models.py	(revision 2684)
+++ tests/modeltests/basic/models.py	(working copy)
@@ -330,7 +330,7 @@
 
 API_TESTS += """
 
-# You can manually specify the primary key when creating a new objet
+# You can manually specify the primary key when creating a new object
 >>> a101 = Article(id=101, headline='Article 101', pub_date=datetime(2005, 7, 31, 12, 30, 45))
 >>> a101.save()
 >>> a101 = Article.objects.get(pk=101)
Index: tests/modeltests/transactions/models.py
===================================================================
--- tests/modeltests/transactions/models.py	(revision 2684)
+++ tests/modeltests/transactions/models.py	(working copy)
@@ -36,8 +36,8 @@
 [Alice Smith]
 
 # the autocommit decorator works exactly the same as the default behavior
->>> autocomitted_create_then_fail = transaction.autocommit(create_a_reporter_then_fail)
->>> autocomitted_create_then_fail("Ben", "Jones")
+>>> autocommitted_create_then_fail = transaction.autocommit(create_a_reporter_then_fail)
+>>> autocommitted_create_then_fail("Ben", "Jones")
 Traceback (most recent call last):
     ...
 Exception: I meant to do that
@@ -46,7 +46,7 @@
 >>> Reporter.objects.all()
 [Alice Smith, Ben Jones]
 
-# With the commit_on_success decorator, the transaction is only comitted if the
+# With the commit_on_success decorator, the transaction is only committed if the
 # function doesn't throw an exception
 >>> committed_on_success = transaction.commit_on_success(create_a_reporter_then_fail)
 >>> committed_on_success("Carol", "Doe")
@@ -63,8 +63,8 @@
 ...     r = Reporter.objects.get(first_name="Alice")
 ...     r.delete()
 ...
->>> remove_comitted_on_success = transaction.commit_on_success(remove_a_reporter)
->>> remove_comitted_on_success()
+>>> remove_committed_on_success = transaction.commit_on_success(remove_a_reporter)
+>>> remove_committed_on_success()
 >>> Reporter.objects.all()
 [Ben Jones]
 
@@ -89,4 +89,4 @@
 Traceback (most recent call last):
     ...
 TransactionManagementError: Transaction managed block ended with pending COMMIT/ROLLBACK
-"""
\ No newline at end of file
+"""
Index: tests/othertests/templates.py
===================================================================
--- tests/othertests/templates.py	(revision 2684)
+++ tests/othertests/templates.py	(working copy)
@@ -149,7 +149,7 @@
     'basic-syntax33': (r'1{{ var.method3 }}2', {"var": SomeClass()}, "12"),
 
     # In methods that raise an exception without a "silent_variable_attribute" set to True,
-    # the exception propogates
+    # the exception propagates
     'basic-syntax34': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException),
 
     ### COMMENT TAG ###########################################################
Index: tests/othertests/cache.py
===================================================================
--- tests/othertests/cache.py	(revision 2684)
+++ tests/othertests/cache.py	(working copy)
@@ -15,7 +15,7 @@
 cache.set("key", "value")
 assert cache.get("key") == "value"
 
-# get with non-existant keys
+# get with non-existent keys
 assert cache.get("does not exist") is None
 assert cache.get("does not exist", "bang!") == "bang!"
 
@@ -57,4 +57,4 @@
 # expiration
 cache.set('expire', 'very quickly', 1)
 time.sleep(2)
-assert cache.get("expire") == None
\ No newline at end of file
+assert cache.get("expire") == None
Index: tests/doctest.py
===================================================================
--- tests/doctest.py	(revision 2684)
+++ tests/doctest.py	(working copy)
@@ -846,7 +846,7 @@
         if extraglobs is not None:
             globs.update(extraglobs)
 
-        # Recursively expore `obj`, extracting DocTests.
+        # Recursively explore `obj`, extracting DocTests.
         tests = []
         self._find(tests, obj, name, module, source_lines, globs, {})
         return tests
@@ -1210,7 +1210,7 @@
         # Process each example.
         for examplenum, example in enumerate(test.examples):
 
-            # If REPORT_ONLY_FIRST_FAILURE is set, then supress
+            # If REPORT_ONLY_FIRST_FAILURE is set, then suppress
             # reporting after the first failure.
             quiet = (self.optionflags & REPORT_ONLY_FIRST_FAILURE and
                      failures > 0)
Index: docs/modpython.txt
===================================================================
--- docs/modpython.txt	(revision 2684)
+++ docs/modpython.txt	(working copy)
@@ -190,7 +190,7 @@
 ==============
 
 When you use Apache/mod_python, errors will be caught by Django -- in other
-words, they won't propogate to the Apache level and won't appear in the Apache
+words, they won't propagate to the Apache level and won't appear in the Apache
 ``error_log``.
 
 The exception for this is if something is really wonky in your Django setup. In
