Subject and below says it all, except that I get no errors, or warnings, and
all tests pass both over ra_local, and ra_dav.
Log:
Rename all files in .svn/tmp/text-base/, .svn/text-base,
.svn/tmp/prop-base, and .svn/prop-base to have ".svn-base" as an extension.
This will make it so that people's scripts which rely on
"find . -name '*.[ch]'" will continue to work when they switch to
subversion.
**** NOTE: This will invalidate your working copy if applied. You
**** _*WILL*_ have to recheckout subversion if you apply it.
* subversion/libsvn_wc/wc.h: Add #define for SVN_WC__BASE_EXT
* subversion/libsvn_wc/props.c
(svn_wc__do_property_merge): Append SVN_WC__BASE_EXT to real_base_props,
and tmp_base_props when constructing their paths.
* subversion/libsvn_wc/adm_files.c
(svn_wc__sync_text_base): Add SVN_WC__BASE_EXT to filename when getting
constructing text_base name.
(thing_path): Removed, logic placed in svn_wc__text_base_path, since that
was the only caller.
(svn_wc__text_base_path): Absorbed body of thing_path, and append
SVN_WC__BASE_EXT to the path.
(prop_path_internal): If getting the prop-base for a file, append
SVN_WC__BASE_EXT to the propfile path.
(svn_wc__open_text_base): Append SVN_WC__BASE_EXT to the path.
(svn_wc__close_text_base): Append SVN_WC__BASE_EXT to the path.
(svn_wc__open_props): If opening props for a file, and we want the base
props, append SVN_WC__BASE_EXT to the propfile's path.
(svn_wc__close_props): If closing props for a file, and they were the base
props, append SVN_WC__BASE_EXT to the propfile's path.
(svn_wc__sync_props): If we are syncing the base props file for a file
(not dir), then append SVN_WC__BASE_EXT to the path of the file to
sync.
The rest merely change comments to reflect the latest names for things in
the adminstrative file.
* subversion/libsvn_wc/props.c:
* subversion/libsvn_wc/adm_crawler.c:
* subversion/libsvn_wc/log.c: change SVN/ to .svn/ in comments.
* subversion/libsvn_wc/adm_ops.c:
* subversion/libsvn_wc/get_editor.c:
* subversion/libsvn_wc/questions.c: change SVN/ to .svn/ and add ".svn-base"
to example paths in text-base and prop-base in comments.
Index: ./subversion/libsvn_wc/props.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/props.c Tue Nov 6 09:00:13 2001
+++ ./subversion/libsvn_wc/props.c Thu Nov 8 12:27:37 2001
@@ -581,18 +581,18 @@
if (err) return err;
/* Write the merged pristine prop hash to either
- path/SVN/tmp/prop-base/name or path/SVN/tmp/dir-prop-base */
+ path/.svn/tmp/prop-base/name or path/.svn/tmp/dir-prop-base */
err = svn_wc__save_prop_file (base_prop_tmp_path, basehash, pool);
if (err) return err;
- /* Write the merged local prop hash to path/SVN/tmp/props/name or
- path/SVN/tmp/dir-props */
+ /* Write the merged local prop hash to path/.svn/tmp/props/name or
+ path/.svn/tmp/dir-props */
err = svn_wc__save_prop_file (local_prop_tmp_path, localhash, pool);
if (err) return err;
/* Compute pathnames for the "mv" log entries. Notice that these
- paths are RELATIVE pathnames (each beginning with "SVN/"), so
- that each SVN subdir remains separable when executing run_log(). */
+ paths are RELATIVE pathnames (each beginning with ".svn/"), so
+ that each .svn subdir remains separable when executing run_log(). */
if (is_dir)
{
tmp_prop_base = svn_wc__adm_path (svn_stringbuf_create ("", pool),
@@ -625,12 +625,14 @@
SVN_WC__ADM_PROP_BASE,
name->data,
NULL);
+ svn_stringbuf_appendcstr(tmp_prop_base, SVN_WC__BASE_EXT);
real_prop_base = svn_wc__adm_path (svn_stringbuf_create ("", pool),
0, /* no tmp */
pool,
SVN_WC__ADM_PROP_BASE,
name->data,
NULL);
+ svn_stringbuf_appendcstr(real_prop_base, SVN_WC__BASE_EXT);
tmp_props = svn_wc__adm_path (svn_stringbuf_create ("", pool),
1, /* tmp */
@@ -671,7 +673,7 @@
if (reject_tmp_fp)
{
- /* There's a .prej file sitting in SVN/tmp/ somewhere. Deal
+ /* There's a .prej file sitting in .svn/tmp/ somewhere. Deal
with the conflicts. */
/* First, _close_ this temporary conflicts file. We've been
@@ -693,7 +695,7 @@
if (! reject_path)
{
- /* Reserve a new .prej file *above* the SVN/ directory by
+ /* Reserve a new .prej file *above* the .svn/ directory by
opening and closing it. */
svn_stringbuf_t *reserved_path;
svn_stringbuf_t *full_reject_path = svn_stringbuf_dup (path, pool);
@@ -734,7 +736,7 @@
}
/* We've now guaranteed that some kind of .prej file exists
- above the SVN/ dir. We write log entries to append our
+ above the .svn/ dir. We write log entries to append our
conflicts to it. */
svn_xml_make_open_tag (entry_accum,
pool,
Index: ./subversion/libsvn_wc/wc.h
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/wc.h Tue Nov 6 09:00:11 2001
+++ ./subversion/libsvn_wc/wc.h Thu Nov 8 10:30:23 2001
@@ -31,6 +31,7 @@
#define SVN_WC__TMP_EXT ".tmp"
#define SVN_WC__TEXT_REJ_EXT ".rej"
#define SVN_WC__PROP_REJ_EXT ".prej"
+#define SVN_WC__BASE_EXT ".base-svn"
Index: ./subversion/libsvn_wc/adm_crawler.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/adm_crawler.c Thu Nov 8 08:23:49 2001
+++ ./subversion/libsvn_wc/adm_crawler.c Thu Nov 8 09:48:56 2001
@@ -1616,9 +1616,9 @@
apr_hash_this (hi, &key, &klen, &val);
keystring = (const char *) key;
- /* If the dirent isn't in `SVN/entries'... */
+ /* If the dirent isn't in `.svn/entries'... */
if (! apr_hash_get (entries, key, klen))
- /* and we're not looking at SVN... */
+ /* and we're not looking at .svn... */
if (strcmp (keystring, SVN_WC_ADM_DIR_NAME))
{
svn_boolean_t print_item = TRUE;
Index: ./subversion/libsvn_wc/log.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/log.c Tue Nov 6 09:00:11 2001
+++ ./subversion/libsvn_wc/log.c Thu Nov 8 09:51:18 2001
@@ -755,7 +755,7 @@
if (is_this_dir)
/* Drop a 'killme' file into my own adminstrative dir;
- this signals the svn_wc__run_log() to blow away SVN/
+ this signals the svn_wc__run_log() to blow away .svn/
after its done with this logfile. */
SVN_ERR (svn_wc__make_adm_thing (loggy->path,
SVN_WC__ADM_KILLME,
Index: ./subversion/libsvn_wc/adm_ops.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/adm_ops.c Thu Nov 8 08:23:50 2001
+++ ./subversion/libsvn_wc/adm_ops.c Thu Nov 8 09:49:43 2001
@@ -1156,7 +1156,8 @@
svn_wc__entry_remove (entries, name);
SVN_ERR (svn_wc__entries_write (entries, path, pool));
- /* Remove text-base/NAME, prop/NAME, prop-base/NAME, wcprops/NAME */
+ /* Remove text-base/NAME.svn-base, prop/NAME, prop-base/NAME.svn-base,
+ wcprops/NAME */
{
svn_stringbuf_t *svn_thang;
@@ -1248,7 +1249,7 @@
/* At this point, every directory below this one has been
removed from revision control. */
- /* Remove the entire administrative SVN area, thereby removing
+ /* Remove the entire administrative .svn area, thereby removing
_this_ dir from revision control too. */
SVN_ERR (svn_wc__adm_destroy (path, subpool));
@@ -1258,7 +1259,7 @@
if (destroy_wf && (! left_a_file))
{
/* If the dir is *truly* empty (i.e. has no unversioned
- resources, all versioned files are gone, all SVN dirs are
+ resources, all versioned files are gone, all .svn dirs are
gone, and contains nothing but empty dirs), then a
*non*-recursive dir_remove should work. If it doesn't,
no big deal. Just assume there are unversioned items in
@@ -1319,7 +1320,7 @@
svn_stringbuf_t *file = svn_stringbuf_create (filename, pool);
/* Create/overwrite the file in PATH's administrative area.
- (In reality, this opens a file 'path/SVN/tmp/auth/filename'.) */
+ (In reality, this opens a file 'path/.svn/tmp/auth/filename'.) */
SVN_ERR (svn_wc__open_auth_file (&fp, path, file,
(APR_WRITE | APR_CREATE | APR_TRUNCATE),
pool));
Index: ./subversion/libsvn_wc/adm_files.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/adm_files.c Tue Nov 6 09:00:10 2001
+++ ./subversion/libsvn_wc/adm_files.c Thu Nov 8 11:57:08 2001
@@ -339,6 +339,7 @@
{
svn_stringbuf_t *newpath, *basename;
svn_path_split (path, &newpath, &basename, svn_path_local_style, pool);
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
return sync_adm_file (newpath,
pool,
SVN_WC__ADM_TEXT_BASE,
@@ -346,21 +347,19 @@
NULL);
}
-
-static svn_stringbuf_t *
-thing_path (const svn_stringbuf_t *path,
- const char *thing,
- svn_boolean_t tmp,
- apr_pool_t *pool)
+svn_stringbuf_t *
+svn_wc__text_base_path (const svn_stringbuf_t *path,
+ svn_boolean_t tmp,
+ apr_pool_t *pool)
{
svn_stringbuf_t *newpath, *basename;
svn_path_split (path, &newpath, &basename, svn_path_local_style, pool);
-
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
extend_with_adm_name (newpath,
0,
pool,
tmp ? SVN_WC__ADM_TMP : "",
- thing,
+ SVN_WC__ADM_TEXT_BASE,
basename->data,
NULL);
@@ -368,15 +367,6 @@
}
-svn_stringbuf_t *
-svn_wc__text_base_path (const svn_stringbuf_t *path,
- svn_boolean_t tmp,
- apr_pool_t *pool)
-{
- return thing_path (path, SVN_WC__ADM_TEXT_BASE, tmp, pool);
-}
-
-
static svn_error_t *
prop_path_internal (svn_stringbuf_t **prop_path,
const svn_stringbuf_t *path,
@@ -432,6 +422,9 @@
"svn_wc__prop_path: %s is not a working copy directory",
(*prop_path)->data);
+ if (base)
+ svn_stringbuf_appendcstr (entry_name, SVN_WC__BASE_EXT);
+
extend_with_adm_name (*prop_path,
0,
pool,
@@ -714,6 +707,7 @@
{
svn_stringbuf_t *newpath, *basename;
svn_path_split (path, &newpath, &basename, svn_path_local_style, pool);
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
return open_adm_file (handle, newpath, flags, pool,
SVN_WC__ADM_TEXT_BASE, basename->data, NULL);
}
@@ -727,6 +721,7 @@
{
svn_stringbuf_t *newpath, *basename;
svn_path_split (path, &newpath, &basename, svn_path_local_style, pool);
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
return close_adm_file (fp, newpath, write, pool,
SVN_WC__ADM_TEXT_BASE, basename->data, NULL);
}
@@ -790,8 +785,11 @@
return open_adm_file (handle, parent_dir, flags, pool,
SVN_WC__ADM_DIR_PROP_BASE, NULL);
else
- return open_adm_file (handle, parent_dir, flags, pool,
- SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ {
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
+ return open_adm_file (handle, parent_dir, flags, pool,
+ SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ }
}
else if (wcprops)
{
@@ -850,8 +848,11 @@
return close_adm_file (fp, parent_dir, sync, pool,
SVN_WC__ADM_DIR_PROP_BASE, NULL);
else
- return close_adm_file (fp, parent_dir, sync, pool,
- SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ {
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
+ return close_adm_file (fp, parent_dir, sync, pool,
+ SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ }
}
else if (wcprops)
{
@@ -909,8 +910,11 @@
return sync_adm_file (parent_dir, pool,
SVN_WC__ADM_DIR_PROP_BASE, NULL);
else
- return sync_adm_file (parent_dir, pool,
- SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ {
+ svn_stringbuf_appendcstr (basename, SVN_WC__BASE_EXT);
+ return sync_adm_file (parent_dir, pool,
+ SVN_WC__ADM_PROP_BASE, basename->data, NULL);
+ }
}
else if (wcprops)
{
Index: ./subversion/libsvn_wc/get_editor.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/get_editor.c Tue Nov 6 09:00:09 2001
+++ ./subversion/libsvn_wc/get_editor.c Thu Nov 8 09:51:02 2001
@@ -868,7 +868,7 @@
it's a hash; and we know that we won't lose any local mods. Let
the existing entry be overwritten. */
- /* If replacing, make sure the SVN entry already exists. */
+ /* If replacing, make sure the .svn entry already exists. */
if ((! adding) && (! entry))
return svn_error_createf (SVN_ERR_WC_ENTRY_NOT_FOUND, 0, NULL,
parent_dir_baton->pool,
@@ -1065,23 +1065,23 @@
true:
- The new pristine text of F, if any, is present in
- SVN/tmp/text-base/F, and the file_baton->text_changed is
- set if necessary.
+ .svn/tmp/text-base/F.svn-base, and the file_baton->text_changed
+ is set if necessary.
- The new pristine props for F, if any, are present in
the file_baton->propchanges array, and
file_baton->prop_changed is set.
- - The SVN/entries file still reflects the old F.
+ - The .svn/entries file still reflects the old F.
- - SVN/text-base/F is the old pristine F.
+ - .svn/text-base/F.svn-base is the old pristine F.
- - SVN/prop-base/F is the old pristine F props.
+ - .svn/prop-base/F.svn-base is the old pristine F props.
The goal is to update the local working copy of F to reflect
the changes received from the repository, preserving any local
modifications, in an interrupt-safe way. So we first write our
- intentions to SVN/log, then run over the log file doing each
+ intentions to .svn/log, then run over the log file doing each
operation in turn. For a given operation, you can tell by
inspection whether or not it has already been done; thus, those
that have already been done are no-ops, and when we reach the
@@ -1091,10 +1091,12 @@
operations to update F is this:
1. receive svndiff data D
- 2. svnpatch SVN/text-base/F < D > SVN/tmp/text-base/F
- 3. gdiff -c SVN/text-base/F SVN/tmp/text-base/F > SVN/tmp/F.blah.tmp
- 4. cp SVN/tmp/text-base/F SVN/text-base/F
- 5. gpatch F < SVN/tmp/F.tmpfile
+ 2. svnpatch .svn/text-base/F.svn-base < D >
+ .svn/tmp/text-base/F.svn-base
+ 3. gdiff -c .svn/text-base/F.svn-base .svn/tmp/text-base/F.svn-base
+ > .svn/tmp/F.blah.tmp
+ 4. cp .svn/tmp/text-base/F.svn-base .svn/text-base/F.svn-base
+ 5. gpatch F < .svn/tmp/F.tmpfile
==> possibly producing F.blah.rej
*/
Index: ./subversion/libsvn_wc/questions.c
===================================================================
--- ./subversion/libsvn_wc/.svn/text-base/questions.c Tue Nov 6 14:43:40 2001
+++ ./subversion/libsvn_wc/questions.c Thu Nov 8 10:57:02 2001
@@ -83,11 +83,13 @@
/* svn_wc_text_modified_p answers the question:
- "Are the contents of F different than the contents of SVN/text-base/F?"
+ "Are the contents of F different than the contents of
+ .svn/text-base/F.svn-base?"
or
- "Are the contents of SVN/props/xxx different than SVN/prop-base/xxx?"
+ "Are the contents of .svn/props/xxx different than
+ .svn/prop-base/xxx.svn-base?"
In other words, we're looking to see if a user has made local
modifications to a file since the last update or commit.
- application/pgp-signature attachment: stored
Received on Sat Oct 21 14:36:48 2006