subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmpil...@apache.org
Subject svn commit: r1365675 [2/2] - in /subversion/branches/master-passphrase: ./ notes/directory-index/ subversion/include/ subversion/libsvn_client/ subversion/libsvn_fs_fs/ subversion/libsvn_ra/ subversion/libsvn_ra_serf/ subversion/libsvn_wc/ subversion/p...
Date Wed, 25 Jul 2012 17:45:54 GMT
Modified: subversion/branches/master-passphrase/subversion/po/de.po
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/po/de.po?rev=1365675&r1=1365674&r2=1365675&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/po/de.po [UTF-8] (original)
+++ subversion/branches/master-passphrase/subversion/po/de.po [UTF-8] Wed Jul 25 17:45:53
2012
@@ -4973,9 +4973,8 @@ msgid "Creating pre-revprop-change hook"
 msgstr "Erzeuge Aktion »pre-revprop-change«"
 
 #: ../libsvn_repos/repos.c:618
-#, fuzzy
 msgid "Creating pre-obliterate hook"
-msgstr "Erzeuge Aktion »pre-commit«"
+msgstr "Erzeuge Aktion »pre-obliterate«"
 
 #: ../libsvn_repos/repos.c:846
 msgid "Creating post-commit hook"
@@ -4986,9 +4985,8 @@ msgid "Creating post-revprop-change hook
 msgstr "Erzeuge Aktion »post-revprop-change«"
 
 #: ../libsvn_repos/repos.c:1090
-#, fuzzy
 msgid "Creating post-obliterate hook"
-msgstr "Erzeuge Aktion »post-commit«"
+msgstr "Erzeuge Aktion »post-obliterate«"
 
 #: ../libsvn_repos/repos.c:1100
 msgid "Creating conf directory"
@@ -7142,14 +7140,14 @@ msgid "Error restoring text for '%s'"
 msgstr "Fehler beim Wiederherstellen des Textes für »%s«"
 
 #: ../libsvn_wc/workqueue.c:1294
-#, fuzzy, c-format
+#, c-format
 msgid "Error processing post-commit work for '%s'"
-msgstr "Fehler beim Bearbeiten des Befehls »%s« in »%s«"
+msgstr "Fehler beim Verarbeiten der Arbeitsschritte nach Übertragung für »%s«"
 
 #: ../libsvn_wc/workqueue.c:2213
-#, fuzzy, c-format
+#, c-format
 msgid "Unrecognized work item in the queue associated with '%s'"
-msgstr "Unbekannter Revisionstyp für »%s« angefragt"
+msgstr "Unbekannter Arbeitsschritt in Warteschlange von »%s« "
 
 #: ../svn/blame-cmd.c:302 ../svn/list-cmd.c:232
 msgid "'verbose' option invalid in XML mode"
@@ -7177,7 +7175,7 @@ msgstr "»%s« scheint keine URL zu sein
 #: ../svn/commit-cmd.c:107
 #, c-format
 msgid "svn: warning: The depth of this commit is '%s', but copied directories will regardless
be committed with depth '%s'. You must remove unwanted children of those directories in a
separate commit.\n"
-msgstr ""
+msgstr "svn: Warnung: Die Tiefe dieser Übertragung ist »%s«, jedoch werden kopierte Verzeichnisse
dennoch mit Tiefe »%s« übertragen. Sie müssen nicht gewollte Kinder dieser Verzeichnisse
in einer gesonderten Übertragung entfernen.\n"
 
 #: ../svn/conflict-callbacks.c:158
 msgid "||||||| ORIGINAL"
@@ -7381,14 +7379,13 @@ msgstr ""
 "Ungültige Option; es gibt keine zusammengeführte Version zum Vergleichen.\n"
 "\n"
 
-# CHECKME: proper English?
 #: ../svn/conflict-callbacks.c:651
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Invalid option; cannot resolve property conflicts with an external merge tool.\n"
 "\n"
 msgstr ""
-"Ungültige Option; Auswahl anhand von Konflikten ist in einer Binärdatei nicht möglich.\n"
+"Ungültige Option; kann Konflikte in Eigenschaften nicht mit externem Werkzeug zum Zusammenführen
auflösen\n"
 "\n"
 
 #: ../svn/conflict-callbacks.c:666 ../svn/conflict-callbacks.c:680
@@ -7934,11 +7931,8 @@ msgstr ""
 "                             übergeben"
 
 #: ../svn/main.c:210
