You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Kevin Pilch-Bisson <ke...@pilch-bisson.net> on 2002/06/05 19:31:02 UTC

Re: cmpilato's merge

On Wed, Jun 05, 2002 at 02:10:33PM -0500, cmpilato@tigris.org wrote:
> ...
> Log:
> Here it is!  The big merge of all my changes in /branches/issue-654-dev 
> into the main trunk.  All the changes found herein have been committed 
> before on the branch, specifically in revisions: 
> 
>    2057, 2055, 2046, 2031, 2022, 2020, 2019, 2015, 2013, 2003, 2001,
>    2000, 1999, 1998, 1997, 1984, 1982, 1981, 1980, 1966, 1952, 1951,
>    1949, 1948, 1946, 1944, and 1942.
> 
> All the changes herein are related directly to the completion of Issue
> #654, the implementation of the new NodeRevId system.
> ...

At Ben C-S's suggestion, I attempted to merge the branch into trunk a
different way then cmpilato.  Then I diffed my wc against this checkin.

Here's the diff, maybe mike can make sure everything looks happy?


Index: ./subversion/libsvn_fs/nodes-table.c
===================================================================
--- ./subversion/libsvn_fs/nodes-table.c
+++ ./subversion/libsvn_fs/nodes-table.c	Wed Jun  5 14:27:39 2002
@@ -129,9 +129,15 @@
     result = svn_fs__compare_dbt (ak, bk);
 
   if (a)
-    free (a);
+    {
+      free (a->digits);
+      free (a);
+    }
   if (b)
-    free (b);
+    {
+      free (b->digits);
+      free (b);
+    }
 
   return result;
 }
Index: ./subversion/libsvn_fs/tree.c
===================================================================
--- ./subversion/libsvn_fs/tree.c
+++ ./subversion/libsvn_fs/tree.c	Wed Jun  5 14:46:27 2002
@@ -2905,113 +2905,6 @@
 
 /* --- End machinery for svn_fs_apply_textdelta() ---  */
 
-#if 0
-/* --- Machinery for svn_fs_apply_text() ---  */
-
-/* Baton for svn_fs_apply_text(). */
-struct text_baton_t
-{
-  /* The original file info */
-  svn_fs_root_t *root;
-  const char *path;
-  
-  /* Derived from the file info */
-  dag_node_t *node;
-  
-  /* The returned stream that will accept the file's new contents. */
-  svn_stream_t *stream;
-
-  /* The actual fs stream that the returned stream will write to. */
-  svn_stream_t *file_stream;
-
-  /* Pool used by db txns */
-  apr_pool_t *pool;
-};
-
-
-/* A different trail-ready wrapper around svn_fs__dag_finalize_edits. */
-static svn_error_t *
-another_txn_body_finalize_edits (void *baton, trail_t *trail)
-{
-  struct text_baton_t *tb = baton;
-  return svn_fs__dag_finalize_edits (tb->node, trail);
-}
-
-/* Write function for the publically returned stream. */
-static svn_error_t *
-text_stream_writer (void *baton,
-                    const char *data,
-                    apr_size_t *len)
-{
-  struct text_baton_t *tb = baton;
-
-  /* Psst, here's some data.  Pass it on to the -real- file stream. */
-  return svn_stream_write (tb->file_stream, data, len);
-}
-
-/* Close function for the publically returned stream. */
-static svn_error_t *
-text_stream_closer (void *baton)
-{
-  struct text_baton_t *tb = baton;
-
-  /* Need to tell fs that we're done sending text */
-  return svn_fs__retry_txn (svn_fs_root_fs (tb->root),
-                            another_txn_body_finalize_edits, tb, tb->pool);
-}
-
-
-static svn_error_t *
-txn_body_apply_text (void *baton, trail_t *trail)
-{
-  struct text_baton_t *tb = baton;
-  parent_path_t *parent_path;
-
-  /* Call open_path with no flags, as we want this to return an error
-     if the node for which we are searching doesn't exist. */
-  SVN_ERR (open_path (&parent_path, tb->root, tb->path, 0, trail));
-
-  /* Now, make sure this path is mutable. */
-  SVN_ERR (make_path_mutable (tb->root, parent_path, tb->path, trail));
-  tb->node = parent_path->node;
-
-  /* Make a writable stream for replacing the file's text. */
-  SVN_ERR (svn_fs__dag_get_edit_stream (&(tb->file_stream),
-                                        tb->node,
-                                        tb->pool,
-                                        trail));
-
-  /* Create a 'returnable' stream which writes to the file_stream. */
-  tb->stream = svn_stream_create (tb, tb->pool);
-  svn_stream_set_write (tb->stream, text_stream_writer);
-  svn_stream_set_close (tb->stream, text_stream_closer);
-
-  return SVN_NO_ERROR;
-}
-
-
-svn_error_t *
-svn_fs_apply_text (svn_stream_t **contents_p,
-                   svn_fs_root_t *root,
-                   const char *path,
-                   apr_pool_t *pool)
-{
-  struct text_baton_t *tb = apr_pcalloc (pool, sizeof(*tb));
-
-  tb->root = root;
-  tb->path = path;
-  tb->pool = pool;
-
-  SVN_ERR (svn_fs__retry_txn (svn_fs_root_fs (root),
-                              txn_body_apply_text, tb, pool));
-  
-  *contents_p = tb->stream;
-  return SVN_NO_ERROR;
-}
-
-/* --- End machinery for svn_fs_apply_text() ---  */
-
-#endif
 /* --- Machinery for svn_fs_apply_text() ---  */
 
 /* Baton for svn_fs_apply_text(). */
