>
> I would like to rewrite the CG, but first I would like somebody
> (not me) to change upload.py
> - ideally the changes should be sent upstream
> - I'm willing to have a temporary "fork" of upload.py while we're
>  waiting for a new official version of upload.py
>

I finally made a good patch (bug-free), but we need to update codereview's
server.
The "temporary fork" option can't work.

I attached the patch for Rietveld.
It applies on this :
http://code.google.com/p/rietveld/source/checkout

You can try it locally :
- Download Google App Engine :
http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python
- in Google App Engine's directory, run :
python dev_appserver.py [path_to_rietveld]
- send a patch set between commit1 and commit2 :
python [path_to_rietveld]/upload.py -slocalhost:8080 -y [commit2]..[commit1]
- see the result on localhost:8080

Regards,
Bertrand
Index: codereview/engine.py
===================================================================
--- codereview/engine.py	(révision 775)
+++ codereview/engine.py	(copie de travail)
@@ -53,11 +53,13 @@
   patches = []
   filename = None
   diff = []
+  skip = False
   for line in data.splitlines(True):
     new_filename = None
     if line.startswith('Index:'):
       unused, new_filename = line.split(':', 1)
       new_filename = new_filename.strip()
+      skip = False
     elif line.startswith('Property changes on:'):
       unused, temp_filename = line.split(':', 1)
       # When a file is modified, paths use '/' between directories, however
@@ -67,6 +69,11 @@
       if temp_filename != filename:
         # File has property changes but no modifications, create a new diff.
         new_filename = temp_filename
+    # Skips metadatas in git patches
+    if line == '-- \n':
+      skip = True
+    if skip:
+      continue
     if new_filename:
       if filename and diff:
         patches.append((filename, ''.join(diff)))
Index: upload.py
===================================================================
--- upload.py	(révision 775)
+++ upload.py	(copie de travail)
@@ -1239,7 +1239,7 @@
     # git config key "diff.external" is used).
     env = os.environ.copy()
     if 'GIT_EXTERNAL_DIFF' in env: del env['GIT_EXTERNAL_DIFF']
-    return RunShell(["git", "diff", "--no-ext-diff", "--full-index", "-M"]
+    return RunShell(["git", "format-patch", "--stdout", "-M"]
                     + extra_args, env=env)
 
   def GetUnknownFiles(self):
@@ -1786,11 +1786,13 @@
   patches = []
   filename = None
   diff = []
+  skip = False
   for line in data.splitlines(True):
     new_filename = None
     if line.startswith('Index:'):
       unused, new_filename = line.split(':', 1)
       new_filename = new_filename.strip()
+      skip = False
     elif line.startswith('Property changes on:'):
       unused, temp_filename = line.split(':', 1)
       # When a file is modified, paths use '/' between directories, however
@@ -1800,6 +1802,11 @@
       if temp_filename != filename:
         # File has property changes but no modifications, create a new diff.
         new_filename = temp_filename
+    # Skips metadatas in git patches
+    if line == '-- \n':
+      skip = True
+    if skip:
+      continue
     if new_filename:
       if filename and diff:
         patches.append((filename, ''.join(diff)))
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to