-#, fuzzy
 msgid "limit operation by depth ARG ('empty', 'files',\n"
-msgstr ""
-"begrenzt Operation durch Tiefe PAR (»empty«,\n"
-"                            »files«, »immediates« oder »infinity«)"
+msgstr "begrenzt Operation durch Tiefe PAR (»empty«, »files«,\n"
 
 #: ../svn/main.c:214
 msgid "set new working copy depth to ARG ('exclude',\n"
@@ -8038,11 +8032,8 @@ msgstr ""
 "                             PAR lesen"
 
 #: ../svn/main.c:254
-#, fuzzy
 msgid "set user configuration option in the format:\n"
-msgstr ""
-"Benutzerkonfigurationsdateien aus dem Verzeichnis\n"
-"                             PAR lesen"
+msgstr "Konfigurationsoption in diesem Format setzen:\n"
 
 #: ../svn/main.c:261
 msgid "enable automatic properties"
@@ -8203,7 +8194,6 @@ msgstr ""
 "  Falls angegeben, bestimmt REV, in welcher Revision zuerst nachgeschaut wird.\n"
 
 #: ../svn/main.c:433
-#, fuzzy
 msgid ""
 "Associate (or dissociate) changelist CLNAME with the named files.\n"
 "usage: 1. changelist CLNAME PATH...\n"
@@ -8211,8 +8201,8 @@ msgid ""
 msgstr ""
 "Verknüpft Änderungsliste CLNAME (oder löst diese Verknüpfung)\n"
 "mit den angegebenen Dateien.\n"
-"Aufruf: 1. changelist CLNAME ZIEL...\n"
-"        2. changelist --remove ZIEL...\n"
+"Aufruf: 1. changelist CLNAME PFAD...\n"
+"        2. changelist --remove PFAD...\n"
 
 #: ../svn/main.c:439
 msgid ""
@@ -8265,7 +8255,6 @@ msgstr ""
 "  die die durchgeführte Aktion beschreiben.\n"
 
 #: ../svn/main.c:466
-#, fuzzy
 msgid ""
 "Recursively clean up the working copy, removing locks, resuming\n"
 "unfinished operations, etc.\n"
@@ -8273,7 +8262,7 @@ msgid ""
 msgstr ""
 "Räumt die Arbeitskopie rekursiv auf, gibt Sperren frei,\n"
 "nimmt unvollständige Operationen wieder auf, usw.\n"
-"Aufruf: cleanup [PFAD...]\n"
+"Aufruf: cleanup [AKPFAD...]\n"
 
 #: ../svn/main.c:472
 msgid ""
@@ -8340,7 +8329,6 @@ msgstr ""
 "von der Quelle der Kopie in das Ziel weiterzureichen.\n"
 
 #: ../svn/main.c:505
-#, fuzzy
 msgid ""
 "Remove files and directories from version control.\n"
 "usage: 1. delete PATH...\n"
@@ -8356,8 +8344,7 @@ msgid ""
 "  2. Each item specified by a URL is deleted from the repository\n"
 "    via an immediate commit.\n"
 msgstr ""
-"Entfernt Dateien und Verzeichnisse aus der\n"
-"Versionskontrolle.\n"
+"Entfernt Dateien und Verzeichnisse aus der Versionskontrolle.\n"
 "Aufruf: 1. delete PFAD...\n"
 "        2. delete URL...\n"
 "\n"
@@ -8367,10 +8354,10 @@ msgstr ""
 "     die Option --keep-local wurde angegeben.\n"
 "     PFAD(e), die nicht versioniert oder geändert sind, bzw.\n"
 "     entsprechende Einträge enthalten, werden nur gelöscht, wenn\n"
-"     die Option »--force« angegeben wird.\n"
+"     die Optionen --force oder --keep-local angegeben wird.\n"
 "\n"
-"  2. Jede URL wird mittels einer sofortigen Übertragung aus dem\n"
-"     Projektarchiv entfernt.\n"
+"  2. Jedes mit einer URL angegebene Element wird mittels sofortiger\n"
+"     Übertragung aus dem Projektarchiv entfernt.\n"
 
 #: ../svn/main.c:521
 msgid ""
@@ -9564,6 +9551,8 @@ msgid ""
 "Upgrade the metadata storage format for a working copy.\n"
 "usage: upgrade WCPATH...\n"
 msgstr ""