Index: ./subversion/libsvn_fs/fs_skels.c
===================================================================
--- ./subversion/libsvn_fs/fs_skels.c
+++ ./subversion/libsvn_fs/fs_skels.c	Wed Jun  5 14:44:08 2002
@@ -839,6 +839,8 @@
       svn_fs__prepend (svn_fs__mem_atom (id_str->data, id_str->len, pool), 
                        header_skel);
     }
+  else
+    svn_fs__prepend (svn_fs__mem_atom (NULL, 0, pool), header_skel);
 
   /* KIND */
   if (noderev->kind == svn_node_file)
Index: ./subversion/libsvn_repos/reporter.c
===================================================================
--- ./subversion/libsvn_repos/reporter.c
+++ ./subversion/libsvn_repos/reporter.c	Wed Jun  5 14:43:32 2002
@@ -206,6 +206,12 @@
       else
         SVN_ERR (svn_fs_revision_link (from_root, rbaton->txn_root, 
                                        from_path, rbaton->pool));
+
+      /* Remember this path in our hashtable. */
+      *rev_ptr = revision;
+      apr_hash_set (rbaton->path_revs, from_path, APR_HASH_KEY_STRING,
+                    rev_ptr);    
+
     }
 
   return SVN_NO_ERROR;
Index: ./subversion/libsvn_repos/delta.c
===================================================================
--- ./subversion/libsvn_repos/delta.c
+++ ./subversion/libsvn_repos/delta.c	Wed Jun  5 15:19:40 2002
@@ -908,8 +908,8 @@
               else if (distance == -1)
                 {
                   SVN_ERR (delete (c, dir_baton, t_entry->name, subpool));
-                  SVN_ERR (add_file_or_dir (c, dir_baton, target_path, 
-                                            t_entry->name, subpool));
+                  SVN_ERR (add_file_or_dir 
+                           (c, dir_baton, target_path, t_entry->name, subpool));
                 }
               else
                 {
@@ -933,9 +933,8 @@
               /* We didn't find an entry with this name in the source
                  entries hash.  This must be something new that needs to
                  be added. */
-              SVN_ERR (add_file_or_dir (c, dir_baton, 
-                                        target_path, t_entry->name,
-                                        subpool));
+              SVN_ERR (add_file_or_dir (c, dir_baton, target_path,
+                                        t_entry->name, subpool));
             } 
         }
 

Re: cmpilato's merge

Posted by cm...@collab.net.
Kevin Pilch-Bisson <ke...@pilch-bisson.net> writes:

> At Ben C-S's suggestion, I attempted to merge the branch into trunk a
> different way then cmpilato.  Then I diffed my wc against this checkin.

First of all, thank you *very much* for doing this.

> Here's the diff, maybe mike can make sure everything looks happy?
> 
> 
> Index: ./subversion/libsvn_fs/nodes-table.c
> ===================================================================
...

This was legitimate badness in the branch, that somehow managed to get
missed.

> Index: ./subversion/libsvn_fs/tree.c
> ===================================================================
...

This is my fault.  At the time I resolved the conflicts in this file,
the conflict area was so big that I simply #if 0'd out the version I
thought was wrong.  I forgot to clean this up after making sure all
was well (and hereby note to myself that I need to clean this up).

> Index: ./subversion/libsvn_fs/fs_skels.c
> ===================================================================
...

Hm...I need to check on this one.

> Index: ./subversion/libsvn_repos/reporter.c
> ===================================================================
...

I think this one is okay.

> Index: ./subversion/libsvn_repos/delta.c
> ===================================================================
...

This is fine, too.  You and I just chose to resolve our conflicts with
slightly different formatting.

Thanks again!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org