Merge branch 'jk/python-styles'
authorJunio C Hamano <gitster@pobox.com>
Thu, 7 Feb 2013 22:41:31 +0000 (14:41 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Feb 2013 22:41:31 +0000 (14:41 -0800)
* jk/python-styles:
CodingGuidelines: add Python coding guidelines

1  2 
Documentation/CodingGuidelines
index 1d7de5f985417d44c50dba036d53e7ea193ca148,432c6cdff07755c83cbf64be3c7fb141ed43db76..9eb2d9fe7ead5bc21e0a05706efb053b4fffa267
@@@ -1,5 -1,5 +1,5 @@@
  Like other projects, we also have some guidelines to keep to the
 -code.  For git in general, three rough rules are:
 +code.  For Git in general, three rough rules are:
  
   - Most importantly, we never say "It's in POSIX; we'll happily
     ignore your needs should your system not conform to it."
@@@ -22,7 -22,7 +22,7 @@@
  As for more concrete guidelines, just imitate the existing code
  (this is a good guideline, no matter which project you are
  contributing to). It is always preferable to match the _local_
 -convention. New code added to git suite is expected to match
 +convention. New code added to Git suite is expected to match
  the overall style of existing code. Modifications to existing
  code is expected to match the style the surrounding code already
  uses (even if it doesn't match the overall style of existing code).
@@@ -112,7 -112,7 +112,7 @@@ For C programs
  
   - We try to keep to at most 80 characters per line.
  
 - - We try to support a wide range of C compilers to compile git with,
 + - We try to support a wide range of C compilers to compile Git with,
     including old ones. That means that you should not use C99
     initializers, even if a lot of compilers grok it.
  
  
   - If you are planning a new command, consider writing it in shell
     or perl first, so that changes in semantics can be easily
 -   changed and discussed.  Many git commands started out like
 +   changed and discussed.  Many Git commands started out like
     that, and a few are still scripts.
  
 - - Avoid introducing a new dependency into git. This means you
 + - Avoid introducing a new dependency into Git. This means you
     usually should stay away from scripting languages not already
 -   used in the git core command set (unless your command is clearly
 +   used in the Git core command set (unless your command is clearly
     separate from it, such as an importer to convert random-scm-X
 -   repositories to git).
 +   repositories to Git).
  
   - When we pass <string, length> pair to functions, we should try to
     pass them in that order.
   - Use Git's gettext wrappers to make the user interface
     translatable. See "Marking strings for translation" in po/README.
  
+ For Python scripts:
+  - We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/).
+  - As a minimum, we aim to be compatible with Python 2.6 and 2.7.
+  - Where required libraries do not restrict us to Python 2, we try to
+    also be compatible with Python 3.1 and later.
+  - When you must differentiate between Unicode literals and byte string
+    literals, it is OK to use the 'b' prefix.  Even though the Python
+    documentation for version 2.6 does not mention this prefix, it has
+    been supported since version 2.6.0.
  Writing Documentation:
  
   Every user-visible change should be reflected in the documentation.
     valid usage.  "*" has its own pair of brackets, because it can
     (optionally) be specified only when one or more of the letters is
     also provided.
 +
 +  A note on notation:
 +   Use 'git' (all lowercase) when talking about commands i.e. something
 +   the user would type into a shell and use 'Git' (uppercase first letter)
 +   when talking about the version control system and its properties.