+"Überführt die Metadaten einer Arbeitskopie in ein neues Speicherformat\n"
+"Aufruf: upgrade AKPATH...\n"
 
 #: ../svn/main.c:1221 ../svnadmin/main.c:86 ../svnlook/main.c:354
 #: ../svnsync/main.c:263
@@ -9585,7 +9574,7 @@ msgstr "-c kann nicht mit --old verwende
 #: ../svn/main.c:1391
 #, c-format
 msgid "Negative number in range (%s) not supported with -c"
-msgstr ""
+msgstr "Negative Zahl im Bereich (%s) ist mit -c nicht unterstützt"
 
 #: ../svn/main.c:1404
 #, c-format
@@ -9855,42 +9844,42 @@ msgstr "Konflikt von »%s« aufgelöst\n
 #: ../svn/notify.c:320 ../svn/notify.c:360
 #, c-format
 msgid ">         applied hunk ## -%lu,%lu +%lu,%lu ## with offset %s"
-msgstr ""
+msgstr ">         Abschnitt ## -%lu,%lu +%lu,%lu ## mit Versatz %s angewandt"
 
 #: ../svn/notify.c:337 ../svn/notify.c:374
 #, c-format
 msgid ">         applied hunk @@ -%lu,%lu +%lu,%lu @@ with offset %s"
-msgstr ""
+msgstr ">         Abschnitt @@ -%lu,%lu +%lu,%lu @@ mit Versatz %s angewandt"
 
 #: ../svn/notify.c:395
 #, c-format
 msgid ">         applied hunk ## -%lu,%lu +%lu,%lu ## with fuzz %d (%s)\n"
-msgstr ""
+msgstr ">         Abschnitt ## -%lu,%lu +%lu,%lu ## mit Unschärfe %d (%s) angewandt\n"
 
 #: ../svn/notify.c:405
 #, c-format
 msgid ">         applied hunk @@ -%lu,%lu +%lu,%lu @@ with fuzz %d\n"
-msgstr ""
+msgstr ">         Abschnitt @@ -%lu,%lu +%lu,%lu @@ mit Unschärfe %d angewandt\n"
 
 #: ../svn/notify.c:423
 #, c-format
 msgid ">         rejected hunk ## -%lu,%lu +%lu,%lu ## (%s)\n"
-msgstr ""
+msgstr ">         Abschnitt ## -%lu,%lu +%lu,%lu ## (%s) zurückgewiesen\n"
 
 #: ../svn/notify.c:432
 #, c-format
 msgid ">         rejected hunk @@ -%lu,%lu +%lu,%lu @@\n"
-msgstr ""
+msgstr ">         Abschnitt @@ -%lu,%lu +%lu,%lu @@ zurückgewiesen\n"
 
 #: ../svn/notify.c:446
 #, c-format
 msgid ">         hunk ## -%lu,%lu +%lu,%lu ## already applied (%s)\n"
-msgstr ""
+msgstr ">         Abschnitt ## -%lu,%lu +%lu,%lu ## bereits angewandt (%s)\n"
 
 #: ../svn/notify.c:456
 #, c-format
 msgid ">         hunk @@ -%lu,%lu +%lu,%lu @@ already applied\n"
-msgstr ""
+msgstr ">         Abschnitt @@ -%lu,%lu +%lu,%lu @@ bereits angewandt\n"
 
 #  Currently this is used for checkouts and switches too.  If we
 #  want different output, we'll have to add new actions.
@@ -10157,7 +10146,7 @@ msgstr "Ziel muss die Revision als Zahl 
 
 #: ../svn/obliterate-cmd.c:119
 msgid "Target must specify a URL"
-msgstr ""
+msgstr "Ziel muss eine URL angeben"
 
 #: ../svn/propdel-cmd.c:117
 #, c-format
@@ -10303,7 +10292,7 @@ msgstr "hinzugefügt"
 
 #: ../svn/tree-conflicts.c:41 ../svn/tree-conflicts.c:63
 msgid "replace"
-msgstr ""
+msgstr "ersetzt"
 
 #: ../svn/tree-conflicts.c:60
 msgid "missing"
@@ -11154,7 +11143,7 @@ msgstr "Filterstatistik nicht anzeigen."
 
 #: ../svndumpfilter/main.c:926
 msgid "Treat the path prefixes as file glob patterns."
