You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2012/06/26 21:28:22 UTC
svn commit: r1354186 [2/33] - in /subversion/branches/inheritable-props: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
build/win32/ contrib/client-side/emacs/ contrib/server-side/ notes/
notes/api-errata/1.8/ notes/directory-in...
Modified: subversion/branches/inheritable-props/contrib/client-side/emacs/vc-svn.el
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/contrib/client-side/emacs/vc-svn.el?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/contrib/client-side/emacs/vc-svn.el (original)
+++ subversion/branches/inheritable-props/contrib/client-side/emacs/vc-svn.el Tue Jun 26 19:26:49 2012
@@ -200,9 +200,9 @@ If the file is newly added, LOCAL is \"0
(cond
((not state) nil)
;; A newly added file has no revision.
- ((looking-at "....\\s-+\\(\\*\\s-+\\)?[-0]\\s-+\\(\\?\\|[0-9]+\\)")
+ ((looking-at ".......\\s-+\\(\\*\\s-+\\)?[-0]\\s-+\\(\\?\\|[0-9]+\\)")
(list state "0" nil))
- ((looking-at "....\\s-+\\(\\*\\s-+\\)?\\([0-9]+\\)\\s-+\\([0-9]+\\)")
+ ((looking-at ".......\\s-+\\(\\*\\s-+\\)?\\([0-9]+\\)\\s-+\\([0-9]+\\)")
(list state
(match-string 2)
(match-string 3)))
Modified: subversion/branches/inheritable-props/contrib/server-side/fsfsverify.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/contrib/server-side/fsfsverify.py?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/contrib/server-side/fsfsverify.py (original)
+++ subversion/branches/inheritable-props/contrib/server-side/fsfsverify.py Tue Jun 26 19:26:49 2012
@@ -1043,7 +1043,7 @@ def fixStream(e, revFile):
break
if not m:
- raise "Couldn't find end of rep!"
+ raise Exception("Couldn't find end of rep!")
finalOffset = errorOffset + srcLength
srcOffset = errorOffset
Modified: subversion/branches/inheritable-props/gen-make.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/gen-make.py?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/gen-make.py (original)
+++ subversion/branches/inheritable-props/gen-make.py Tue Jun 26 19:26:49 2012
@@ -142,12 +142,6 @@ def _usage_exit(err=None):
print(" look for Berkeley DB headers and libs in")
print(" DIR")
print("")
- print(" --with-neon=DIR")
- print(" the Neon sources are in DIR")
- print("")
- print(" --without-neon")
- print(" Don't build Neon sources (if present)")
- print("")
print(" --with-serf=DIR")
print(" the Serf sources are in DIR")
print("")
@@ -162,11 +156,11 @@ def _usage_exit(err=None):
print(" implies --enable-nls")
print("")
print(" --with-openssl=DIR")
- print(" tell neon to look for OpenSSL headers")
+ print(" tell serf to look for OpenSSL headers")
print(" and libs in DIR")
print("")
print(" --with-zlib=DIR")
- print(" tell neon to look for ZLib headers and")
+ print(" tell Subversion to look for ZLib headers and")
print(" libs in DIR")
print("")
print(" --with-jdk=DIR")
@@ -211,7 +205,7 @@ def _usage_exit(err=None):
print(" Use static apr and apr-util")
print("")
print(" --vsnet-version=VER")
- print(" generate for VS.NET version VER (2002, 2003, 2005, 2008 or 2010)")
+ print(" generate for VS.NET version VER (2002, 2003, 2005, 2008, 2010 or 2012)")
print(" [only valid in combination with '-t vcproj']")
print("")
print(" --with-apr_memcache=DIR")
@@ -242,8 +236,6 @@ if __name__ == '__main__':
'with-apr-util=',
'with-apr-iconv=',
'with-berkeley-db=',
- 'with-neon=',
- 'without-neon',
'with-serf=',
'with-httpd=',
'with-libintl=',
@@ -265,6 +257,13 @@ if __name__ == '__main__':
'disable-shared',
'installed-libs=',
'vsnet-version=',
+
+ # Keep distributions that help by adding a path
+ # working. On unix this would be filtered by
+ # configure, but on Windows gen-make.py is used
+ # directly.
+ 'with-neon=',
+ 'without-neon',
])
if len(args) > 1:
_usage_exit("Too many arguments")
@@ -289,6 +288,9 @@ if __name__ == '__main__':
if opt != '--debug':
rest.add(opt, val)
del prev_conf
+ elif opt == '--with-neon' or opt == '--without-neon':
+ # Provide a warning that we ignored these arguments
+ print("Ignoring no longer supported argument '%s'" % opt)
else:
rest.add(opt, val)
Modified: subversion/branches/inheritable-props/get-deps.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/get-deps.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/get-deps.sh (original)
+++ subversion/branches/inheritable-props/get-deps.sh Tue Jun 26 19:26:49 2012
@@ -25,10 +25,9 @@
APR=apr-1.4.6
APR_UTIL=apr-util-1.4.1
-NEON=neon-0.29.6
SERF=serf-1.0.1
-ZLIB=zlib-1.2.6
-SQLITE_VERSION=3.7.10
+ZLIB=zlib-1.2.7
+SQLITE_VERSION=3.7.12
SQLITE=sqlite-amalgamation-$(printf %u%02u%02u%02u $(echo $SQLITE_VERSION | sed -e "s/\./ /g"))
HTTPD=httpd-2.2.22
@@ -56,28 +55,20 @@ usage() {
# getters
get_apr() {
cd $TEMPDIR
- $HTTP_FETCH $APACHE_MIRROR/apr/$APR.tar.bz2
- $HTTP_FETCH $APACHE_MIRROR/apr/$APR_UTIL.tar.bz2
+ test -d $BASEDIR/apr || $HTTP_FETCH $APACHE_MIRROR/apr/$APR.tar.bz2
+ test -d $BASEDIR/apr-util || $HTTP_FETCH $APACHE_MIRROR/apr/$APR_UTIL.tar.bz2
cd $BASEDIR
- bzip2 -dc $TEMPDIR/$APR.tar.bz2 | tar -xf -
- bzip2 -dc $TEMPDIR/$APR_UTIL.tar.bz2 | tar -xf -
+ test -d $BASEDIR/apr || bzip2 -dc $TEMPDIR/$APR.tar.bz2 | tar -xf -
+ test -d $BASEDIR/apr-util || bzip2 -dc $TEMPDIR/$APR_UTIL.tar.bz2 | tar -xf -
- mv $APR apr
- mv $APR_UTIL apr-util
-}
-
-get_neon() {
- cd $TEMPDIR
- $HTTP_FETCH http://webdav.org/neon/$NEON.tar.gz
- cd $BASEDIR
-
- gzip -dc $TEMPDIR/$NEON.tar.gz | tar -xf -
-
- mv $NEON neon
+ test -d $BASEDIR/apr || mv $APR apr
+ test -d $BASEDIR/apr-util || mv $APR_UTIL apr-util
}
get_serf() {
+ test -d $BASEDIR/serf && return
+
cd $TEMPDIR
$HTTP_FETCH http://serf.googlecode.com/files/$SERF.tar.bz2
cd $BASEDIR
@@ -88,6 +79,8 @@ get_serf() {
}
get_zlib() {
+ test -d $BASEDIR/zlib && return
+
cd $TEMPDIR
$HTTP_FETCH http://www.zlib.net/$ZLIB.tar.bz2
cd $BASEDIR
@@ -98,6 +91,8 @@ get_zlib() {
}
get_sqlite() {
+ test -d $BASEDIR/sqlite-amalgamation && return
+
cd $TEMPDIR
$HTTP_FETCH http://www.sqlite.org/$SQLITE.zip
cd $BASEDIR
@@ -124,7 +119,6 @@ get_deps() {
done
else
get_apr
- get_neon
get_serf
get_zlib
get_sqlite
Propchange: subversion/branches/inheritable-props/notes/directory-index/dirindex.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/branches/inheritable-props/notes/directory-index/logimport.py
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/inheritable-props/notes/ev2-callbacks-template.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/notes/ev2-callbacks-template.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/notes/ev2-callbacks-template.c (original)
+++ subversion/branches/inheritable-props/notes/ev2-callbacks-template.c Tue Jun 26 19:26:49 2012
@@ -1,4 +1,7 @@
-/* Use this file to quickly copy/paste handlers for all Ev2 callbacks */
+/* Use this file to quickly copy/paste handlers for all Ev2 callbacks.
+
+ Please prefix each function to distinguish them from the template,
+ for improved ctags behavior. */
#define UNUSED(x) ((void)(x))
@@ -68,6 +71,7 @@ static svn_error_t *
alter_directory_cb(void *baton,
const char *relpath,
svn_revnum_t revision,
+ const apr_array_header_t *children,
apr_hash_t *props,
apr_pool_t *scratch_pool)
{
Propchange: subversion/branches/inheritable-props/notes/ev2-callbacks-template.c
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/inheritable-props/notes/knobs
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/notes/knobs?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/notes/knobs (original)
+++ subversion/branches/inheritable-props/notes/knobs Tue Jun 26 19:26:49 2012
@@ -460,5 +460,10 @@ SVN_I_LIKE_LATENCY_SO_IGNORE_HTTPV2
advertisement of HTTPv2 protocol support (if any), effectively
causing them to only speak our original HTTP protocol.
+7.7 SVN_SVNMUCC_IS_SVNSYITF
+
+ Scope: 'make install-tools'
+ Purpose: Symlinks $prefix/bin/svnsyitf to $prefix/bin/svnmucc
+
* (TODO: others)
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/InputStream.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/InputStream.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/InputStream.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/InputStream.cpp Tue Jun 26 19:26:49 2012
@@ -99,6 +99,14 @@ svn_error_t *InputStream::read(void *bat
if (JNIUtil::isJavaExceptionThrown())
return SVN_NO_ERROR;
+ /*
+ * Convert -1 from InputStream.read that means EOF, 0 which is subversion equivalent
+ */
+ if(jread == -1)
+ {
+ jread = 0;
+ }
+
// Put the Java byte array into a helper object to retrieve the
// data bytes.
JNIByteArray outdata(data, true);
@@ -107,7 +115,7 @@ svn_error_t *InputStream::read(void *bat
// Catch when the Java method tells us it read too much data.
if (jread > (jint) *len)
- jread = -1;
+ jread = 0;
// In the case of success copy the data back to the Subversion
// buffer.
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIStackElement.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIStackElement.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIStackElement.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIStackElement.cpp Tue Jun 26 19:26:49 2012
@@ -58,20 +58,28 @@ JNIStackElement::JNIStackElement(JNIEnv
return;
}
- // This will call java.lang.Object.toString, even when it is
- // overriden.
- jobject oStr = env->CallNonvirtualObjectMethod(jthis, jlo, mid);
- if (JNIUtil::isJavaExceptionThrown())
- return;
-
- // Copy the result to a buffer.
- JNIStringHolder name(reinterpret_cast<jstring>(oStr));
*m_objectID = 0;
- strncat(m_objectID, name, JNIUtil::formatBufferSize -1);
+
+ if(jthis == NULL)
+ {
+ strcpy(m_objectID, "<static>");
+ }
+ else
+ {
+ // This will call java.lang.Object.toString, even when it is
+ // overriden.
+ jobject oStr = env->CallNonvirtualObjectMethod(jthis, jlo, mid);
+ if (JNIUtil::isJavaExceptionThrown())
+ return;
+
+ // Copy the result to a buffer.
+ JNIStringHolder name(reinterpret_cast<jstring>(oStr));
+ strncat(m_objectID, name, JNIUtil::formatBufferSize -1);
+ env->DeleteLocalRef(oStr);
+ }
// Release the Java string.
env->DeleteLocalRef(jlo);
- env->DeleteLocalRef(oStr);
// Remember the parameter for the exit of the method.
m_clazz = clazz;
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIUtil.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIUtil.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIUtil.h (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/JNIUtil.h Tue Jun 26 19:26:49 2012
@@ -214,9 +214,9 @@ class JNIUtil
*/
#define SVN_JNI_NULL_PTR_EX(expr, str, ret_val) \
- if (expr == NULL) { \
+ if ((expr) == NULL) { \
JNIUtil::throwNullPointerException(str); \
- return ret_val ; \
+ return ret_val; \
}
/**
@@ -235,7 +235,7 @@ class JNIUtil
svn_error_t *svn_jni_err__temp = (expr); \
if (svn_jni_err__temp != SVN_NO_ERROR) { \
JNIUtil::handleSVNError(svn_jni_err__temp); \
- return ret_val ; \
+ return ret_val; \
} \
} while (0)
@@ -251,7 +251,7 @@ class JNIUtil
do \
{ \
env->PopLocalFrame(NULL); \
- return ret_val ; \
+ return ret_val; \
} \
while (0)
@@ -272,4 +272,12 @@ class JNIUtil
*/
#define POP_AND_RETURN_NULL POP_AND_RETURN(NULL)
+#define CPPADDR_NULL_PTR(expr, ret_val) \
+ do { \
+ if ((expr) == NULL) { \
+ JNIUtil::throwError(_("bad C++ this")); \
+ return ret_val; \
+ } \
+ } while (0)
+
#endif // JNIUTIL_H
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.cpp Tue Jun 26 19:26:49 2012
@@ -30,7 +30,6 @@
SVNBase::SVNBase()
: pool(JNIUtil::getPool())
{
- jthis = NULL;
}
SVNBase::~SVNBase()
@@ -58,17 +57,6 @@ jlong SVNBase::findCppAddrForJObject(job
if (JNIUtil::isJavaExceptionThrown())
return 0;
- if (cppAddr)
- {
- /* jthis is not guaranteed to be the same between JNI invocations, so
- we do a little dance here and store the updated version in our
- object for this invocation.
-
- findCppAddrForJObject() is, by necessity, called before any other
- methods on the C++ object, so by doing this we can guarantee a
- valid jthis pointer for subsequent uses. */
- (reinterpret_cast<SVNBase *> (cppAddr))->jthis = jthis;
- }
return cppAddr;
}
}
@@ -82,17 +70,15 @@ void SVNBase::finalize()
JNIUtil::enqueueForDeletion(this);
}
-void SVNBase::dispose(jfieldID *fid, const char *className)
+void SVNBase::dispose(jobject jthis, jfieldID *fid, const char *className)
{
- jobject my_jthis = this->jthis;
-
delete this;
JNIEnv *env = JNIUtil::getEnv();
SVNBase::findCppAddrFieldID(fid, className, env);
if (*fid == 0)
return;
- env->SetLongField(my_jthis, *fid, 0);
+ env->SetLongField(jthis, *fid, 0);
if (JNIUtil::isJavaExceptionThrown())
return;
}
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.h (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNBase.h Tue Jun 26 19:26:49 2012
@@ -49,7 +49,7 @@ class SVNBase
*
* @since 1.4.0
*/
- virtual void dispose() = 0;
+ virtual void dispose(jobject jthis) = 0;
/**
* This method should never be called, as @c dispose() should be
@@ -80,13 +80,7 @@ class SVNBase
*
* @since 1.4.0
*/
- void dispose(jfieldID *fid, const char *className);
-
- /**
- * A pointer to the parent java object. This is not valid across JNI
- * method invocations, and so should be set in each one.
- */
- jobject jthis;
+ void dispose(jobject jthis, jfieldID *fid, const char *className);
private:
/**
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.cpp Tue Jun 26 19:26:49 2012
@@ -86,10 +86,10 @@ SVNClient *SVNClient::getCppObject(jobje
return (cppAddr == 0 ? NULL : reinterpret_cast<SVNClient *>(cppAddr));
}
-void SVNClient::dispose()
+void SVNClient::dispose(jobject jthis)
{
static jfieldID fid = 0;
- SVNBase::dispose(&fid, JAVA_PACKAGE"/SVNClient");
+ SVNBase::dispose(jthis, &fid, JAVA_PACKAGE"/SVNClient");
}
jstring SVNClient::getAdminDirectoryName()
@@ -936,7 +936,7 @@ void SVNClient::diff(const char *target1
OutputStream &outputStream, svn_depth_t depth,
StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps)
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly)
{
SVN::Pool subPool(pool);
const char *c_relToDir = relativeToDir ?
@@ -973,6 +973,7 @@ void SVNClient::diff(const char *target1
showCopiesAsAdds,
force,
ignoreProps,
+ propsOnly,
FALSE, /* use_git_diff_format */
SVN_APR_LOCALE_CHARSET,
outputStream.getStream(subPool),
@@ -1000,6 +1001,7 @@ void SVNClient::diff(const char *target1
showCopiesAsAdds,
force,
ignoreProps,
+ propsOnly,
FALSE, /* use_git_diff_format */
SVN_APR_LOCALE_CHARSET,
outputStream.getStream(subPool),
@@ -1016,11 +1018,11 @@ void SVNClient::diff(const char *target1
const char *relativeToDir, OutputStream &outputStream,
svn_depth_t depth, StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps)
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly)
{
diff(target1, revision1, target2, revision2, NULL, relativeToDir,
outputStream, depth, changelists, ignoreAncestry, noDiffDelete, force,
- showCopiesAsAdds, ignoreProps);
+ showCopiesAsAdds, ignoreProps, propsOnly);
}
void SVNClient::diff(const char *target, Revision &pegRevision,
@@ -1028,12 +1030,12 @@ void SVNClient::diff(const char *target,
const char *relativeToDir, OutputStream &outputStream,
svn_depth_t depth, StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps)
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly)
{
diff(target, startRevision, NULL, endRevision, &pegRevision,
relativeToDir, outputStream, depth, changelists,
ignoreAncestry, noDiffDelete, force, showCopiesAsAdds,
- ignoreProps);
+ ignoreProps, propsOnly);
}
void
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.h (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNClient.h Tue Jun 26 19:26:49 2012
@@ -177,13 +177,13 @@ class SVNClient :public SVNBase
const char *relativeToDir, OutputStream &outputStream,
svn_depth_t depth, StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps);
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly);
void diff(const char *target, Revision &pegevision,
Revision &startRevision, Revision &endRevision,
const char *relativeToDir, OutputStream &outputStream,
svn_depth_t depth, StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps);
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly);
void diffSummarize(const char *target1, Revision &revision1,
const char *target2, Revision &revision2,
svn_depth_t depth, StringArray &changelists,
@@ -196,7 +196,7 @@ class SVNClient :public SVNBase
ClientContext &getClientContext();
const char *getLastPath();
- void dispose();
+ void dispose(jobject jthis);
static SVNClient *getCppObject(jobject jthis);
SVNClient(jobject jthis_in);
virtual ~SVNClient();
@@ -212,7 +212,7 @@ class SVNClient :public SVNBase
OutputStream &outputStream, svn_depth_t depth,
StringArray &changelists,
bool ignoreAncestry, bool noDiffDelete, bool force,
- bool showCopiesAsAdds, bool ignoreProps);
+ bool showCopiesAsAdds, bool ignoreProps, bool propsOnly);
Path m_lastPath;
ClientContext context;
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.cpp Tue Jun 26 19:26:49 2012
@@ -54,10 +54,10 @@ SVNRepos *SVNRepos::getCppObject(jobject
return (cppAddr == 0 ? NULL : reinterpret_cast<SVNRepos *>(cppAddr));
}
-void SVNRepos::dispose()
+void SVNRepos::dispose(jobject jthis)
{
static jfieldID fid = 0;
- SVNBase::dispose(&fid, JAVA_PACKAGE"/SVNRepos");
+ SVNBase::dispose(jthis, &fid, JAVA_PACKAGE"/SVNRepos");
}
void SVNRepos::cancelOperation()
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.h (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/SVNRepos.h Tue Jun 26 19:26:49 2012
@@ -69,7 +69,7 @@ class SVNRepos : public SVNBase
void pack(File &path, ReposNotifyCallback *callback);
SVNRepos();
virtual ~SVNRepos();
- void dispose();
+ void dispose(jobject jthis);
static SVNRepos *getCppObject(jobject jthis);
static svn_error_t *checkCancel(void *cancelBaton);
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Tue Jun 26 19:26:49 2012
@@ -75,7 +75,7 @@ Java_org_apache_subversion_javahl_SVNCli
JNIUtil::throwError(_("bad C++ this"));
return;
}
- cl->dispose();
+ cl->dispose(jthis);
}
JNIEXPORT void JNICALL
@@ -1171,12 +1171,12 @@ JNIEXPORT void JNICALL Java_org_apache_s
}
JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZ
+Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZ
(JNIEnv *env, jobject jthis, jstring jtarget1, jobject jrevision1,
jstring jtarget2, jobject jrevision2, jstring jrelativeToDir,
jobject jstream, jobject jdepth, jobject jchangelists,
jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
- jboolean jcopiesAsAdds, jboolean jignoreProps)
+ jboolean jcopiesAsAdds, jboolean jignoreProps, jboolean jpropsOnly)
{
JNIEntry(SVNClient, diff);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1217,16 +1217,17 @@ Java_org_apache_subversion_javahl_SVNCli
EnumMapper::toDepth(jdepth), changelists,
jignoreAncestry ? true:false,
jnoDiffDeleted ? true:false, jforce ? true:false,
- jcopiesAsAdds ? true:false, jignoreProps ? true:false);
+ jcopiesAsAdds ? true:false, jignoreProps ? true:false,
+ jpropsOnly ? true:false);
}
JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZ
+Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZ
(JNIEnv *env, jobject jthis, jstring jtarget, jobject jpegRevision,
jobject jstartRevision, jobject jendRevision, jstring jrelativeToDir,
jobject jstream, jobject jdepth, jobject jchangelists,
jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
- jboolean jcopiesAsAdds, jboolean jignoreProps)
+ jboolean jcopiesAsAdds, jboolean jignoreProps, jboolean jpropsOnly)
{
JNIEntry(SVNClient, diff);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1267,7 +1268,8 @@ Java_org_apache_subversion_javahl_SVNCli
dataOut, EnumMapper::toDepth(jdepth), changelists,
jignoreAncestry ? true:false,
jnoDiffDeleted ? true:false, jforce ? true:false,
- jcopiesAsAdds ? true:false, jignoreProps ? true:false);
+ jcopiesAsAdds ? true:false, jignoreProps ? true:false,
+ jpropsOnly ? true:false);
}
JNIEXPORT void JNICALL
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp Tue Jun 26 19:26:49 2012
@@ -60,7 +60,7 @@ Java_org_apache_subversion_javahl_SVNRep
JNIUtil::throwError(_("bad C++ this"));
return;
}
- cl->dispose();
+ cl->dispose(jthis);
}
JNIEXPORT void JNICALL
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java Tue Jun 26 19:26:49 2012
@@ -547,8 +547,14 @@ public class ClientNotifyInformation ext
skip_conflicted ("skipped conflicted path"),
/** The lock on a file was removed during update */
- update_broken_lock ("broken lock removed");
+ update_broken_lock ("broken lock removed"),
+ /** Operation failed because a node is obstructed */
+ failed_obstructed ("failed by obstruction"),
+
+ /** Conflict resolver is starting/ending. */
+ conflict_resolver_starting ("conflict resolver starting"),
+ conflict_resolver_done ("conflict resolver done");
/**
* The description of the action.
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java Tue Jun 26 19:26:49 2012
@@ -204,7 +204,12 @@ public class ConflictDescriptor
/**
* Attempting to delete object.
*/
- delete;
+ delete,
+
+ /**
+ * Attempting to replace object.
+ */
+ replace;
}
/**
@@ -240,7 +245,12 @@ public class ConflictDescriptor
/**
* Object is already added or schedule-add.
*/
- added;
+ added,
+
+ /**
+ * Object is already replaced.
+ */
+ replaced;
}
public enum Operation
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Tue Jun 26 19:26:49 2012
@@ -522,13 +522,14 @@ public interface ISVNClient
* @param copiesAsAdds if set, copied files will be shown in their
* entirety, not as diffs from their sources
* @param ignoreProps don't show property diffs
+ * @param propsOnly show property changes only
* @throws ClientException
*/
void diff(String target1, Revision revision1, String target2,
Revision revision2, String relativeToDir, OutputStream outStream,
Depth depth, Collection<String> changelists,
boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
- boolean copiesAsAdds, boolean ignoreProps)
+ boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly)
throws ClientException;
void diff(String target1, Revision revision1, String target2,
@@ -554,6 +555,7 @@ public interface ISVNClient
* @param copiesAsAdds if set, copied files will be shown in their
* entirety, not as diffs from their sources
* @param ignoreProps don't show property diffs
+ * @param propsOnly show property changes only
* @throws ClientException
*/
void diff(String target, Revision pegRevision, Revision startRevision,
@@ -561,7 +563,7 @@ public interface ISVNClient
OutputStream outStream,
Depth depth, Collection<String> changelists,
boolean ignoreAncestry, boolean noDiffDeleted, boolean force,
- boolean copiesAsAdds, boolean ignoreProps)
+ boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly)
throws ClientException;
void diff(String target, Revision pegRevision, Revision startRevision,
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Tue Jun 26 19:26:49 2012
@@ -278,7 +278,7 @@ public class SVNClient implements ISVNCl
OutputStream stream = new FileOutputStream(outFileName);
diff(target1, revision1, target2, revision2, relativeToDir,
stream, depth, changelists, ignoreAncestry, noDiffDeleted,
- force, copiesAsAdds, false);
+ force, copiesAsAdds, false, false);
} catch (FileNotFoundException ex) {
throw ClientException.fromException(ex);
}
@@ -290,7 +290,7 @@ public class SVNClient implements ISVNCl
Collection<String> changelists,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force, boolean copiesAsAdds,
- boolean ignoreProps)
+ boolean ignoreProps, boolean propsOnly)
throws ClientException;
public void diff(String target, Revision pegRevision,
@@ -305,7 +305,7 @@ public class SVNClient implements ISVNCl
OutputStream stream = new FileOutputStream(outFileName);
diff(target, pegRevision, startRevision, endRevision,
relativeToDir, stream, depth, changelists, ignoreAncestry,
- noDiffDeleted, force, copiesAsAdds, false);
+ noDiffDeleted, force, copiesAsAdds, false, false);
} catch (FileNotFoundException ex) {
throw ClientException.fromException(ex);
}
@@ -317,7 +317,7 @@ public class SVNClient implements ISVNCl
Depth depth, Collection<String> changelists,
boolean ignoreAncestry, boolean noDiffDeleted,
boolean force, boolean copiesAsAdds,
- boolean ignoreProps)
+ boolean ignoreProps, boolean propsOnly)
throws ClientException;
public native void diffSummarize(String target1, Revision revision1,
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java Tue Jun 26 19:26:49 2012
@@ -125,8 +125,12 @@ public class ConflictDescriptor
aDesc.getAction().ordinal(), aDesc.getReason().ordinal(),
aDesc.getOperation().ordinal(), aDesc.getBasePath(),
aDesc.getTheirPath(), aDesc.getMyPath(), aDesc.getMergedPath(),
- new ConflictVersion(aDesc.getSrcLeftVersion()),
- new ConflictVersion(aDesc.getSrcRightVersion()));
+ aDesc.getSrcLeftVersion() != null
+ ? new ConflictVersion(aDesc.getSrcLeftVersion())
+ : null,
+ aDesc.getSrcRightVersion() != null
+ ? new ConflictVersion(aDesc.getSrcRightVersion())
+ : null);
}
public String getPath()
Modified: subversion/branches/inheritable-props/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java (original)
+++ subversion/branches/inheritable-props/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java Tue Jun 26 19:26:49 2012
@@ -145,6 +145,16 @@ class SVNTests extends TestCase
protected static String rootUrl;
/**
+ * Username to use in tests
+ */
+ protected final static String USERNAME = "jrandom";
+
+ /**
+ * Password to use in tests
+ */
+ protected final static String PASSWORD = "rayjandom";
+
+ /**
* Create a JUnit <code>TestCase</code> instance.
*/
protected SVNTests()
@@ -276,7 +286,7 @@ class SVNTests extends TestCase
this.client = new SVNClient();
this.client.notification2(new MyNotifier());
this.client.setPrompt(new DefaultPromptUserPassword());
- this.client.username("jrandom");
+ this.client.username(USERNAME);
this.client.setProgressCallback(new DefaultProgressListener());
this.client.setConfigDirectory(this.conf.getAbsolutePath());
this.expectedCommitItems = new HashMap<String, MyCommitItem>();
@@ -284,7 +294,7 @@ class SVNTests extends TestCase
/**
* the default prompt : never prompts the user, provides defaults answers
*/
- private static class DefaultPromptUserPassword implements UserPasswordCallback
+ protected static class DefaultPromptUserPassword implements UserPasswordCallback
{
public int askTrustSSLServer(String info, boolean allowPermanently)
@@ -304,12 +314,12 @@ class SVNTests extends TestCase
public String getPassword()
{
- return "rayjandom";
+ return PASSWORD;
}
public String getUsername()
{
- return "jrandom";
+ return USERNAME;
}
public boolean prompt(String realm, String username)
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/core.i
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/core.i?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/core.i (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/core.i Tue Jun 26 19:26:49 2012
@@ -351,12 +351,17 @@
*/
#ifdef SWIGPYTHON
%typemap(in) (char *buffer, apr_size_t *len) ($*2_type temp) {
- if (!PyInt_Check($input)) {
+ if (PyLong_Check($input)) {
+ temp = PyLong_AsLong($input);
+ }
+ else if (PyInt_Check($input)) {
+ temp = PyInt_AsLong($input);
+ }
+ else {
PyErr_SetString(PyExc_TypeError,
"expecting an integer for the buffer size");
SWIG_fail;
}
- temp = PyInt_AsLong($input);
if (temp < 0) {
PyErr_SetString(PyExc_ValueError,
"buffer size must be a positive integer");
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h Tue Jun 26 19:26:49 2012
@@ -144,9 +144,33 @@ svn_client__youngest_common_ancestor(con
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
-/* Set *ORIGIN_P to the origin of the WC node at WC_ABSPATH. If the node
+/* Get the repository location of the base node at LOCAL_ABSPATH.
+ *
+ * A pathrev_t wrapper around svn_wc__node_get_base().
+ *
+ * Set *BASE_P to the location that this node was checked out at or last
+ * updated/switched to, regardless of any uncommitted changes (delete,
+ * replace and/or copy-here/move-here).
+ *
+ * If there is no base node at LOCAL_ABSPATH (such as when there is a
+ * locally added/copied/moved-here node that is not part of a replace),
+ * set *BASE_P to NULL.
+ */
+svn_error_t *
+svn_client__wc_node_get_base(svn_client__pathrev_t **base_p,
+ const char *wc_abspath,
+ svn_wc_context_t *wc_ctx,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+/* Get the original location of the WC node at LOCAL_ABSPATH.
+ *
+ * A pathrev_t wrapper around svn_wc__node_get_origin().
+ *
+ * Set *ORIGIN_P to the origin of the WC node at WC_ABSPATH. If the node
* is a local copy, give the copy-from location. If the node is locally
- * added or deleted, set *ORIGIN_P to NULL. */
+ * added or deleted, set *ORIGIN_P to NULL.
+ */
svn_error_t *
svn_client__wc_node_get_origin(svn_client__pathrev_t **origin_p,
const char *wc_abspath,
@@ -156,9 +180,7 @@ svn_client__wc_node_get_origin(svn_clien
/* A macro to mark sections of code that belong to the 'symmetric merge'
* feature while it's still new. */
-#ifdef SVN_DEBUG
#define SVN_WITH_SYMMETRIC_MERGE
-#endif
#ifdef SVN_WITH_SYMMETRIC_MERGE
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_dav_protocol.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_dav_protocol.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_dav_protocol.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_dav_protocol.h Tue Jun 26 19:26:49 2012
@@ -1,7 +1,6 @@
/*
* svn_dav_protocol.h: Declarations of the protocol shared by the
- * mod_dav_svn backend for httpd's mod_dav, and its ra_neon and
- * ra_serf RA DAV clients.
+ * mod_dav_svn backend for httpd's mod_dav and its ra_serf RA DAV clients.
*
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
Propchange: subversion/branches/inheritable-props/subversion/include/private/svn_delta_private.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_fs_util.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_fs_util.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_fs_util.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_fs_util.h Tue Jun 26 19:26:49 2012
@@ -59,6 +59,13 @@ svn_fs__canonicalize_abspath(const char
svn_error_t *
svn_fs__check_fs(svn_fs_t *fs, svn_boolean_t expect_open);
+/* An identifier for FS to be used in the text of error messages.
+ (Not used anywhere but in this header.)
+
+ Note: we log the UUID, rather than (fs)->path, since some of these
+ errors are marshalled to the client. */
+#define svn_fs__identifier(fs) ((fs)->uuid)
+
/* Constructing nice error messages for roots. */
/* Build an SVN_ERR_FS_NOT_FOUND error, with a detailed error text,
@@ -79,17 +86,17 @@ svn_fs__check_fs(svn_fs_t *fs, svn_boole
/* Build a detailed `file already exists' message for PATH in ROOT.
ROOT is of type svn_fs_root_t *. */
-#define SVN_FS__ALREADY_EXISTS(root, path_str, pool) ( \
+#define SVN_FS__ALREADY_EXISTS(root, path_str) ( \
root->is_txn_root ? \
svn_error_createf \
(SVN_ERR_FS_ALREADY_EXISTS, 0, \
_("File already exists: filesystem '%s', transaction '%s', path '%s'"), \
- svn_dirent_local_style(root->fs->path, pool), root->txn, path_str) \
+ svn_fs__identifier(root->fs), root->txn, path_str) \
: \
svn_error_createf \
(SVN_ERR_FS_ALREADY_EXISTS, 0, \
_("File already exists: filesystem '%s', revision %ld, path '%s'"), \
- svn_dirent_local_style(root->fs->path, pool), root->rev, path_str) \
+ svn_fs__identifier(root->fs), root->rev, path_str) \
)
/* ROOT is of type svn_fs_root_t *. */
@@ -100,64 +107,64 @@ svn_fs__check_fs(svn_fs_t *fs, svn_boole
/* SVN_FS__ERR_NOT_MUTABLE: the caller attempted to change a node
outside of a transaction. FS is of type "svn_fs_t *". */
-#define SVN_FS__ERR_NOT_MUTABLE(fs, rev, path_in_repo, scratch_pool) \
+#define SVN_FS__ERR_NOT_MUTABLE(fs, rev, path_in_repo) \
svn_error_createf( \
SVN_ERR_FS_NOT_MUTABLE, 0, \
_("File is not mutable: filesystem '%s', revision %ld, path '%s'"), \
- svn_dirent_local_style(fs->path, scratch_pool), rev, path_in_repo)
+ svn_fs__identifier(fs), rev, path_in_repo)
-/* FS is of type "svn fs_t *".*/
-#define SVN_FS__ERR_NOT_DIRECTORY(fs, path_in_repo, scratch_pool) \
+/* FS is of type "svn_fs_t *".*/
+#define SVN_FS__ERR_NOT_DIRECTORY(fs, path_in_repo) \
svn_error_createf( \
SVN_ERR_FS_NOT_DIRECTORY, 0, \
_("'%s' is not a directory in filesystem '%s'"), \
- path_in_repo, svn_dirent_local_style(fs->path, scratch_pool))
+ path_in_repo, svn_fs__identifier(fs))
-/* FS is of type "svn fs_t *". */
-#define SVN_FS__ERR_NOT_FILE(fs, path_in_repo, scratch_pool) \
+/* FS is of type "svn_fs_t *". */
+#define SVN_FS__ERR_NOT_FILE(fs, path_in_repo) \
svn_error_createf( \
SVN_ERR_FS_NOT_FILE, 0, \
_("'%s' is not a file in filesystem '%s'"), \
- path_in_repo, svn_dirent_local_style(fs->path, scratch_pool))
+ path_in_repo, svn_fs__identifier(fs))
-/* FS is of type "svn fs_t *", LOCK is of type "svn_lock_t *". */
-#define SVN_FS__ERR_PATH_ALREADY_LOCKED(fs, lock, scratch_pool) \
+/* FS is of type "svn_fs_t *", LOCK is of type "svn_lock_t *". */
+#define SVN_FS__ERR_PATH_ALREADY_LOCKED(fs, lock) \
svn_error_createf( \
SVN_ERR_FS_PATH_ALREADY_LOCKED, 0, \
_("Path '%s' is already locked by user '%s' in filesystem '%s'"), \
- lock->path, lock->owner, svn_dirent_local_style(fs->path, scratch_pool))
+ (lock)->path, (lock)->owner, svn_fs__identifier(fs))
-/* FS is of type "svn fs_t *". */
-#define SVN_FS__ERR_NO_SUCH_LOCK(fs, path_in_repo, scratch_pool) \
+/* FS is of type "svn_fs_t *". */
+#define SVN_FS__ERR_NO_SUCH_LOCK(fs, path_in_repo) \
svn_error_createf( \
SVN_ERR_FS_NO_SUCH_LOCK, 0, \
_("No lock on path '%s' in filesystem '%s'"), \
- path_in_repo, svn_dirent_local_style(fs->path, scratch_pool))
+ path_in_repo, svn_fs__identifier(fs))
-/* FS is of type "svn fs_t *". */
-#define SVN_FS__ERR_LOCK_EXPIRED(fs, token, scratch_pool) \
+/* FS is of type "svn_fs_t *". */
+#define SVN_FS__ERR_LOCK_EXPIRED(fs, token) \
svn_error_createf( \
SVN_ERR_FS_LOCK_EXPIRED, 0, \
_("Lock has expired: lock-token '%s' in filesystem '%s'"), \
- token, svn_dirent_local_style(fs->path, scratch_pool))
+ token, svn_fs__identifier(fs))
-/* FS is of type "svn fs_t *". */
-#define SVN_FS__ERR_NO_USER(fs, scratch_pool) \
+/* FS is of type "svn_fs_t *". */
+#define SVN_FS__ERR_NO_USER(fs) \
svn_error_createf( \
SVN_ERR_FS_NO_USER, 0, \
_("No username is currently associated with filesystem '%s'"), \
- svn_dirent_local_style(fs->path, scratch_pool))
+ svn_fs__identifier(fs))
/* SVN_FS__ERR_LOCK_OWNER_MISMATCH: trying to use a lock whose
LOCK_OWNER doesn't match the USERNAME associated with FS.
- FS is of type "svn fs_t *". */
-#define SVN_FS__ERR_LOCK_OWNER_MISMATCH(fs, username, lock_owner, pool) \
+ FS is of type "svn_fs_t *". */
+#define SVN_FS__ERR_LOCK_OWNER_MISMATCH(fs, username, lock_owner) \
svn_error_createf( \
SVN_ERR_FS_LOCK_OWNER_MISMATCH, 0, \
_("User '%s' is trying to use a lock owned by '%s' in " \
"filesystem '%s'"), \
- username, lock_owner, svn_dirent_local_style(fs->path, pool))
+ username, lock_owner, svn_fs__identifier(fs))
/* Return a NULL-terminated copy of the first component of PATH,
allocated in POOL. If path is empty, or consists entirely of
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_mergeinfo_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_mergeinfo_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_mergeinfo_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_mergeinfo_private.h Tue Jun 26 19:26:49 2012
@@ -185,7 +185,8 @@ svn_mergeinfo__to_formatted_string(svn_s
apr_pool_t *pool);
/* Set *YOUNGEST_REV and *OLDEST_REV to the youngest and oldest revisions
- found in the rangelists within MERGEINFO. If MERGEINFO is NULL or empty
+ found in the rangelists within MERGEINFO. Note that *OLDEST_REV is
+ exclusive and *YOUNGEST_REV is inclusive. If MERGEINFO is NULL or empty
set *YOUNGEST_REV and *OLDEST_REV to SVN_INVALID_REVNUM. */
svn_error_t *
svn_mergeinfo__get_range_endpoints(svn_revnum_t *youngest_rev,
@@ -194,9 +195,9 @@ svn_mergeinfo__get_range_endpoints(svn_r
apr_pool_t *pool);
/* Set *FILTERED_MERGEINFO to a deep copy of MERGEINFO, allocated in
- RESULT_POOL, less any rangelists that fall outside of the range
- OLDEST_REV:YOUNGEST_REV (inclusive) if INCLUDE_RANGE is true, or less
- any rangelists within the range OLDEST_REV:YOUNGEST_REV if INCLUDE_RANGE
+ RESULT_POOL, less any revision ranges that fall outside of the range
+ OLDEST_REV:YOUNGEST_REV (exclusive:inclusive) if INCLUDE_RANGE is true,
+ or less any ranges within OLDEST_REV:YOUNGEST_REV if INCLUDE_RANGE
is false. If all the rangelists mapped to a given path are filtered
then filter that path as well. If all paths are filtered or MERGEINFO is
empty or NULL then *FILTERED_MERGEINFO is set to an empty hash.
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_named_atomic.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_named_atomic.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_named_atomic.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_named_atomic.h Tue Jun 26 19:26:49 2012
@@ -51,6 +51,16 @@ typedef struct svn_named_atomic__t svn_n
*/
#define SVN_NAMED_ATOMIC__MAX_NAME_LENGTH 30
+/** Returns #FALSE when named atomics are not available to our process
+ * and svn_atomic_namespace__create is likely to fail.
+ *
+ * Please note that the actual check will be performed only once and later
+ * changes in process privileges will not reflect in the outcome of future
+ * calls to this function.
+ */
+svn_boolean_t
+svn_named_atomic__is_supported(void);
+
/** Returns #TRUE on platforms that don't need expensive synchronization
* objects to serialize access to named atomics. If this returns #FALSE,
* reading from or modifying a #svn_named_atomic__t may be as expensive
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_ra_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_ra_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_ra_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_ra_private.h Tue Jun 26 19:26:49 2012
@@ -137,7 +137,12 @@ svn_ra__register_editor_shim_callbacks(s
/* Using information from BATON, provide the (file's) pristine contents
for REPOS_RELPATH. They are returned in *CONTENTS, and correspond to
- *REVISION. These are allocated in RESULT_POOL. SCRATCH_POOL can be used
+ *REVISION.
+
+ If a pristine is not available (ie. a locally-added node), then set
+ *CONTENTS to NULL; *REVISION will not be examined in this case.
+
+ These are allocated in RESULT_POOL. SCRATCH_POOL can be used
for temporary allocations. */
typedef svn_error_t *(*svn_ra__provide_base_cb_t)(
svn_stream_t **contents,
@@ -149,6 +154,10 @@ typedef svn_error_t *(*svn_ra__provide_b
/* Using information from BATON, provide the pristine properties for
REPOS_RELPATH. They are returned in *PROPS, and correspond to *REVISION.
+
+ If properties are not available (ie. a locally-added node), then set
+ *PROPS to NULL; *REVISION will not be examined in this case.
+
The properties are allocated in RESULT_POOL. SCRATCH_POOL can be used
for temporary allocations. */
typedef svn_error_t *(*svn_ra__provide_props_cb_t)(
@@ -160,8 +169,11 @@ typedef svn_error_t *(*svn_ra__provide_p
apr_pool_t *scratch_pool);
/* Using information from BATON, fetch the kind of REPOS_RELPATH at revision
- SRC_REVISION, returning it in *KIND. Temporary allocations can be made
- in SCRATCH_POOL. */
+ SRC_REVISION, returning it in *KIND.
+
+ If the kind cannot be determined, then set *KIND to svn_kind_unknown.
+
+ Temporary allocations can be made in SCRATCH_POOL. */
typedef svn_error_t *(*svn_ra__get_copysrc_kind_cb_t)(
svn_kind_t *kind,
void *baton,
@@ -170,14 +182,54 @@ typedef svn_error_t *(*svn_ra__get_copys
apr_pool_t *scratch_pool);
-/* ### hand-wave... see svn_ra_get_commit_editor3() for the basics
- ### of these parameters. */
+/* Return an Ev2-based editor for performing commits.
+
+ The editor is associated with the given SESSION, and its implied target
+ repository.
+
+ REVPROPS contains all the revision properties that should be stored onto
+ the newly-committed revision. SVN_PROP_REVISION_AUTHOR will be set to
+ the username as determined by the session; overwriting any prior value
+ that may be present in REVPROPS.
+
+ COMMIT_CB/BATON contain the callback to receive post-commit information.
+
+ LOCK_TOKENS should contain all lock tokens necessary to modify paths
+ within the commit. If KEEP_LOCKS is FALSE, then the paths associated
+ with these tokens will be unlocked.
+ ### today, LOCK_TOKENS is session_relpath:token_value. in the future,
+ ### it should be repos_relpath:token_value.
+
+ PROVIDE_BASE_CB is a callback to fetch pristine contents, used to send
+ an svndiff over the wire to the server. This may be NULL, indicating
+ pristine contents are not available (eg. URL-based operations or import).
+
+ PROVIDE_PROPS_CB is a callback to fetch pristine properties, used to
+ send property deltas over the wire to the server. This may be NULL,
+ indicating pristine properties are not available (eg. URL-based operations
+ or an import).
+
+ GET_COPYSRC_KIND_CB is a callback to determine the kind of a copy-source.
+ This is necessary when an Ev2/Ev1 shim is required by the RA provider,
+ in order to determine whether to use delta->add_directory() or the
+ delta->add_file() vtable entry to perform the copy.
+ ### unclear on impact if this is NULL.
+ ### this callback will disappear when "everything" is running Ev2
+
+ CB_BATON is the baton used/shared by the above three callbacks.
+
+ CANCEL_FUNC/BATON is a standard cancellation function, and is used for
+ the returned Ev2 editor, and possibly other RA-specific operations.
+
+ *EDITOR will be allocated in RESULT_POOL, and all temporary allocations
+ will be performed in SCRATCH_POOL.
+*/
svn_error_t *
svn_ra__get_commit_ev2(svn_editor_t **editor,
svn_ra_session_t *session,
- apr_hash_t *revprop_table,
- svn_commit_callback2_t callback,
- void *callback_baton,
+ apr_hash_t *revprops,
+ svn_commit_callback2_t commit_cb,
+ void *commit_baton,
apr_hash_t *lock_tokens,
svn_boolean_t keep_locks,
svn_ra__provide_base_cb_t provide_base_cb,
@@ -190,6 +242,45 @@ svn_ra__get_commit_ev2(svn_editor_t **ed
apr_pool_t *scratch_pool);
+/* Similar to #svn_ra_replay_revstart_callback_t, but with an Ev2 editor. */
+typedef svn_error_t *(*svn_ra__replay_revstart_ev2_callback_t)(
+ svn_revnum_t revision,
+ void *replay_baton,
+ svn_editor_t **editor,
+ apr_hash_t *rev_props,
+ apr_pool_t *pool);
+
+/* Similar to #svn_ra_replay_revfinish_callback_t, but with an Ev2 editor. */
+typedef svn_error_t *(*svn_ra__replay_revfinish_ev2_callback_t)(
+ svn_revnum_t revision,
+ void *replay_baton,
+ svn_editor_t *editor,
+ apr_hash_t *rev_props,
+ apr_pool_t *pool);
+
+/* Similar to svn_ra_replay_range(), but uses Ev2 versions of the callback
+ functions. */
+svn_error_t *
+svn_ra__replay_range_ev2(svn_ra_session_t *session,
+ svn_revnum_t start_revision,
+ svn_revnum_t end_revision,
+ svn_revnum_t low_water_mark,
+ svn_boolean_t send_deltas,
+ svn_ra__replay_revstart_ev2_callback_t revstart_func,
+ svn_ra__replay_revfinish_ev2_callback_t revfinish_func,
+ void *replay_baton,
+ apr_pool_t *scratch_pool);
+
+/* Similar to svn_ra_replay(), but with an Ev2 editor. */
+svn_error_t *
+svn_ra__replay_ev2(svn_ra_session_t *session,
+ svn_revnum_t revision,
+ svn_revnum_t low_water_mark,
+ svn_boolean_t send_deltas,
+ svn_editor_t *editor,
+ apr_pool_t *scratch_pool);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_repos_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_repos_private.h Tue Jun 26 19:26:49 2012
@@ -104,6 +104,15 @@ svn_repos__get_commit_ev2(svn_editor_t *
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+svn_error_t *
+svn_repos__replay_ev2(svn_fs_root_t *root,
+ const char *base_dir,
+ svn_revnum_t low_water_mark,
+ svn_editor_t *editor,
+ svn_repos_authz_func_t authz_read_func,
+ void *authz_read_baton,
+ apr_pool_t *scratch_pool);
+
#ifdef __cplusplus
}
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_sqlite.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_sqlite.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_sqlite.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_sqlite.h Tue Jun 26 19:26:49 2012
@@ -151,7 +151,9 @@ svn_sqlite__get_statement(svn_sqlite__st
Spec Argument type Item type
---- ----------------- ---------
n <none, absent> Column assignment skip
- i apr_int64_t Number
+ d int Number
+ L apr_int64_t Number
+ i apr_int64_t Number (deprecated format spec)
s const char * String
b const void * Blob data
apr_size_t Blob length
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_subr_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_subr_private.h Tue Jun 26 19:26:49 2012
@@ -220,6 +220,81 @@ svn_checksum_t *
svn_checksum__from_digest_sha1(const unsigned char *digest,
apr_pool_t *result_pool);
+
+/**
+ * @defgroup svn_hash_support Hash table serialization support
+ * @{
+ */
+
+/*----------------------------------------------------*/
+
+/**
+ * @defgroup svn_hash_misc Miscellaneous hash APIs
+ * @{
+ */
+
+/**
+ * Clear any key/value pairs in the hash table. A wrapper for a
+ * apr_hash_clear(), which isn't available until APR 1.3.0.
+ *
+ * @since New in 1.5.
+ */
+svn_error_t *
+svn_hash__clear(apr_hash_t *hash, apr_pool_t *pool);
+
+/** @} */
+
+
+/**
+ * @defgroup svn_hash_getters Specialized getter APIs for hashes
+ * @{
+ */
+
+/** Find the value of a @a key in @a hash, return the value.
+ *
+ * If @a hash is @c NULL or if the @a key cannot be found, the
+ * @a default_value will be returned.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_hash__get_cstring(apr_hash_t *hash,
+ const char *key,
+ const char *default_value);
+
+/** Like svn_hash_get_cstring(), but for boolean values.
+ *
+ * Parses the value as a boolean value. The recognized representations
+ * are 'TRUE'/'FALSE', 'yes'/'no', 'on'/'off', '1'/'0'; case does not
+ * matter.
+ *
+ * @since New in 1.7.
+ */
+svn_boolean_t
+svn_hash__get_bool(apr_hash_t *hash,
+ const char *key,
+ svn_boolean_t default_value);
+
+/** @} */
+
+/**
+ * @defgroup svn_hash_create Create optimized APR hash tables
+ * @{
+ */
+
+/** Returns a hash table, allocated in @a pool, with the same ordering of
+ * elements as APR 1.4.5 or earlier (using apr_hashfunc_default) but uses
+ * a faster hash function implementation.
+ *
+ * @since New in 1.8.
+ */
+apr_hash_t *
+svn_hash__make(apr_pool_t *pool);
+
+/** @} */
+
+/** @} */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_wc_private.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_wc_private.h Tue Jun 26 19:26:49 2012
@@ -689,34 +689,33 @@ svn_wc__node_get_pre_ng_status_data(svn_
apr_pool_t *scratch_pool);
-/** This whole function is for legacy, and it sucks. It does not really
- * make sense to get the copy-from revision number without the copy-from
- * URL, but higher level code currently wants that. This should go away.
- * (This function serves to get away from entry_t->revision without having to
- * change the public API.)
+/**
+ * Return the location of the base for this node's next commit,
+ * reflecting any local tree modifications affecting this node.
*
- * Get the base revision of @a local_abspath using @a wc_ctx. If @a
+ * Get the base location of @a local_abspath using @a wc_ctx. If @a
* local_abspath is not in the working copy, return @c
* SVN_ERR_WC_PATH_NOT_FOUND.
*
- * Return the revision number of the base for this node's next commit,
- * reflecting any local tree modifications affecting this node.
- *
- * If this node has no uncommitted changes, return the same revision as
+ * If this node has no uncommitted changes, return the same location as
* svn_wc__node_get_base().
*
* If this node is moved-here or copied-here (possibly as part of a replace),
- * return the revision of the copy/move source. Do the same even when the node
+ * return the location of the copy/move source. Do the same even when the node
* has been removed from a recursive copy (subpath excluded from the copy).
*
- * Else, if this node is locally added, return SVN_INVALID_REVNUM, or if this
- * node is locally deleted or replaced, return the revert-base revision.
+ * Else, if this node is locally added, return SVN_INVALID_REVNUM/NULL, or
+ * if locally deleted or replaced, return the revert-base location.
*/
svn_error_t *
-svn_wc__node_get_commit_base_rev(svn_revnum_t *base_revision,
- svn_wc_context_t *wc_ctx,
- const char *local_abspath,
- apr_pool_t *scratch_pool);
+svn_wc__node_get_commit_base(svn_revnum_t *revision,
+ const char **repos_relpath,
+ const char **repos_root_url,
+ const char **repos_uuid,
+ svn_wc_context_t *wc_ctx,
+ const char *local_abspath,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
/**
* Fetch lock information (if any) for @a local_abspath using @a wc_ctx:
@@ -889,10 +888,6 @@ typedef svn_error_t *(*svn_wc__proplist_
* If @a propname is not NULL, the passed hash table will only contain
* the property @a propname.
*
- * If @a base_props is @c TRUE, get the unmodified BASE properties
- * from the working copy, instead of getting the current (or "WORKING")
- * properties.
- *
* If @a pristine is not @c TRUE, and @a base_props is FALSE show local
* modifications to the properties.
*
@@ -913,7 +908,6 @@ svn_wc__prop_list_recursive(svn_wc_conte
const char *local_abspath,
const char *propname,
svn_depth_t depth,
- svn_boolean_t base_props,
svn_boolean_t pristine,
const apr_array_header_t *changelists,
svn_wc__proplist_receiver_t receiver_func,
@@ -945,6 +939,21 @@ svn_wc__get_iprops(apr_array_header_t **
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+/** Obtain a mapping of const char * local_abspaths to const svn_string_t*
+ * property values in *VALUES, of all PROPNAME properties on LOCAL_ABSPATH
+ * and its descendants.
+ *
+ * Allocate the result in RESULT_POOL, and perform temporary allocations in
+ * SCRATCH_POOL.
+ */
+svn_error_t *
+svn_wc__prop_retrieve_recursive(apr_hash_t **values,
+ svn_wc_context_t *wc_ctx,
+ const char *local_abspath,
+ const char *propname,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
/**
* Cache the inherited properties @a inherited_props (a depth-first ordered
* array of #svn_prop_inherited_item_t * structures) for the BASE node at
@@ -1057,20 +1066,20 @@ svn_wc__has_switched_subtrees(svn_boolea
const char *trail_url,
apr_pool_t *scratch_pool);
-/* Set @a *server_excluded_subtrees to a hash mapping <tt>const char *</tt>
+/* Set @a *excluded_subtrees to a hash mapping <tt>const char *</tt>
* local * absolute paths to <tt>const char *</tt> local absolute paths for
- * every path at or under @a local_abspath in @a wc_ctx which are excluded
- * by the server (e.g. because of authz).
- * If no server-excluded paths are found then @a *server_excluded_subtrees
+ * every path under @a local_abspath in @a wc_ctx which are excluded
+ * by the server (e.g. because of authz) or the users.
+ * If no excluded paths are found then @a *server_excluded_subtrees
* is set to @c NULL.
* Allocate the hash and all items therein from @a result_pool.
*/
svn_error_t *
-svn_wc__get_server_excluded_subtrees(apr_hash_t **server_excluded_subtrees,
- svn_wc_context_t *wc_ctx,
- const char *local_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
+svn_wc__get_excluded_subtrees(apr_hash_t **server_excluded_subtrees,
+ svn_wc_context_t *wc_ctx,
+ const char *local_abspath,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
/* Indicate in @a *is_modified whether the working copy has local
* modifications, using context @a wc_ctx.
@@ -1098,6 +1107,16 @@ svn_wc__rename_wc(svn_wc_context_t *wc_c
const char *dst_abspath,
apr_pool_t *scratch_pool);
+/* Set *TMPDIR_ABSPATH to a directory that is suitable for temporary
+ files which may need to be moved (atomically and same-device) into
+ the working copy indicated by WRI_ABSPATH. */
+svn_error_t *
+svn_wc__get_tmpdir(const char **tmpdir_abspath,
+ svn_wc_context_t *wc_ctx,
+ const char *wri_abspath,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
/* Gets information needed by the commit harvester.
*
* ### Currently this API is work in progress and is designed for just this
@@ -1105,23 +1124,13 @@ svn_wc__rename_wc(svn_wc_context_t *wc_c
* ### it's caller will eventually move into a wc and maybe wc_db api.
*/
svn_error_t *
-svn_wc__node_get_commit_status(svn_node_kind_t *kind,
- svn_boolean_t *added,
+svn_wc__node_get_commit_status(svn_boolean_t *added,
svn_boolean_t *deleted,
- svn_boolean_t *replaced,
- svn_boolean_t *not_present,
- svn_boolean_t *excluded,
+ svn_boolean_t *is_replace_root,
svn_boolean_t *is_op_root,
- svn_boolean_t *symlink,
svn_revnum_t *revision,
- const char **repos_relpath,
svn_revnum_t *original_revision,
const char **original_repos_relpath,
- svn_boolean_t *conflicted,
- const char **changelist,
- svn_boolean_t *props_mod,
- svn_boolean_t *update_root,
- const char **lock_token,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *result_pool,
@@ -1140,6 +1149,17 @@ svn_wc__node_get_md5_from_sha1(const svn
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+/* Like svn_wc_get_pristine_contents2(), but keyed on the CHECKSUM
+ rather than on the local absolute path of the working file.
+ WRI_ABSPATH is any versioned path of the working copy in whose
+ pristine database we'll be looking for these contents. */
+svn_error_t *
+svn_wc__get_pristine_contents_by_checksum(svn_stream_t **contents,
+ svn_wc_context_t *wc_ctx,
+ const char *wri_abspath,
+ const svn_checksum_t *checksum,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
/* Gets an array of const char *repos_relpaths of descendants of LOCAL_ABSPATH,
* which must be the op root of an addition, copy or move. The descendants
@@ -1695,6 +1715,76 @@ svn_wc__get_diff_editor(const svn_delta_
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+/**
+ * Assuming @a local_abspath itself or any of its children are under version
+ * control or a tree conflict victim and in a state of conflict, take these
+ * nodes out of this state.
+ *
+ * If @a resolve_text is TRUE then any text conflict is resolved,
+ * if @a resolve_tree is TRUE then any tree conflicts are resolved.
+ * If @a resolve_prop is set to "" all property conflicts are resolved,
+ * if it is set to any other string value, conflicts on that specific
+ * property are resolved and when resolve_prop is NULL, no property
+ * conflicts are resolved.
+ *
+ * If @a depth is #svn_depth_empty, act only on @a local_abspath; if
+ * #svn_depth_files, resolve @a local_abspath and its conflicted file
+ * children (if any); if #svn_depth_immediates, resolve @a local_abspath
+ * and all its immediate conflicted children (both files and directories,
+ * if any); if #svn_depth_infinity, resolve @a local_abspath and every
+ * conflicted file or directory anywhere beneath it.
+ *
+ * If @a conflict_choice is #svn_wc_conflict_choose_base, resolve the
+ * conflict with the old file contents; if
+ * #svn_wc_conflict_choose_mine_full, use the original working contents;
+ * if #svn_wc_conflict_choose_theirs_full, the new contents; and if
+ * #svn_wc_conflict_choose_merged, don't change the contents at all,
+ * just remove the conflict status, which is the pre-1.5 behavior.
+ *
+ * If @a conflict_choice is #svn_wc_conflict_choose_unspecified, invoke the
+ * @a conflict_func with the @a conflict_baton argument to obtain a
+ * resolution decision for each conflict.
+ *
+ * #svn_wc_conflict_choose_theirs_conflict and
+ * #svn_wc_conflict_choose_mine_conflict are not legal for binary
+ * files or properties.
+ *
+ * @a wc_ctx is a working copy context, with a write lock, for @a
+ * local_abspath.
+ *
+ * The implementation details are opaque, as our "conflicted" criteria
+ * might change over time. (At the moment, this routine removes the
+ * three fulltext 'backup' files and any .prej file created in a conflict,
+ * and modifies @a local_abspath's entry.)
+ *
+ * If @a local_abspath is not under version control and not a tree
+ * conflict, return #SVN_ERR_ENTRY_NOT_FOUND. If @a path isn't in a
+ * state of conflict to begin with, do nothing, and return #SVN_NO_ERROR.
+ *
+ * If @c local_abspath was successfully taken out of a state of conflict,
+ * report this information to @c notify_func (if non-@c NULL.) If only
+ * text, only property, or only tree conflict resolution was requested,
+ * and it was successful, then success gets reported.
+ *
+ * Temporary allocations will be performed in @a scratch_pool.
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_wc__resolve_conflicts(svn_wc_context_t *wc_ctx,
+ const char *local_abspath,
+ svn_depth_t depth,
+ svn_boolean_t resolve_text,
+ const char *resolve_prop,
+ svn_boolean_t resolve_tree,
+ svn_wc_conflict_choice_t conflict_choice,
+ svn_wc_conflict_resolver_func2_t conflict_func,
+ void *conflict_baton,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ svn_wc_notify_func2_t notify_func,
+ void *notify_baton,
+ apr_pool_t *scratch_pool);
#ifdef __cplusplus
}
Modified: subversion/branches/inheritable-props/subversion/include/svn_auth.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/svn_auth.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/svn_auth.h (original)
+++ subversion/branches/inheritable-props/subversion/include/svn_auth.h Tue Jun 26 19:26:49 2012
@@ -416,8 +416,8 @@ typedef svn_error_t *(*svn_auth_username
#define SVN_AUTH_SSL_CNMISMATCH 0x00000004
/** @brief Certificate authority is unknown (i.e. not trusted) */
#define SVN_AUTH_SSL_UNKNOWNCA 0x00000008
-/** @brief Other failure. This can happen if neon has introduced a new
- * failure bit that we do not handle yet. */
+/** @brief Other failure. This can happen if an unknown failure occurs
+ * that we do not handle yet. */
#define SVN_AUTH_SSL_OTHER 0x40000000
/** @} */
Modified: subversion/branches/inheritable-props/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/svn_client.h?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/svn_client.h (original)
+++ subversion/branches/inheritable-props/subversion/include/svn_client.h Tue Jun 26 19:26:49 2012
@@ -2903,6 +2903,11 @@ svn_client_blame(const char *path_or_url
* will be used.
* ### Do we need to say more about the format? A reference perhaps?
*
+ * If @a ignore_properties is TRUE, do not show property differences.
+ * If @a properties_only is TRUE, show only property changes.
+ * The above two options are mutually exclusive. It is an error to set
+ * both to TRUE.
+ *
* Generated headers are encoded using @a header_encoding.
*
* Diff output will not be generated for binary files, unless @a
@@ -2947,7 +2952,8 @@ svn_client_diff6(const apr_array_header_
svn_boolean_t no_diff_deleted,
svn_boolean_t show_copies_as_adds,
svn_boolean_t ignore_content_type,
- svn_boolean_t ignore_prop_diff,
+ svn_boolean_t ignore_properties,
+ svn_boolean_t properties_only,
svn_boolean_t use_git_diff_format,
const char *header_encoding,
svn_stream_t *outstream,
@@ -3107,7 +3113,8 @@ svn_client_diff_peg6(const apr_array_hea
svn_boolean_t no_diff_deleted,
svn_boolean_t show_copies_as_adds,
svn_boolean_t ignore_content_type,
- svn_boolean_t ignore_prop_diff,
+ svn_boolean_t ignore_properties,
+ svn_boolean_t properties_only,
svn_boolean_t use_git_diff_format,
const char *header_encoding,
svn_stream_t *outstream,
@@ -3743,8 +3750,32 @@ svn_client_mergeinfo_get_merged(apr_hash
* If the server doesn't support retrieval of mergeinfo, return an
* #SVN_ERR_UNSUPPORTED_FEATURE error.
*
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_client_mergeinfo_log2(svn_boolean_t finding_merged,
+ const char *target_path_or_url,
+ const svn_opt_revision_t *target_peg_revision,
+ const char *source_path_or_url,
+ const svn_opt_revision_t *source_peg_revision,
+ const svn_opt_revision_t *source_start_revision,
+ const svn_opt_revision_t *source_end_revision,
+ svn_log_entry_receiver_t receiver,
+ void *receiver_baton,
+ svn_boolean_t discover_changed_paths,
+ svn_depth_t depth,
+ const apr_array_header_t *revprops,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *scratch_pool);
+
+/**
+ * Similar to svn_client_mergeinfo_log2(), but with @a source_start_revision
+ * and @a source_end_revision always of kind @c svn_opt_revision_unspecified;
+ *
+ * @deprecated Provided for backwards compatibility with the 1.7 API.
* @since New in 1.7.
*/
+SVN_DEPRECATED
svn_error_t *
svn_client_mergeinfo_log(svn_boolean_t finding_merged,
const char *target_path_or_url,