Author: stefan2
Date: Sat Dec 29 01:06:15 2012
New Revision: 1426679

URL: http://svn.apache.org/viewvc?rev=1426679&view=rev
Log:
On the fsfs-format7 branch: remove most constants from the low-level API
and adapt callers.

* subversion/libsvn_fs_fs/low_level.h
  (SVN_FS_FS__KIND_FILE): renamed from KIND_FILE
  (SVN_FS_FS__KIND_DIR): renamed from KIND_DIR
  (HEADER_ID,
   HEADER_TYPE,
   HEADER_COUNT,
   HEADER_PROPS,
   HEADER_TEXT,
   HEADER_CPATH,
   HEADER_PRED,
   HEADER_COPYFROM,
   HEADER_COPYROOT,
   HEADER_FRESHTXNRT,
   HEADER_MINFO_HERE,
   HEADER_MINFO_CNT,
   ACTION_MODIFY,
   ACTION_ADD,
   ACTION_DELETE,
   ACTION_REPLACE,
   ACTION_RESET,
   FLAG_TRUE,
   FLAG_FALSE,
   REP_PLAIN,
   REP_DELTA,
   FSFS_MAX_PATH_LEN): remove from API ...
* subversion/libsvn_fs_fs/low_level.c
  (HEADER_ID,
   HEADER_TYPE,
   HEADER_COUNT,
   HEADER_PROPS,
   HEADER_TEXT,
   HEADER_CPATH,
   HEADER_PRED,
   HEADER_COPYFROM,
   HEADER_COPYROOT,
   HEADER_FRESHTXNRT,
   HEADER_MINFO_HERE,
   HEADER_MINFO_CNT,
   ACTION_MODIFY,
   ACTION_ADD,
   ACTION_DELETE,
   ACTION_REPLACE,
   ACTION_RESET,
   FLAG_TRUE,
   FLAG_FALSE,
   REP_PLAIN,
   REP_DELTA,
   FSFS_MAX_PATH_LEN): ... and declare them locally
  (svn_fs_fs__read_noderev,
   svn_fs_fs__write_noderev,
   read_change,
   write_change_entry): adapt to renames

* subversion/libsvn_fs_fs/cached_data.c
  (parse_dir_entries): ditto
* subversion/libsvn_fs_fs/recovery.c
  (recover_find_max_ids): same here ...
* subversion/libsvn_fs_fs/transaction.c
  (unparse_dir_entry): ... and here
  (rep_write_get_baton,
   write_hash_delta_rep): use svn_fs_fs__write_rep_header API

Modified:
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/cached_data.c
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/recovery.c
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/cached_data.c?rev=1426679&r1=1426678&r2=1426679&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/cached_data.c 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/cached_data.c Sat 
Dec 29 01:06:15 2012
@@ -1531,11 +1531,11 @@ parse_dir_entries(apr_hash_t **entries_p
                                  _("Directory entry corrupt in '%s'"),
                                  unparsed_id);
 
-      if (strcmp(str, KIND_FILE) == 0)
+      if (strcmp(str, SVN_FS_FS__KIND_FILE) == 0)
         {
           dirent->kind = svn_node_file;
         }
-      else if (strcmp(str, KIND_DIR) == 0)
+      else if (strcmp(str, SVN_FS_FS__KIND_DIR) == 0)
         {
           dirent->kind = svn_node_dir;
         }

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c?rev=1426679&r1=1426678&r2=1426679&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c Sat 
Dec 29 01:06:15 2012
@@ -34,6 +34,39 @@
 #include "pack.h"
 #include "cached_data.h"
 
+/* Headers used to describe node-revision in the revision file. */
+#define HEADER_ID          "id"
+#define HEADER_TYPE        "type"
+#define HEADER_COUNT       "count"
+#define HEADER_PROPS       "props"
+#define HEADER_TEXT        "text"
+#define HEADER_CPATH       "cpath"
+#define HEADER_PRED        "pred"
+#define HEADER_COPYFROM    "copyfrom"
+#define HEADER_COPYROOT    "copyroot"
+#define HEADER_FRESHTXNRT  "is-fresh-txn-root"
+#define HEADER_MINFO_HERE  "minfo-here"
+#define HEADER_MINFO_CNT   "minfo-cnt"
+
+/* Kinds that a change can be. */
+#define ACTION_MODIFY      "modify"
+#define ACTION_ADD         "add"
+#define ACTION_DELETE      "delete"
+#define ACTION_REPLACE     "replace"
+#define ACTION_RESET       "reset"
+
+/* True and False flags. */
+#define FLAG_TRUE          "true"
+#define FLAG_FALSE         "false"
+
+/* Kinds of representation. */
+#define REP_PLAIN          "PLAIN"
+#define REP_DELTA          "DELTA"
+
+/* An arbitrary maximum path length, so clients can't run us out of memory
+ * by giving us arbitrarily large paths. */
+#define FSFS_MAX_PATH_LEN 4096
+
 /* The 256 is an arbitrary size large enough to hold the node id and the
  * various flags. */
 #define MAX_CHANGE_LINE_LEN FSFS_MAX_PATH_LEN + 256