-msgstr ""
+msgstr "Pfadpräfix als Dateiplatzhalter behandeln."
 
 #: ../svndumpfilter/main.c:928
 msgid "Remove revisions emptied by filtering."
@@ -11754,7 +11743,7 @@ msgstr "Versuchen Sie »svnlook help« f
 
 #: ../svnrdump/load_editor.c:97 ../svnsync/main.c:351
 msgid "Target server does not support atomic revision property edits; consider upgrading
it to 1.7 or using an external locking program"
-msgstr ""
+msgstr "Zielserver unterstützt keine atomaren Änderungen von Revisionseigenschaften; Verwenden
Sie entweder 1.7 oder ein externes Programm zum Sperren."
 
 #: ../svnrdump/load_editor.c:106 ../svnsync/main.c:360
 #, c-format
@@ -11775,7 +11764,7 @@ msgstr "Konnte Sperre für Zielprojektar
 
 #: ../svnrdump/load_editor.c:684
 msgid "\"svnrdump load\"'s lock was stolen; can't remove it"
-msgstr ""
+msgstr "Die Sperre von »svnrump load« wurde gestohlen und konnte nicht entfernt werden"
 
 #: ../svnrdump/svnrdump.c:58
 msgid ""
@@ -11784,6 +11773,10 @@ msgid ""
 "Dump revisions LOWER to UPPER of repository at remote URL to stdout in a 'dumpfile' portable
format.\n"
 "If only LOWER is given, dump that one revision.\n"
 msgstr ""
+"Aufruf: svnrdump dump URL [-r VON[:BIS]]\n"
+"\n"
+"Gibt einen Abzug der Revisionen VON:BIS eines Projektarchivs an der entferten URL in einem
portablen »Dump«-Format aus.\n"
+"Falls nur VON angegeben wurde, wird nur diese Revision ausgegeben.\n"
 
 #: ../svnrdump/svnrdump.c:64
 msgid ""
@@ -11791,6 +11784,9 @@ msgid ""
 "\n"
 "Load a 'dumpfile' given on stdin to a repository at remote URL.\n"
 msgstr ""
+"Aufruf: svnrdump load URL\n"
+"\n"
+"Liest einen Datenstrom im »Dump«-Format von der Standardeingabe in ein Projektarchive
an entfertner URL.\n"
 
 #: ../svnrdump/svnrdump.c:69
 msgid ""
@@ -11839,7 +11835,7 @@ msgstr "Revision %ld existiert nicht.\n"
 #: ../svnrdump/svnrdump.c:592
 #, c-format
 msgid "LOWER cannot be greater than UPPER.\n"
-msgstr ""
+msgstr "VON kann nicht größer als BIS sein.\n"
 
 #: ../svnserve/cyrus_auth.c:264
 #, c-format
@@ -11928,6 +11924,11 @@ msgid ""
 "                             at the same time is not supported in daemon mode.\n"
 "                             Use inetd mode or tunnel mode if you need this.]"
 msgstr ""
+"Bevorzuge IPv6 beim Auflösen des abzuhörenden Rechnernamens\n"
+"                             [IPv4 ist als bevorzugt vorgegeben. Gleichzeitige\n"
+"                             Verwendung von IPv4 und IPv6 ist im Daemon-Modus\n"
+"                             nicht unterstützt. Verwenden Sie bei Bedarf inetd\n"
+"                             oder den Tunnel-Modus."
 
 #. ### Making the assumption here that WIN32 never has fork and so
 #. * ### this option never exists when --service exists.

Modified: subversion/branches/master-passphrase/subversion/tests/cmdline/depth_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/tests/cmdline/depth_tests.py?rev=1365675&r1=1365674&r2=1365675&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/tests/cmdline/depth_tests.py (original)
+++ subversion/branches/master-passphrase/subversion/tests/cmdline/depth_tests.py Wed Jul
25 17:45:53 2012
@@ -2881,7 +2881,29 @@ def commit_then_immediates_update(sbox):
                                         expected_status,
                                         None, None, None, None, None, False,
                                         "--depth=immediates", wc_dir)
+
+def revert_depth_files(sbox):
+  "depth immediate+files should revert deleted files"
+
+  sbox.build(read_only = True)
+  
+  expected_output = "Reverted '" + re.escape(sbox.ospath('A/mu')) + "'"
   
