diff --git a/git_config.py b/git_config.py
index 6589b19..645c97a 100644
--- a/git_config.py
+++ b/git_config.py
@@ -168,7 +168,7 @@
       elif old != value:
         self._cache[key] = list(value)
         self._do('--replace-all', name, value[0])
-        for i in xrange(1, len(value)):
+        for i in range(1, len(value)):
           self._do('--add', name, value[i])
 
     elif len(old) != 1 or old[0] != value:
diff --git a/main.py b/main.py
index 10e1cf8..14a5761 100755
--- a/main.py
+++ b/main.py
@@ -87,7 +87,7 @@
     name = None
     glob = []
 
-    for i in xrange(0, len(argv)):
+    for i in range(len(argv)):
       if not argv[i].startswith('-'):
         name = argv[i]
         if i > 0:
diff --git a/repo b/repo
index 1b80908..80eff8f 100755
--- a/repo
+++ b/repo
@@ -606,7 +606,7 @@
   opt = _Options()
   arg = []
 
-  for i in xrange(0, len(args)):
+  for i in range(len(args)):
     a = args[i]
     if a == '-h' or a == '--help':
       opt.help = True
diff --git a/subcmds/stage.py b/subcmds/stage.py
index 2ec4806..1ff8588 100644
--- a/subcmds/stage.py
+++ b/subcmds/stage.py
@@ -58,7 +58,7 @@
       out.header('        %s', 'project')
       out.nl()
 
-      for i in xrange(0, len(all_projects)):
+      for i in range(len(all_projects)):
         p = all_projects[i]
         out.write('%3d:    %s', i + 1, p.relpath + '/')
         out.nl()