@@ -351,14 +384,16 @@ svn_fs_fs__read_noderev(node_revision_t 
   value = apr_hash_get(headers, HEADER_TYPE, APR_HASH_KEY_STRING);
 
   if ((value == NULL) ||
-      (strcmp(value, KIND_FILE) != 0 && strcmp(value, KIND_DIR)))
+      (   strcmp(value, SVN_FS_FS__KIND_FILE)
+       && strcmp(value, SVN_FS_FS__KIND_DIR)))
     /* ### s/kind/type/ */
     return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
                              _("Missing kind field in node-rev '%s'"),
                              noderev_id);
 
-  noderev->kind = (strcmp(value, KIND_FILE) == 0) ? svn_node_file
-    : svn_node_dir;
+  noderev->kind = (strcmp(value, SVN_FS_FS__KIND_FILE) == 0)
+                ? svn_node_file
+                : svn_node_dir;
 
   /* Read the 'count' field. */
   value = apr_hash_get(headers, HEADER_COUNT, APR_HASH_KEY_STRING);
@@ -529,7 +564,7 @@ svn_fs_fs__write_noderev(svn_stream_t *o
 
   SVN_ERR(svn_stream_printf(outfile, pool, HEADER_TYPE ": %s\n",
                             (noderev->kind == svn_node_file) ?
-                            KIND_FILE : KIND_DIR));
+                            SVN_FS_FS__KIND_FILE : SVN_FS_FS__KIND_DIR));
 
   if (noderev->predecessor_id)
     SVN_ERR(svn_stream_printf(outfile, pool, HEADER_PRED ": %s\n",
@@ -724,9 +759,9 @@ read_change(change_t **change_p,
       /* Cap off the end of "str" (the action). */
       *kind_str = '\0';
       kind_str++;
-      if (strcmp(kind_str, KIND_FILE) == 0)
+      if (strcmp(kind_str, SVN_FS_FS__KIND_FILE) == 0)
         change->node_kind = svn_node_file;
-      else if (strcmp(kind_str, KIND_DIR) == 0)
+      else if (strcmp(kind_str, SVN_FS_FS__KIND_DIR) == 0)
         change->node_kind = svn_node_dir;
       else
         return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
@@ -903,7 +938,8 @@ write_change_entry(svn_stream_t *stream,
                      || change->node_kind == svn_node_file);
       kind_string = apr_psprintf(pool, "-%s",
                                  change->node_kind == svn_node_dir
-                                 ? KIND_DIR : KIND_FILE);
+                                 ? SVN_FS_FS__KIND_DIR
+                                  : SVN_FS_FS__KIND_FILE);
     }
   buf = apr_psprintf(pool, "%s %s%s %s %s %s\n",
                      idstr, change_string, kind_string,

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h?rev=1426679&r1=1426678&r2=1426679&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h Sat 
Dec 29 01:06:15 2012
@@ -25,42 +25,9 @@
 #include "fs_fs.h"
 #include "id.h"
 
-/* Headers used to describe node-revision in the revision file. */
-#define HEADER_ID          "id"
-#define HEADER_TYPE        "type"
-#define HEADER_COUNT       "count"
-#define HEADER_PROPS       "props"
-#define HEADER_TEXT        "text"
-#define HEADER_CPATH       "cpath"
-#define HEADER_PRED        "pred"
-#define HEADER_COPYFROM    "copyfrom"
-#define HEADER_COPYROOT    "copyroot"
-#define HEADER_FRESHTXNRT  "is-fresh-txn-root"
-#define HEADER_MINFO_HERE  "minfo-here"
-#define HEADER_MINFO_CNT   "minfo-cnt"
-
-/* Kinds that a change can be. */
-#define ACTION_MODIFY      "modify"
-#define ACTION_ADD         "add"
-#define ACTION_DELETE      "delete"
-#define ACTION_REPLACE     "replace"
-#define ACTION_RESET       "reset"
-
-/* True and False flags. */
-#define FLAG_TRUE          "true"
-#define FLAG_FALSE         "false"
-
 /* Kinds that a node-rev can be. */
-#define KIND_FILE          "file"
-#define KIND_DIR           "dir"
-
-/* Kinds of representation. */
-#define REP_PLAIN          "PLAIN"
-#define REP_DELTA          "DELTA"
-
-/* An arbitrary maximum path length, so clients can't run us out of memory
- * by giving us arbitrarily large paths. */
-#define FSFS_MAX_PATH_LEN 4096
+#define SVN_FS_FS__KIND_FILE          "file"
+#define SVN_FS_FS__KIND_DIR           "dir"
 
 /* Given the last "few" bytes (should be at least 40) of revision REV in
  * TRAILER,  parse the last line and return the offset of the root noderev

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/recovery.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/recovery.c?rev=1426679&r1=1426678&r2=1426679&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/recovery.c 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/recovery.c Sat Dec 
29 01:06:15 2012
@@ -226,9 +226,9 @@ recover_find_max_ids(svn_fs_t *fs, svn_r
         return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
                                 _("Directory entry corrupt"));
 
-      if (strcmp(str, KIND_FILE) == 0)
+      if (strcmp(str, SVN_FS_FS__KIND_FILE) == 0)
         kind = svn_node_file;
-      else if (strcmp(str, KIND_DIR) == 0)
+      else if (strcmp(str, SVN_FS_FS__KIND_DIR) == 0)
         kind = svn_node_dir;
       else
         {

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c?rev=1426679&r1=1426678&r2=1426679&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c Sat 
Dec 29 01:06:15 2012
@@ -585,7 +585,8 @@ unparse_dir_entry(svn_node_kind_t kind, 
                   apr_pool_t *pool)
 {
   return apr_psprintf(pool, "%s %s",
-                      (kind == svn_node_file) ? KIND_FILE : KIND_DIR,
+                      (kind == svn_node_file) ? SVN_FS_FS__KIND_FILE
+                                              : SVN_FS_FS__KIND_DIR,
                       svn_fs_fs__id_unparse(id, pool)->data);
 }
 
@@ -1761,11 +1762,11 @@ rep_write_get_baton(struct rep_write_bat
   apr_file_t *file;
   representation_t *base_rep;
   svn_stream_t *source;
-  const char *header;
   svn_txdelta_window_handler_t wh;
   void *whb;
   fs_fs_data_t *ffd = fs->fsap_data;
   int diff_version = ffd->format >= SVN_FS_FS__MIN_SVNDIFF1_FORMAT ? 1 : 0;
+  svn_fs_fs__rep_header_t header = { TRUE };
 
   b = apr_pcalloc(pool, sizeof(*b));
 
@@ -1795,17 +1796,15 @@ rep_write_get_baton(struct rep_write_bat
   /* Write out the rep header. */
   if (base_rep)
     {
-      header = apr_psprintf(b->pool, REP_DELTA " %ld %" APR_OFF_T_FMT " %"
-                            SVN_FILESIZE_T_FMT "\n",
-                            base_rep->revision, base_rep->offset,
-                            base_rep->size);
+      header.base_revision = base_rep->revision;
+      header.base_offset = base_rep->offset;
+      header.base_length = base_rep->size;
     }
   else
     {
-      header = REP_DELTA "\n";
+      header.is_delta_vs_empty = TRUE;
     }
-  SVN_ERR(svn_io_file_write_full(file, header, strlen(header), NULL,
-                                 b->pool));
+  SVN_ERR(svn_fs_fs__write_rep_header(&header, b->rep_stream, b->pool));
 
   /* Now determine the offset of the actual svndiff data. */
   SVN_ERR(get_file_offset(&b->delta_start, file, b->pool));
@@ -2258,7 +2257,7 @@ write_hash_delta_rep(representation_t *r
   representation_t *base_rep;
   representation_t *old_rep;
   svn_stream_t *source;
-  const char *header;
+  svn_fs_fs__rep_header_t header = { TRUE };
 
   apr_off_t rep_end = 0;
   apr_off_t delta_start = 0;
@@ -2276,20 +2275,18 @@ write_hash_delta_rep(representation_t *r
   /* Write out the rep header. */
   if (base_rep)
     {
-      header = apr_psprintf(pool, REP_DELTA " %ld %" APR_OFF_T_FMT " %"
-                            SVN_FILESIZE_T_FMT "\n",
-                            base_rep->revision, base_rep->offset,
-                            base_rep->size);
+      header.base_revision = base_rep->revision;
+      header.base_offset = base_rep->offset;
+      header.base_length = base_rep->size;
     }
   else
     {
-      header = REP_DELTA "\n";
+      header.is_delta_vs_empty = TRUE;
     }
-  SVN_ERR(svn_io_file_write_full(file, header, strlen(header), NULL,
-                                 pool));
 
-  SVN_ERR(get_file_offset(&delta_start, file, pool));
   file_stream = svn_stream_from_aprfile2(file, TRUE, pool);
+  SVN_ERR(svn_fs_fs__write_rep_header(&header, file_stream, pool));
+  SVN_ERR(get_file_offset(&delta_start, file, pool));
 
   /* Prepare to write the svndiff data. */
   svn_txdelta_to_svndiff3(&diff_wh,


Reply via email to