+  # Apply an unrelated delete one level to deep
+  sbox.simple_rm('A/D/gamma')
+
+  sbox.simple_rm('A/mu')
+  # Expect reversion of just 'mu'
+  svntest.actions.run_and_verify_svn(None, expected_output, [],
+                                     'revert', '--depth=immediates', sbox.ospath('A'))
+
+  # Apply an unrelated directory delete
+  sbox.simple_rm('A/D')
+
+  sbox.simple_rm('A/mu')
+  # Expect reversion of just 'mu'
+  svntest.actions.run_and_verify_svn(None, expected_output, [],
+                                     'revert', '--depth=files', sbox.ospath('A'))
 
 
 #----------------------------------------------------------------------
@@ -2932,6 +2954,7 @@ test_list = [ None,
               sparse_update_with_dash_dash_parents,
               update_below_depth_empty,
               commit_then_immediates_update,
+              revert_depth_files,
               ]
 
 if __name__ == "__main__":

Modified: subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py?rev=1365675&r1=1365674&r2=1365675&view=diff
==============================================================================
--- subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py (original)
+++ subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py Wed Jul 25 17:45:53
2012
@@ -95,7 +95,7 @@ svn__apr_hash_index_val = InferiorFuncti
 
 def children_of_apr_hash(hash_p, value_type=None):
     """Iterate over an 'apr_hash_t *' GDB value, in the way required for a
-       pretty-printer 'children' method when the display-hint is 'array'.
+       pretty-printer 'children' method when the display-hint is 'map'.
        Cast the value pointers to VALUE_TYPE, or return values as '...' if
        VALUE_TYPE is None."""
     hi = apr_hash_first(0, hash_p)
