* Scripts/svn-apply: Added comments about things we should do to improve.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jan 2006 06:08:51 +0000 (06:08 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jan 2006 06:08:51 +0000 (06:08 +0000)
        * Scripts/svn-create-patch: Ditto.
        * Scripts/svn-unapply: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/Scripts/svn-apply
WebKitTools/Scripts/svn-create-patch
WebKitTools/Scripts/svn-unapply

index 18cde47124eadddc23942cbe1f5ce0575ab75eb3..97dd6caf3f99bf7ca22bcf3b078615bf053d6e15 100644 (file)
@@ -1,3 +1,9 @@
+2006-01-29  Darin Adler  <darin@apple.com>
+
+        * Scripts/svn-apply: Added comments about things we should do to improve.
+        * Scripts/svn-create-patch: Ditto.
+        * Scripts/svn-unapply: Ditto.
+
 2006-01-28  Darin Adler  <darin@apple.com>
 
         * DumpRenderTree/DumpRenderTree.m: (dump): Dump the image if it's not
index 03043f3c9873aaf3324b425c49621a6947f05969..5cd4a30d8aa8188a02f785986d7564cb6e78d9fc 100755 (executable)
 #
 #   Handles added files (does a svn add).
 #   Handles removed files (does a svn rm).
-#   Has mode where it will roll back to svn version numbers in the patch file so svn can do a 3-way merge.
+#   Has mode where it will roll back to svn version numbers in the patch file so svn
+#       can do a 3-way merge.
+#   Paths from Index: lines are used rather than the paths on the patch lines, which
+#       makes patches generated by "cvs diff" work (increasingly unimportant since we
+#       use Subversion now).
 #
 # Missing features:
 #
-#   Handle binary files.
-#   When doing a removal, doesn't check that old file matches what's being removed.
+#   Handle property changes.
+#   Handle binary files (requires patches made by svn-create-patch).
+#   Handle file moves (requires patches made by svn-create-patch).
+#   When doing a removal, check that old file matches what's being removed.
 #   Notice a patch that's being applied at the "wrong level" and make it work anyway.
+#   Do a smart merge on ChangeLog files instead of just doing a normal patch.
+#   Do a dry run on the whole patch and don't do anything if part of the patch is
+#       going to fail (probably too strict unless we do the ChangeLog thing).
 
 use strict;
 use Cwd;
index 3a22f0685a81ae2c1a4768a64411124e60ca0753..bdfe5854b3a9bf7c253277726ca766540ee1e12f 100755 (executable)
 
 # Differences from standard "svn diff":
 #
+#   Uses the real diff, not svn's built-in diff.
 #   Always passes "-p" to diff so it will try to include function names.
-#   Other command line options are not supported.
 #
-# Missing feature:
+# Missing features:
 #
+#   Sort the diffs, since svn emits them in a seemingly-random order.
 #   Handle binary files (some text form of the binary file).
 #   Handle moved files.
 
@@ -112,7 +113,7 @@ sub diff
     my ($dir, $base) = getDirAndBase($path);
     my $errors = "";
     chdir $dir or die;
-    open DIFF, "svn diff --diff-cmd diff -x -uNp  '$base' |" or die;
+    open DIFF, "svn diff --diff-cmd diff -x -uNp '$base' |" or die;
     my $indexPath;
     while (<DIFF>) {
         if (/^Index: (.*)/) {
index 222c8ef740b8f36a58e10bc3a14d57375466466d..df5cbc3ff2da317765aa70fa6ec179b6839f281c 100755 (executable)
 
 # "patch" script for Web Kit Open Source Project, used to apply patches.
 
-# Differences from invoking "patch -p0":
+# Differences from invoking "patch -p0 -R":
 #
-#   Paths from Index: lines are used rather than the paths on the patch lines, which makes
-#       patches generated by "cvs diff" work.
-#   Handles added files (does a cvs add). 
-#   Handles removed files (does a cvs rm). 
+#   Handles added files (does a svn rm). 
+#   Handles removed files (does a svn add). 
+#   Paths from Index: lines are used rather than the paths on the patch lines, which
+#       makes patches generated by "cvs diff" work (increasingly unimportant since we
+#       use Subversion now).
 #
 # Missing features:
 #
-#   Use CVS version numbers in the patch file and do a 3-way merge.
-#   Handle binary files.
-#   When reversing an addition, doesn't check that file matches what's being removed.
+#   Handle property changes.
+#   Handle binary files (requires patches made by svn-create-patch).
+#   Handle file moves (requires patches made by svn-create-patch).
+#   Use version numbers in the patch file and do a 3-way merge.
+#   When reversing an addition, check that the file matches what's being removed.
+#   Notice a patch that's being unapplied at the "wrong level" and make it work anyway.
+#   Do a smart merge on ChangeLog files instead of just doing a normal patch.
+#   Do a dry run on the whole patch and don't do anything if part of the patch is
+#       going to fail (probably too strict unless we do the ChangeLog thing).
 
 use strict;
 use Cwd;