@@ -115,7 +115,10 @@ def children_of_apr_hash(hash_p, value_t
 class AprHashPrinter:
     """for 'apr_hash_t' of 'char *' keys and unknown values"""
     def __init__(self, val):
-        self.hash_p = val.address
+        if val.type.code == gdb.TYPE_CODE_PTR:
+            self.hash_p = val
+        else:
+            self.hash_p = val.address
 
     def to_string(self):
         """Return a string to be displayed before children are displayed, or
@@ -132,15 +135,13 @@ class AprHashPrinter:
     def display_hint(self):
         return 'map'
 
-class PtrAprHashPrinter(AprHashPrinter):
-    """for pointer to 'apr_hash_t' of 'char *' keys and unknown values"""
-    def __init__(self, val):
-        self.hash_p = val
-
 class AprArrayPrinter:
     """for 'apr_array_header_t' of unknown elements"""
     def __init__(self, val):
-        self.array = val
+        if val.type.code == gdb.TYPE_CODE_PTR and val:
+            self.array = val.dereference()
+        else:
+            self.array = val
 
     def to_string(self):
         if not self.array:
@@ -155,56 +156,134 @@ class AprArrayPrinter:
     def display_hint(self):
         return 'array'
 
-class PtrAprArrayPrinter(AprArrayPrinter):
-    """for pointer to 'apr_array_header_t' of unknown elements"""
+def children_of_apr_array(array, value_type):
+    """Iterate over an 'apr_array_header_t' GDB value, in the way required for
+       a pretty-printer 'children' method when the display-hint is 'array'.
+       Cast the value pointers to VALUE_TYPE."""
+    nelts = int(array['nelts'])
+    elts = array['elts'].reinterpret_cast(value_type.pointer())
+    for i in range(nelts):
+        yield str(i), elts[i]
+
+########################################################################
+
+# Pretty-printing for Subversion libsvn_subr types.
+
+class SvnStringPrinter:
     def __init__(self, val):
-        if not val:
-            self.array = None
+        if val.type.code == gdb.TYPE_CODE_PTR and val:
+            self.val = val.dereference()
         else:
-            self.array = val.dereference()
+            self.val = val
 
+    def to_string(self):
+        if not self.val:
+            return 'NULL'
 
-########################################################################
+        data = self.val['data']
+        len = int(self.val['len'])
+        return data.string(length=len)
 
-# Pretty-printing for Subversion library types.
+    def display_hint(self):
+        return 'string'
 
-class SvnStringPrinter:
+class SvnMergeRangePrinter:
     def __init__(self, val):
-        self.val = val
+        if val.type.code == gdb.TYPE_CODE_PTR and val:
+            self.val = val.dereference()
+        else:
+            self.val = val
 
     def to_string(self):
-        # Make sure string * works, too
-        val = self.val
+        if not self.val:
+            return 'NULL'
+
+        r = self.val
+        rs = str(r['start']) + '-' + str(r['end'])
+        if not r['inheritable']:
+          rs += '*'
+        return rs
+
+    def display_hint(self):
+        return 'string'
+
+class SvnRangelistPrinter:
+    def __init__(self, val):
+        if val.type.code == gdb.TYPE_CODE_PTR and val:
+            self.array = val.dereference()
+        else:
+            self.array = val
+        self.svn_merge_range_t = gdb.lookup_type('svn_merge_range_t')
 
-        ptr = val['data']
-        len = val['len']
+    def to_string(self):
+        if not self.array:
+            return 'NULL'
 
-        return "length: " + str(int(len)) + "; contents: '" + ptr.string(length=len) + "'"
+        s = ''
+        for key, val in children_of_apr_array(self.array,
+                       self.svn_merge_range_t.pointer()):
+            if s:
+              s += ','
+            s += SvnMergeRangePrinter(val).to_string()
+        return s
 
     def display_hint(self):
         return 'string'
 
+class SvnMergeinfoPrinter:
+    """for svn_mergeinfo_t"""
+    def __init__(self, val):
+        self.hash_p = val
+        # We don't actually have an svn_rangelist_t in Subversion...
+        self.svn_rangelist_t = gdb.lookup_type('apr_array_header_t')
+
+    def to_string(self):
+        if self.hash_p == 0:
+            return 'NULL'
+
+        s = ''
+        for key, val in children_of_apr_hash(self.hash_p,
+                                             self.svn_rangelist_t.pointer()):
+            if s:
+              s += '; '
+            s += key + ':' + SvnRangelistPrinter(val).to_string()
+        return '{ ' + s + ' }'
+
 class SvnMergeinfoCatalogPrinter:
     """for svn_mergeinfo_catalog_t"""
     def __init__(self, val):
         self.hash_p = val
+        self.svn_mergeinfo_t = gdb.lookup_type('svn_mergeinfo_t')
 
     def to_string(self):
         if self.hash_p == 0:
             return 'NULL'
-        return 'mergeinfo catalog of ' + str(apr_hash_count(self.hash_p)) + ' items'
 
-    def children(self):
-        if self.hash_p == 0:
-            # Return an empty list so GDB prints only the 'NULL' that is
-            # returned by to_string().  If instead we were to return None
-            # here, GDB would issue a 'not iterable' error message.
-            return []
-        mergeinfoType = gdb.lookup_type('svn_mergeinfo_t')
-        return children_as_map(children_of_apr_hash(self.hash_p, mergeinfoType))
+        s = ''
+        for key, val in children_of_apr_hash(self.hash_p,
+                                             self.svn_mergeinfo_t):
+            if s:
+              s += ',\n  '
+            s += "'" + key + "': " + SvnMergeinfoPrinter(val).to_string()
+        return '{ ' + s + ' }'
+
+########################################################################
+
+# Pretty-printing for Subversion libsvn_client types.
+
+class SvnPathrevPrinter:
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        rev = int(self.val['rev'])
+        url = self.val['url'].string()
+        repos_root_url = self.val['repos_root_url'].string()
+        relpath = url[len(repos_root_url):]
+        return "%s@%d" % (relpath, rev)
 
     def display_hint(self):
-        return 'map'
+        return 'string'
 
 
 ########################################################################
@@ -231,15 +310,20 @@ def build_libsvn_printers():
     # after stripping const/volatile qualifiers.
     #
     # TODO: The "apr_foo_t *" entries are in this collection merely because
-    #       the collection above can't match them, but ideally we'd fix that
-    #       matching and move these entries to there so that they get used
+    #       the collection above can't match any pointer type (because the
+    #       pointer itself has no tag-name).  Ideally we'd improve that
+    #       matching so that for example the 'apr_hash_t *' entry would
+    #       match both
+    #         any typedef that resolves to pointer-to-apr_hash_t
+    #       and
+    #         pointer to any typedef that resolves to apr_hash_t
     #       for any typedef that doesn't have its own specific pretty-printer
     #       registered.
     libapr_printer2 = TypedefRegexCollectionPrettyPrinter("libapr2")
     libapr_printer2.add_printer('apr_hash_t *', r'^apr_hash_t \*$',
-                                PtrAprHashPrinter)
+                                AprHashPrinter)
     libapr_printer2.add_printer('apr_array_header_t *', r'^apr_array_header_t \*$',
-                                PtrAprArrayPrinter)
+                                AprArrayPrinter)
 
     # These sub-printers match a struct's (or union)'s tag name,
     # after stripping typedefs, references and const/volatile qualifiers.
@@ -250,6 +334,21 @@ def build_libsvn_printers():
     # These sub-printers match a type name at the point of use,
     # after stripping const/volatile qualifiers.
     libsvn_printer2 = TypedefRegexCollectionPrettyPrinter("libsvn2")
+    libsvn_printer2.add_printer('svn_string_t *', r'^svn_string_t \*$',
+                               SvnStringPrinter)
+    libsvn_printer2.add_printer('svn_client__pathrev_t', r'^svn_client__pathrev_t$',
+                                SvnPathrevPrinter)
+    libsvn_printer2.add_printer('svn_merge_range_t', r'^svn_merge_range_t$',
+                                SvnMergeRangePrinter)
+    libsvn_printer2.add_printer('svn_merge_range_t *', r'^svn_merge_range_t \*$',
+                                SvnMergeRangePrinter)
+    # If we define an 'svn_rangelist_t' type in Subversion, we'll want these:
+    #libsvn_printer2.add_printer('svn_rangelist_t', r'^svn_rangelist_t$',
+    #                            SvnRangelistPrinter)
+    #libsvn_printer2.add_printer('svn_rangelist_t *', r'^svn_rangelist_t \*$',
+    #                            SvnRangelistPrinter)
+    libsvn_printer2.add_printer('svn_mergeinfo_t', r'^svn_mergeinfo_t$',
+                                SvnMergeinfoPrinter)
     libsvn_printer2.add_printer('svn_mergeinfo_catalog_t', r'^svn_mergeinfo_catalog_t$',
                                 SvnMergeinfoCatalogPrinter)
 

Modified: subversion/branches/master-passphrase/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/win-tests.py?rev=1365675&r1=1365674&r2=1365675&view=diff
==============================================================================
--- subversion/branches/master-passphrase/win-tests.py (original)
+++ subversion/branches/master-passphrase/win-tests.py Wed Jul 25 17:45:53 2012
@@ -78,7 +78,6 @@ def _usage_exit():
   print("                           will be used, if not specified")
   print("  --httpd-daemon         : Run Apache httpd as daemon")
   print("  --httpd-service        : Run Apache httpd as Windows service (default)")
-  print("  --http-library         : dav library to use, neon (default) or serf")
   print("  --http-short-circuit   : Use SVNPathAuthz short_circuit on HTTP server")
   print("  --disable-http-v2      : Do not advertise support for HTTPv2 on server")
   print("  --disable-bulk-updates : Disable bulk updates on HTTP server")
@@ -127,7 +126,7 @@ opts, args = my_getopt(sys.argv[1:], 'hr
                        ['release', 'debug', 'verbose', 'quiet', 'cleanup',
                         'test=', 'url=', 'svnserve-args=', 'fs-type=', 'asp.net-hack',
                         'httpd-dir=', 'httpd-port=', 'httpd-daemon',
-                        'httpd-server', 'http-library=', 'http-short-circuit',
+                        'httpd-server', 'http-short-circuit',
                         'disable-http-v2', 'disable-bulk-updates', 'help',
                         'fsfs-packing', 'fsfs-sharding=', 'javahl',
                         'list', 'enable-sasl', 'bin=', 'parallel',
@@ -147,7 +146,6 @@ svnserve_args = None
 run_httpd = None
 httpd_port = None
 httpd_service = None
-http_library = 'serf'
 http_short_circuit = False
 advertise_httpv2 = True
 http_bulk_updates = True
@@ -199,8 +197,6 @@ for opt, val in opts:
     httpd_service = 0
   elif opt == '--httpd-service':
     httpd_service = 1
-  elif opt == '--http-library':
-    http_library = val
   elif opt == '--http-short-circuit':
     http_short_circuit = True
   elif opt == '--disable-http-v2':
@@ -740,7 +736,7 @@ if not test_javahl:
   th = run_tests.TestHarness(abs_srcdir, abs_builddir,
                              log_file,
                              fail_log_file,
-                             base_url, fs_type, http_library,
+                             base_url, fs_type, 'serf',
                              server_minor_version, not quiet,
                              cleanup, enable_sasl, parallel, config_file,
                              fsfs_sharding, fsfs_packing,



Mime
View raw message