Merge r15572-15624 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/python-bindings-improvements-interim-for-review@855699 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/Makefile.in b/Makefile.in
index 2f8f028..748fb07 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -143,8 +143,11 @@
MKDIR = @MKDIR@
-# the EXTRA_ exist so that extra flags can be passed at 'make' time
+# The EXTRA_ parameters can be used to pass extra flags at 'make' time.
CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
+### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes,
+### -Wmissing-declarations) are not valid for C++, and should be somehow
+### suppressed (but they may come from httpd or APR).
CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
diff --git a/build.conf b/build.conf
index 993e38f..3ab675f 100644
--- a/build.conf
+++ b/build.conf
@@ -792,7 +792,7 @@
type = project
path = build/win32
libs = __ALL__
- fs-test skel-test key-test strings-reps-test changes-test locks-test
+ fs-test fs-base-test skel-test key-test strings-reps-test changes-test locks-test
repos-test
compat-test config-test hashdump-test opt-test path-test stream-test
string-test time-test utf-test target-test
diff --git a/contrib/client-side/psvn/psvn.el b/contrib/client-side/psvn/psvn.el
index 4fce39c..6fbd6fa 100644
--- a/contrib/client-side/psvn/psvn.el
+++ b/contrib/client-side/psvn/psvn.el
@@ -168,9 +168,12 @@
(defvar svn-log-edit-file-name "++svn-log++" "*Name of a saved log file.")
(defvar svn-log-edit-insert-files-to-commit t "*Insert the filelist to commit in the *svn-log* buffer")
(defvar svn-log-edit-use-log-edit-mode (and (condition-case nil (require 'log-edit) (error nil)) t) "*Use log-edit-mode as base for svn-log-edit-mode")
-(defvar svn-status-hide-unknown nil "*Hide unknown files in `svn-status-buffer-name' buffer.")
-(defvar svn-status-hide-unmodified nil "*Hide unmodified files in `svn-status-buffer-name' buffer.")
-(defvar svn-status-directory-history nil "*List of visited svn working directories.")
+(defvar svn-status-hide-unknown nil
+ "*Hide unknown files in `svn-status-buffer-name' buffer.
+This can be toggled with \[svn-status-toggle-hide-unknown].")
+(defvar svn-status-hide-unmodified nil
+ "*Hide unmodified files in `svn-status-buffer-name' buffer.
+This can be toggled with \[svn-status-toggle-hide-unmodified].")
(defvar svn-status-sort-status-buffer t "Sort the `svn-status-buffer-name' buffer.
Setting this variable to nil speeds up M-x svn-status.
However, it is possible, that the sorting is wrong in this case.")
@@ -180,11 +183,13 @@
Possible values are: commit, revert.")
(defvar svn-status-negate-meaning-of-arg-commands nil
- "*List of operations that sould use a negated meaning of the prefix argument.
+ "*List of operations that should use a negated meaning of the prefix argument.
The supported functions are `svn-status' and `svn-status-set-user-mark'.")
(defvar svn-status-svn-executable "svn" "*The name of the svn executable.")
+;; TODO: bind `process-environment' instead of running env?
+;; That would probably work more reliably in Windows.
(defvar svn-status-svn-environment-var-list nil
"*A list of environment variables that should be set for that svn process.
If you set that variable, svn is called with that environment variables set.
@@ -192,13 +197,20 @@
You could set it for example to '(\"LANG=C\")")
-(defvar svn-browse-url-function browse-url-browser-function "Browser function, used for `svn-browse-url'.")
+(defvar svn-browse-url-function nil
+ ;; If the user hasn't changed `svn-browse-url-function', then changing
+ ;; `browse-url-browser-function' should affect psvn even after it has
+ ;; been loaded.
+ "Function to display a Subversion related WWW page in a browser.
+So far, this is used only for \"trac\" issue tracker integration.
+By default, this is nil, which means use `browse-url-browser-function'.
+Any non-nil value overrides that variable, with the same syntax.")
(defvar svn-status-window-alist
'((diff "*svn-diff*") (log "*svn-log*") (info t) (blame t) (proplist t) (update t))
"An alist to specify which windows should be used for svn command outputs.
The following keys are supported: diff, log, info, blame, proplist, update.
-The follwing values can be given:
+The following values can be given:
nil ... show in *svn-process* buffer
t ... show in dedicated *svn-info* buffer
invisible ... don't show the buffer (eventually useful for update)
@@ -211,7 +223,7 @@
version in the repository than the working copy), then the file will
be marked by \"**\"
-If this variale is nil, and the file is out of date then the longer phrase
+If this variable is nil, and the file is out of date then the longer phrase
\"(Update Available)\" is used.
In either case the mark gets the face
@@ -297,6 +309,7 @@
(add-to-list 'auto-mode-alist '("\\.~?\\(HEAD\\|BASE\\|PREV\\)~?\\'" ignore t))
;;; internal variables
+(defvar svn-status-directory-history nil "List of visited svn working directories.")
(defvar svn-process-cmd nil)
(defvar svn-status-info nil)
(defvar svn-status-base-info nil)
@@ -3235,7 +3248,8 @@
(defun svn-browse-url (url)
"Call `browse-url', using `svn-browse-url-function'."
- (let ((browse-url-browser-function svn-browse-url-function))
+ (let ((browse-url-browser-function (or svn-browse-url-function
+ browse-url-browser-function)))
(browse-url url)))
;; --------------------------------------------------------------------------------
diff --git a/packages/rpm/rhel-4/subversion.spec b/packages/rpm/rhel-4/subversion.spec
index dab8fbc..223ce96 100644
--- a/packages/rpm/rhel-4/subversion.spec
+++ b/packages/rpm/rhel-4/subversion.spec
@@ -105,6 +105,10 @@
Tools for Subversion.
%changelog
+* Sun Aug 07 2005 David Summers <david@summersoft.fay.ar.us> r15615
+- Fix bug where RHEL4 version can't find Python bindings.
+ RHEL4 uses python 2.3 instead of python 2.2.
+
* Sat Apr 30 2005 David Summers <david@summersoft.fay.ar.us> r14530
- Make backend regression tests explicit and make sure we do them for both BDB
and FSFS backends.
@@ -406,7 +410,7 @@
%configure \
--with-swig \
--with-berkeley-db \
- --with-python=/usr/bin/python2.2 \
+ --with-python=/usr/bin/python2.3 \
--with-apxs=%{apache_dir}/sbin/apxs \
--with-apr=%{apache_dir}/bin/apr-config \
--with-apr-util=%{apache_dir}/bin/apu-config
@@ -501,8 +505,8 @@
# Install Python SWIG bindings.
make install-swig-py DESTDIR=$RPM_BUILD_ROOT DISTUTIL_PARAM=--prefix=$RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/usr/lib/python2.2/site-packages
-mv $RPM_BUILD_ROOT/usr/lib/svn-python/* $RPM_BUILD_ROOT/usr/lib/python2.2/site-packages
+mkdir -p $RPM_BUILD_ROOT/usr/lib/python2.3/site-packages
+mv $RPM_BUILD_ROOT/usr/lib/svn-python/* $RPM_BUILD_ROOT/usr/lib/python2.3/site-packages
rmdir $RPM_BUILD_ROOT/usr/lib/svn-python
# Install PERL SWIG bindings.
@@ -585,8 +589,8 @@
%files python
%defattr(-,root,root)
-/usr/lib/python2.2/site-packages/svn
-/usr/lib/python2.2/site-packages/libsvn
+/usr/lib/python2.3/site-packages/svn
+/usr/lib/python2.3/site-packages/libsvn
/usr/lib/libsvn_swig_py*so*
%files tools
diff --git a/subversion/bindings/java/javahl/native/SVNClient.cpp b/subversion/bindings/java/javahl/native/SVNClient.cpp
index 4684d23..8f726db 100644
--- a/subversion/bindings/java/javahl/native/SVNClient.cpp
+++ b/subversion/bindings/java/javahl/native/SVNClient.cpp
@@ -2271,18 +2271,135 @@
return NULL;
}
- svn_stream_t *read_stream = NULL;
size_t size = 0;
-
- if(revision.revision()->kind == svn_opt_revision_base)
- // we want the base of the current working copy. Bad hack to avoid going to
- // the server
+ svn_stream_t *read_stream = createReadStream(requestPool.pool(),
+ intPath.c_str(), revision,
+ pegRevision, size);
+ if (read_stream == NULL)
{
+ return NULL;
+ }
+ JNIEnv *env = JNIUtil::getEnv();
+ // size will be set to the number of bytes available.
+ jbyteArray ret = env->NewByteArray(size);
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ return NULL;
+ }
+ jbyte *retdata = env->GetByteArrayElements(ret, NULL);
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ return NULL;
+ }
+
+ Err = svn_stream_read(read_stream, (char *)retdata, &size);
+ env->ReleaseByteArrayElements(ret, retdata, 0);
+ if (Err != NULL)
+ {
+ JNIUtil::handleSVNError(Err);
+ return NULL;
+ }
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ return NULL;
+ }
+
+ return ret;
+}
+
+void SVNClient::streamFileContent(const char *path, Revision &revision,
+ Revision &pegRevision, jobject outputStream,
+ size_t bufSize)
+{
+ Pool requestPool;
+ if (path == NULL)
+ {
+ JNIUtil::throwNullPointerException("path");
+ return;
+ }
+ Path intPath(path);
+ svn_error_t *Err = intPath.error_occured();
+ if (Err != NULL)
+ {
+ JNIUtil::handleSVNError(Err);
+ return;
+ }
+
+ JNIEnv *env = JNIUtil::getEnv();
+ jclass outputStreamClass = env->FindClass("java/io/OutputStream");
+ if (outputStreamClass == NULL)
+ {
+ return;
+ }
+ jmethodID writeMethod = env->GetMethodID(outputStreamClass, "write",
+ "([BII)V");
+ if (writeMethod == NULL)
+ {
+ return;
+ }
+
+ // Create the buffer.
+ jbyteArray buffer = env->NewByteArray(bufSize);
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ return;
+ }
+ jbyte *bufData = env->GetByteArrayElements(buffer, NULL);
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ return;
+ }
+
+ size_t contentSize = 0;
+ svn_stream_t* read_stream = createReadStream(requestPool.pool(), path,
+ revision, pegRevision,
+ contentSize);
+ if (read_stream == NULL)
+ {
+ return;
+ }
+
+ while (contentSize > 0)
+ {
+ size_t readSize = bufSize > contentSize ? contentSize : bufSize;
+ Err = svn_stream_read(read_stream, (char *)bufData, &readSize);
+ if (Err != NULL)
+ {
+ env->ReleaseByteArrayElements(buffer, bufData, 0);
+ svn_stream_close(read_stream);
+ JNIUtil::handleSVNError(Err);
+ return;
+ }
+
+ env->ReleaseByteArrayElements(buffer, bufData, JNI_COMMIT);
+ env->CallVoidMethod(outputStream, writeMethod, buffer, 0, readSize);
+ if (JNIUtil::isJavaExceptionThrown())
+ {
+ env->ReleaseByteArrayElements(buffer, bufData, 0);
+ svn_stream_close(read_stream);
+ return;
+ }
+ contentSize -= readSize;
+ }
+
+ env->ReleaseByteArrayElements(buffer, bufData, 0);
+ return;
+}
+
+svn_stream_t* SVNClient::createReadStream(apr_pool_t* pool, const char *path,
+ Revision& revision,
+ Revision &pegRevision, size_t& size)
+{
+ svn_stream_t *read_stream = NULL;
+
+ if (revision.revision()->kind == svn_opt_revision_base)
+ {
+ // We want the base of the current working copy, while
+ // avoiding a round-trip to the server.
const char *base_path;
- svn_error_t *err = svn_wc_get_pristine_copy_path (intPath.c_str(),
- &base_path,
- requestPool.pool());
+ svn_error_t *err = svn_wc_get_pristine_copy_path(path, &base_path,
+ pool);
if(err != NULL)
{
JNIUtil::handleSVNError(err);
@@ -2291,44 +2408,42 @@
apr_file_t *file = NULL;
apr_finfo_t finfo;
apr_status_t apr_err = apr_stat(&finfo, base_path,
- APR_FINFO_MIN, requestPool.pool());
+ APR_FINFO_MIN, pool);
if(apr_err)
{
JNIUtil::handleAPRError(apr_err, _("open file"));
return NULL;
}
- apr_err = apr_file_open(&file, base_path, APR_READ, 0,
- requestPool.pool());
+ apr_err = apr_file_open(&file, base_path, APR_READ, 0, pool);
if(apr_err)
{
JNIUtil::handleAPRError(apr_err, _("open file"));
return NULL;
}
- read_stream = svn_stream_from_aprfile(file, requestPool.pool());
+ read_stream = svn_stream_from_aprfile(file, pool);
size = finfo.size;
}
- else if(revision.revision()->kind == svn_opt_revision_working)
- // we want the working copy. Going back to the server returns base instead
- // (not good)
+ else if (revision.revision()->kind == svn_opt_revision_working)
{
-
+ // We want the working copy. Going back to the server returns
+ // base instead (which is not what we want).
apr_file_t *file = NULL;
apr_finfo_t finfo;
- apr_status_t apr_err = apr_stat(&finfo, intPath.c_str(),
- APR_FINFO_MIN, requestPool.pool());
+ apr_status_t apr_err = apr_stat(&finfo, path,
+ APR_FINFO_MIN, pool);
if(apr_err)
{
JNIUtil::handleAPRError(apr_err, _("open file"));
return NULL;
}
- apr_err = apr_file_open(&file, intPath.c_str(), APR_READ, 0,
- requestPool.pool());
+ apr_err = apr_file_open(&file, path, APR_READ, 0,
+ pool);
if(apr_err)
{
JNIUtil::handleAPRError(apr_err, _("open file"));
return NULL;
}
- read_stream = svn_stream_from_aprfile(file, requestPool.pool());
+ read_stream = svn_stream_from_aprfile(file, pool);
size = finfo.size;
}
else
@@ -2338,11 +2453,10 @@
{
return NULL;
}
- svn_stringbuf_t *buf = svn_stringbuf_create("", requestPool.pool());
- read_stream = svn_stream_from_stringbuf(buf, requestPool.pool());
+ svn_stringbuf_t *buf = svn_stringbuf_create("", pool);
+ read_stream = svn_stream_from_stringbuf(buf, pool);
svn_error_t *err = svn_client_cat2 (read_stream,
- intPath.c_str(), pegRevision.revision(), revision.revision(),
- ctx, requestPool.pool());
+ path, pegRevision.revision(), revision.revision(), ctx, pool);
if(err != NULL)
{
JNIUtil::handleSVNError(err);
@@ -2350,41 +2464,10 @@
}
size = buf->len;
}
- if(read_stream == NULL)
- {
- return NULL;
- }
-
- JNIEnv *env = JNIUtil::getEnv();
- jbyteArray ret = env->NewByteArray(size);
- if(JNIUtil::isJavaExceptionThrown())
- {
- return NULL;
- }
- jbyte *retdata = env->GetByteArrayElements(ret, NULL);
- if(JNIUtil::isJavaExceptionThrown())
- {
- return NULL;
- }
- svn_error_t *err = svn_stream_read (read_stream, (char *)retdata,
- &size);
-
- if(err != NULL)
- {
- env->ReleaseByteArrayElements(ret, retdata, 0);
- JNIUtil::handleSVNError(err);
- return NULL;
- }
- env->ReleaseByteArrayElements(ret, retdata, 0);
- if(JNIUtil::isJavaExceptionThrown())
- {
- return NULL;
- }
-
-
- return ret;
+ return read_stream;
}
+
/**
* create a DirEntry java object from svn_dirent_t structure
*/
diff --git a/subversion/bindings/java/javahl/native/SVNClient.h b/subversion/bindings/java/javahl/native/SVNClient.h
index f44981f..21c257b 100644
--- a/subversion/bindings/java/javahl/native/SVNClient.h
+++ b/subversion/bindings/java/javahl/native/SVNClient.h
@@ -61,6 +61,9 @@
bool recurse);
jbyteArray fileContent(const char *path, Revision &revision,
Revision &pegRevision);
+ void streamFileContent(const char *path, Revision &revision,
+ Revision &pegRevision, jobject outputStream,
+ size_t bufSize);
void propertyCreate(const char *path, const char *name,
JNIByteArray &value, bool recurse, bool force);
void propertyCreate(const char *path, const char *name,
@@ -151,6 +154,9 @@
jobject createJavaDirEntry(const char *path, svn_dirent_t *dirent);
jobject createJavaInfo(const svn_wc_entry_t *entry);
svn_client_ctx_t * getContext(const char *message);
+ svn_stream_t * createReadStream(apr_pool_t* pool, const char *path,
+ Revision &revision, Revision &pegRevision,
+ size_t& size);
Notify *m_notify;
Notify2 *m_notify2;
Prompter *m_prompter;
diff --git a/subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp b/subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
index 3e1de12..3b91bb3 100644
--- a/subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
+++ b/subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
@@ -1373,6 +1373,36 @@
}
return cl->fileContent(path, revision, pegRevision);
}
+
+JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_streamFileContent
+ (JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
+ jobject jpegRevision, jint bufSize, jobject jstream)
+{
+ JNIEntry(SVNClient, streamFileContent);
+ SVNClient *cl = SVNClient::getCppObject(jthis);
+ if (cl == NULL)
+ {
+ JNIUtil::throwError(_("bad c++ this"));
+ return;
+ }
+ JNIStringHolder path(jpath);
+ if (JNIUtil::isExceptionThrown())
+ {
+ return;
+ }
+ Revision revision(jrevision);
+ if (JNIUtil::isExceptionThrown())
+ {
+ return;
+ }
+ Revision pegRevision(jpegRevision);
+ if (JNIUtil::isExceptionThrown())
+ {
+ return;
+ }
+ cl->streamFileContent(path, revision, pegRevision, jstream, bufSize);
+}
+
/*
* Class: org_tigris_subversion_javahl_SVNClient
* Method: getVersionInfo
diff --git a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClient.java b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClient.java
index 1c69c27..19f62d1 100644
--- a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClient.java
+++ b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClient.java
@@ -17,6 +17,9 @@
* ====================================================================
* @endcopyright
*/
+
+import java.io.OutputStream;
+
/**
* This is the main interface class. All subversion commandline client svn &
* svnversion operation are implemented in this class. This class is not
@@ -936,6 +939,20 @@
throws ClientException;
/**
+ * Write the file's content to the specified output stream.
+ *
+ * @param path the path of the file
+ * @param revision the revision to retrieve
+ * @param pegRevision the revision at which to interpret the path
+ * @param the stream to write the file's content to
+ * @throws ClientException
+ */
+ public native void streamFileContent(String path, Revision revision,
+ Revision pegRevision, int bufferSize,
+ OutputStream stream)
+ throws ClientException;
+
+ /**
* Rewrite the url's in the working copy
* @param from old url
* @param to new url
diff --git a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
index 836ea73..bd52ea1 100644
--- a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
+++ b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java
@@ -1,5 +1,4 @@
package org.tigris.subversion.javahl;
-
/**
* @copyright
* ====================================================================
@@ -17,6 +16,9 @@
* ====================================================================
* @endcopyright
*/
+
+import java.io.OutputStream;
+
/**
* This interface is the commom interface for all subversion
* operations. It is implemented by SVNClient and SVNClientSynchronized
@@ -711,6 +713,19 @@
byte[] fileContent(String path, Revision revision, Revision pegRevision)
throws ClientException;
/**
+ * Stream file content to the given output stream
+ * @param path the path of the file
+ * @param revision the revision to retrieve
+ * @param pegRevision the revision to interpret path
+ * @param bufferSize the size of buffer to use during streaming
+ * @param the stream to which content is written
+ * @throws ClientException
+ */
+ void streamFileContent(String path, Revision revision, Revision pegRevision,
+ int bufferSize, OutputStream stream)
+ throws ClientException;
+
+ /**
* Rewrite the url's in the working copy
* @param from old url
* @param to new url
diff --git a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java
index aca36c2..0f467b3 100644
--- a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java
+++ b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java
@@ -16,6 +16,9 @@
* @endcopyright
*/
package org.tigris.subversion.javahl;
+
+import java.io.OutputStream;
+
/**
* This class provides a threadsafe wrapped for SVNClient
*/
@@ -1171,6 +1174,27 @@
}
/**
+ * Write the file's content to the specified output stream.
+ *
+ * @param path the path of the file
+ * @param revision the revision to retrieve
+ * @param pegRevision the revision at which to interpret the path
+ * @param the stream to write the file's content to
+ * @throws ClientException
+ */
+ public void streamFileContent(String path, Revision revision,
+ Revision pegRevision, int bufferSize,
+ OutputStream stream)
+ throws ClientException
+ {
+ synchronized(clazz)
+ {
+ worker.streamFileContent(path, revision, pegRevision, bufferSize,
+ stream);
+ }
+ }
+
+ /**
* Rewrite the url's in the working copy
* @param from old url
* @param to new url
diff --git a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests/BasicTests.java b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests/BasicTests.java
index 30410ca..d32892b 100644
--- a/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests/BasicTests.java
+++ b/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests/BasicTests.java
@@ -24,10 +24,12 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
+import java.io.ByteArrayOutputStream;
import java.util.Arrays;
+
/**
- * this class tests the basic functionality of javahl binding. It was inspired
- * by the tests in subversion/tests/clients/cmdline/basic_tests.py
+ * Tests the basic functionality of javahl binding (inspired by the
+ * tests in subversion/tests/clients/cmdline/basic_tests.py).
*/
public class BasicTests extends SVNTests
{
@@ -1144,6 +1146,32 @@
}
/**
+ * test the basic SVNClient.fileContent functionality
+ * @throws Throwable
+ */
+ public void testBasicCatStream() throws Throwable
+ {
+ // create the working copy
+ OneTest thisTest = new OneTest();
+
+ // modify A/mu
+ File mu = new File(thisTest.getWorkingCopy(), "A/mu");
+ PrintWriter pw = new PrintWriter(new FileOutputStream(mu, true));
+ pw.print("some text");
+ pw.close();
+ // get the content from the repository
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ client.streamFileContent(thisTest.getWCPath() + "/A/mu", null, null,
+ 100, baos);
+
+ byte[] content = baos.toByteArray();
+ byte[] testContent = thisTest.getWc().getItemContent("A/mu").getBytes();
+
+ // the content should be the same
+ assertTrue("content changed", Arrays.equals(content, testContent));
+ }
+
+ /**
* test the basic SVNClient.list functionality
* @throws Throwable
*/
diff --git a/subversion/bindings/swig/core.i b/subversion/bindings/swig/core.i
index 13d3c7e..a64a1d2 100644
--- a/subversion/bindings/swig/core.i
+++ b/subversion/bindings/swig/core.i
@@ -43,6 +43,8 @@
#endif
#ifdef SWIGRUBY
+#include <apu.h>
+#include <apr_xlate.h>
#include "swigutil_rb.h"
#endif
%}
@@ -620,5 +622,20 @@
};
%include svn_diff_h.swg
+
+%inline %{
+static VALUE
+svn_default_charset(void)
+{
+ return INT2NUM((int)APR_DEFAULT_CHARSET);
+}
+
+static VALUE
+svn_locale_charset(void)
+{
+ return INT2NUM((int)APR_LOCALE_CHARSET);
+}
+%}
+
#endif
diff --git a/subversion/bindings/swig/include/svn_types.swg b/subversion/bindings/swig/include/svn_types.swg
index 71812e8..0c3dc0f 100644
--- a/subversion/bindings/swig/include/svn_types.swg
+++ b/subversion/bindings/swig/include/svn_types.swg
@@ -91,6 +91,30 @@
}
/* -----------------------------------------------------------------------
+ const char *header_encoding
+ svn_diff_file_output_unified2
+ svn_client_diff3
+*/
+%typemap(ruby, in) const char *header_encoding
+{
+ $1 = NULL;
+
+ if (NIL_P($input)) {
+ } else if (TYPE($input) == T_FIXNUM) {
+ $1 = (char *)NUM2INT($input);
+ if (!($1 == APR_LOCALE_CHARSET || $1 == APR_DEFAULT_CHARSET)) {
+ $1 = NULL;
+ }
+ } else {
+ $1 = StringValuePtr($input);
+ }
+
+ if (!$1) {
+ $1 = (char *)APR_LOCALE_CHARSET;
+ }
+}
+
+/* -----------------------------------------------------------------------
Define a more refined 'memberin' typemap for 'const char *' members. This
is used in place of the 'char *' handler defined automatically.
@@ -592,6 +616,8 @@
#endif
#ifdef SWIGRUBY
+#include <apu.h>
+#include <apr_xlate.h>
#include "swigutil_rb.h"
#endif
%}
diff --git a/subversion/bindings/swig/perl/native/Delta.pm b/subversion/bindings/swig/perl/native/Delta.pm
index 405e67c..b34ae86 100644
--- a/subversion/bindings/swig/perl/native/Delta.pm
+++ b/subversion/bindings/swig/perl/native/Delta.pm
@@ -107,7 +107,6 @@
package SVN::Delta::Editor;
use SVN::Base qw(Delta svn_delta_editor_);
-use Carp;
*invoke_set_target_revision = *SVN::_Delta::svn_delta_editor_invoke_set_target_revision;
@@ -132,8 +131,6 @@
if $self->{_editor};
}
- warn "debug" if $self->{_debug};
-
return $self;
}
@@ -141,11 +138,11 @@
sub AUTOLOAD {
no warnings 'uninitialized';
- warn "$AUTOLOAD: ".join(',',@_) if $_[0]->{_debug};
return unless $_[0]->{_editor};
my $class = ref($_[0]);
my $func = $AUTOLOAD;
$func =~ s/.*:://;
+ warn "$func: ".join(',',@_)."\n" if $_[0]->{_debug};
return unless $func =~ m/[^A-Z]/;
my %ebaton = ( set_target_revision => 1,
@@ -162,7 +159,7 @@
eval { &{"invoke_$func"}($self->{_editor},
$ebaton{$func} ? $self->{_baton} : (), @_) };
- confess $@ if $@;
+ die $@ if $@;
return @ret ? $#ret == 0 ? $ret[0] : [@ret] : undef;
}
diff --git a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
index 7275f6d..18ecc06 100644
--- a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
+++ b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
@@ -1566,3 +1566,58 @@
}
}
}
+
+void
+svn_swig_rb_wc_status_func(void *baton,
+ const char *path,
+ svn_wc_status2_t *status)
+{
+ VALUE proc = (VALUE)baton;
+
+ if (!NIL_P(proc)) {
+ VALUE args;
+
+ args = rb_ary_new3(4,
+ proc,
+ rb_id_call(),
+ rb_str_new2(path),
+ c2r_swig_type((void *)status,
+ (void *)"svn_wc_status2_t *"));
+ callback(args);
+ }
+}
+
+svn_error_t *
+svn_swig_rb_client_blame_receiver_func(void *baton,
+ apr_int64_t line_no,
+ svn_revnum_t revision,
+ const char *author,
+ const char *date,
+ const char *line,
+ apr_pool_t *pool)
+{
+ VALUE proc = (VALUE)baton;
+ svn_error_t *err = SVN_NO_ERROR;
+
+ if (!NIL_P(proc)) {
+ VALUE args;
+
+ args = rb_ary_new3(7,
+ proc,
+ rb_id_call(),
+ sizeof(apr_int64_t) == sizeof(long long) ?
+ LONG2NUM(line_no) :
+ LL2NUM(line_no),
+ INT2NUM(revision),
+ rb_str_new2(author),
+ rb_str_new2(date),
+ rb_str_new2(line));
+
+ rb_rescue2(callback, args,
+ callback_rescue, (VALUE)&err,
+ rb_svn_error(), (VALUE)0);
+ }
+
+ return err;
+}
+
diff --git a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
index f6a65d2..ee065cd 100644
--- a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
+++ b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
@@ -144,6 +144,19 @@
void svn_swig_rb_adjust_arg_for_client_ctx_and_pool(int *argc, VALUE **argv);
+
+void svn_swig_rb_wc_status_func(void *baton,
+ const char *path,
+ svn_wc_status2_t *status);
+
+svn_error_t *svn_swig_rb_client_blame_receiver_func(void *baton,
+ apr_int64_t line_no,
+ svn_revnum_t revision,
+ const char *author,
+ const char *date,
+ const char *line,
+ apr_pool_t *pool);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/subversion/bindings/swig/ruby/svn/client.rb b/subversion/bindings/swig/ruby/svn/client.rb
index a84a010..8ae2d0a 100644
--- a/subversion/bindings/swig/ruby/svn/client.rb
+++ b/subversion/bindings/swig/ruby/svn/client.rb
@@ -1,4 +1,5 @@
require "English"
+require 'uri'
require "svn/error"
require "svn/util"
require "svn/core"
@@ -65,9 +66,18 @@
Client.mkdir(normalize_path(paths), self)
end
- def commit(targets, recurse=true)
+ def commit(targets, recurse=true, keep_locks=false)
targets = [targets] unless targets.is_a?(Array)
- Client.commit(targets, !recurse, self)
+ Client.commit2(targets, recurse, keep_locks, self)
+ end
+ alias ci commit
+
+ def status(path, rev=nil, recurse=true, get_all=false,
+ update=true, no_ignore=false,
+ ignore_externals=false, &status_func)
+ Client.status2(path, rev, status_func,
+ recurse, get_all, update, no_ignore,
+ ignore_externals, self)
end
def add(path, recurse=true, force=false, no_ignore=false)
@@ -78,6 +88,7 @@
paths = [paths] unless paths.is_a?(Array)
Client.delete(paths, force, self)
end
+ alias del delete
alias remove delete
alias rm remove
@@ -93,7 +104,12 @@
Client.update(paths, rev, recurse, self)
end
end
+ alias up update
+ def import(path, uri, recurse=true, no_ignore=false)
+ Client.import2(path, uri, !recurse, no_ignore, self)
+ end
+
def cleanup(dir)
Client.cleanup(dir, self)
end
@@ -106,10 +122,16 @@
def propset(name, value, target, recurse=true, force=false)
Client.propset2(name, value, target, recurse, force, self)
end
+ alias prop_set propset
+ alias pset propset
+ alias ps propset
def propdel(name, target, recurse=true, force=false)
Client.propset2(name, nil, target, recurse, force, self)
end
+ alias prop_del propdel
+ alias pdel propdel
+ alias pd propdel
def copy(src_path, dst_path, rev=nil)
Client.copy(src_path, rev || "HEAD", dst_path, self)
@@ -124,11 +146,13 @@
def diff(options, path1, rev1, path2, rev2,
out_file, err_file, recurse=true,
ignore_ancestry=false,
- no_diff_deleted=false, force=false)
- Client.diff2(options, path1, rev1, path2, rev2,
+ no_diff_deleted=false, force=false,
+ header_encoding=nil)
+ header_encoding ||= Core::LOCALE_CHARSET
+ Client.diff3(options, path1, rev1, path2, rev2,
recurse, ignore_ancestry,
- no_diff_deleted, force, out_file,
- err_file, self)
+ no_diff_deleted, force, header_encoding,
+ out_file, err_file, self)
end
def cat(path, rev="HEAD", output=nil)
@@ -185,6 +209,20 @@
end
end
+ def blame(path_or_uri, start_rev=nil, end_rev=nil, peg_rev=nil)
+ start_rev ||= 1
+ end_rev ||= URI(path_or_uri).scheme ? "HEAD" : "BASE"
+ peg_rev ||= end_rev
+ receiver = Proc.new do |line_no, revision, author, date, line|
+ yield(line_no, revision, author, Util.string_to_time(date), line)
+ end
+ Client.blame2(path_or_uri, peg_rev, start_rev,
+ end_rev, receiver, self)
+ end
+ alias praise blame
+ alias annotate blame
+ alias ann annotate
+
def revprop(name, uri, rev)
value, = revprop_get(name, uri, rev)
value
diff --git a/subversion/bindings/swig/ruby/svn/core.rb b/subversion/bindings/swig/ruby/svn/core.rb
index d55f901..6a679a3 100644
--- a/subversion/bindings/swig/ruby/svn/core.rb
+++ b/subversion/bindings/swig/ruby/svn/core.rb
@@ -38,6 +38,9 @@
end
+ DEFAULT_CHARSET = default_charset
+ LOCALE_CHARSET = locale_charset
+
AuthCredSSLClientCert = AuthCredSslClientCert
AuthCredSSLClientCertPw = AuthCredSslClientCertPw
AuthCredSSLServerTrust = AuthCredSslServerTrust
diff --git a/subversion/bindings/swig/ruby/svn/wc.rb b/subversion/bindings/swig/ruby/svn/wc.rb
index fd209e6..0fb510d 100644
--- a/subversion/bindings/swig/ruby/svn/wc.rb
+++ b/subversion/bindings/swig/ruby/svn/wc.rb
@@ -38,5 +38,22 @@
Wc.status(path, self)
end
end
+
+ class Entry
+ def dir?
+ kind == Core::NODE_DIR
+ end
+
+ def add?
+ schedule == SCHEDULE_ADD
+ end
+ end
+
+ class Status2
+ def text_added?
+ text_status == STATUS_ADDED
+ end
+ end
+
end
end
diff --git a/subversion/bindings/swig/ruby/test/test_client.rb b/subversion/bindings/swig/ruby/test/test_client.rb
index a82c311..e290192 100644
--- a/subversion/bindings/swig/ruby/test/test_client.rb
+++ b/subversion/bindings/swig/ruby/test/test_client.rb
@@ -299,15 +299,65 @@
assert(!File.exist?(path))
assert(!File.exist?(dir_path))
end
-
+
+ def test_import
+ src = "source\n"
+ log = "sample log"
+ deep_dir = File.join(%w(a b c d e))
+ file = "sample.txt"
+ deep_dir_path = File.join(@wc_path, deep_dir)
+ path = File.join(deep_dir_path, file)
+ tmp_deep_dir_path = File.join(@tmp_path, deep_dir)
+ tmp_path = File.join(tmp_deep_dir_path, file)
+
+ ctx = make_context(log)
+
+ FileUtils.mkdir_p(tmp_deep_dir_path)
+ File.open(tmp_path, "w") {|f| f.print(src)}
+
+ ctx.import(@tmp_path, @repos_uri)
+
+ ctx.up(@wc_path)
+ assert_equal(src, File.open(path){|f| f.read})
+ end
+
def test_commit
log = "sample log"
+ dir1 = "dir1"
+ dir2 = "dir2"
+ dir1_path = File.join(@wc_path, dir1)
+ dir2_path = File.join(dir1_path, dir2)
+
ctx = make_context(log)
assert_nil(ctx.commit(@wc_path))
- ctx.mkdir("#{@wc_path}/new_dir")
+ ctx.mkdir(dir1_path)
assert_equal(0, youngest_rev)
- ctx.commit(@wc_path)
- assert_equal(1, youngest_rev)
+ assert_equal(1, ctx.commit(@wc_path).revision)
+ ctx.mkdir(dir2_path)
+ assert_nil(ctx.commit(@wc_path, false))
+ assert_equal(2, ctx.ci(@wc_path).revision)
+ end
+
+ def test_status
+ log = "sample log"
+ dir = "dir"
+ dir_path = File.join(@wc_path, dir)
+
+ ctx = make_context(log)
+
+ ctx.mkdir(dir_path)
+ infos = []
+ rev = ctx.status(@wc_path) do |path, status|
+ infos << [path, status]
+ end
+
+ assert_equal(0, rev)
+ assert_equal(1, infos.size)
+ result_path, status = infos.first
+ assert_equal(result_path, dir_path)
+ assert(status.text_added?)
+ assert(status.entry.dir?)
+ assert(status.entry.add?)
end
def test_update
@@ -382,6 +432,43 @@
assert_equal(log, ctx.log_message(path, rev))
end
+ def test_blame
+ log = "sample log"
+ file = "hello.txt"
+ srcs = %w(first second third)
+ infos = []
+ path = File.join(@wc_path, file)
+
+ ctx = make_context(log)
+
+ File.open(path, "w") {|f| f.puts(srcs[0])}
+ ctx.add(path)
+ commit_info = ctx.commit(@wc_path)
+ infos << [0, commit_info.revision, @author, commit_info.date, srcs[0]]
+
+ File.open(path, "a") {|f| f.puts(srcs[1])}
+ commit_info = ctx.commit(@wc_path)
+ infos << [1, commit_info.revision, @author, commit_info.date, srcs[1]]
+
+ File.open(path, "a") {|f| f.puts(srcs[2])}
+ commit_info = ctx.commit(@wc_path)
+ infos << [2, commit_info.revision, @author, commit_info.date, srcs[2]]
+
+ result = []
+ ctx.blame(path) do |line_no, revision, author, date, line|
+ result << [line_no, revision, author, date, line]
+ end
+ assert_equal(infos, result)
+
+
+ ctx.prop_set(Svn::Core::PROP_MIME_TYPE, "image/DUMMY", path)
+ ctx.commit(@wc_path)
+
+ assert_raise(Svn::Error::CLIENT_IS_BINARY_FILE) do
+ ctx.ann(path) {}
+ end
+ end
+
def test_diff
log = "sample log"
before = "before\n"
diff --git a/subversion/bindings/swig/ruby/test/util.rb b/subversion/bindings/swig/ruby/test/util.rb
index 2b4a4a1..f1628d3 100644
--- a/subversion/bindings/swig/ruby/test/util.rb
+++ b/subversion/bindings/swig/ruby/test/util.rb
@@ -15,7 +15,9 @@
@svnserve_host = "127.0.0.1"
@svnserve_ports = (64152..64282).collect{|x| x.to_s}
@wc_path = File.join("test", "wc")
+ @tmp_path = File.join("test", "tmp")
@config_path = File.join("test", "config")
+ setup_tmp
setup_repository
@repos = Svn::Repos.open(@repos_path)
add_hooks
@@ -31,8 +33,18 @@
teardown_repository
teardown_wc
teardown_config
+ teardown_tmp
end
+ def setup_tmp(path=@tmp_path)
+ FileUtils.rm_rf(path)
+ FileUtils.mkdir_p(path)
+ end
+
+ def teardown_tmp(path=@tmp_path)
+ FileUtils.rm_rf(path)
+ end
+
def setup_repository(path=@repos_path, config={}, fs_config={})
FileUtils.rm_rf(path)
FileUtils.mkdir_p(File.dirname(path))
diff --git a/subversion/bindings/swig/svn_client.i b/subversion/bindings/swig/svn_client.i
index 44d0ff5..0a8843b 100644
--- a/subversion/bindings/swig/svn_client.i
+++ b/subversion/bindings/swig/svn_client.i
@@ -182,13 +182,12 @@
$2 = $input; /* our function is the baton. */
}
-/*
%typemap(ruby, in) (svn_client_blame_receiver_t receiver,
- void *receiver_baton) {
+ void *receiver_baton)
+{
$1 = svn_swig_rb_client_blame_receiver_func;
$2 = (void *)$input;
}
-*/
/* -----------------------------------------------------------------------
We use 'svn_wc_status_t *' in some custom code, but it isn't in the
@@ -464,6 +463,8 @@
#endif
#ifdef SWIGRUBY
+#include <apu.h>
+#include <apr_xlate.h>
#include "swigutil_rb.h"
#endif
%}
diff --git a/subversion/bindings/swig/svn_wc.i b/subversion/bindings/swig/svn_wc.i
index 2e962a8..5bcd876 100644
--- a/subversion/bindings/swig/svn_wc.i
+++ b/subversion/bindings/swig/svn_wc.i
@@ -116,6 +116,19 @@
$2 = $input; /* our function is the baton. */
}
+/* -----------------------------------------------------------------------
+ Callback: svn_wc_status_func2_t
+ svn_client_status2()
+ svn_wc_get_status_editor2()
+*/
+
+%typemap(ruby, in) (svn_wc_status_func2_t status_func,
+ void *status_baton)
+{
+ $1 = svn_swig_rb_wc_status_func;
+ $2 = (void *)$input;
+}
+
/* ----------------------------------------------------------------------- */
%{
diff --git a/subversion/include/svn_error_codes.h b/subversion/include/svn_error_codes.h
index c0537c2..e590eec 100644
--- a/subversion/include/svn_error_codes.h
+++ b/subversion/include/svn_error_codes.h
@@ -788,6 +788,11 @@
SVN_ERR_AUTHZ_CATEGORY_START + 3,
"Invalid authz configuration")
+ /* @since New in 1.3 */
+ SVN_ERRDEF (SVN_ERR_AUTHZ_UNWRITABLE,
+ SVN_ERR_AUTHZ_CATEGORY_START + 4,
+ "Item is not writable")
+
/* svndiff errors */
SVN_ERRDEF (SVN_ERR_SVNDIFF_INVALID_HEADER,
diff --git a/subversion/include/svn_repos.h b/subversion/include/svn_repos.h
index 2a39549..f97a9f2 100644
--- a/subversion/include/svn_repos.h
+++ b/subversion/include/svn_repos.h
@@ -73,6 +73,63 @@
void *baton,
apr_pool_t *pool);
+
+/** An enum defining the kinds of access authz looks up.
+ *
+ * @since New in 1.3.
+ */
+typedef enum
+{
+ /** No access. */
+ svn_authz_none = 0,
+
+ /** Path can be read. */
+ svn_authz_read = 1,
+
+ /** Path can be altered. */
+ svn_authz_write = 2,
+
+ /** The other access credentials are recursive. */
+ svn_authz_recursive = 4
+} svn_repos_authz_access_t;
+
+
+/** Callback type for checking authorization on paths produced by
+ * the repository commit editor.
+ *
+ * Set @a *allowed to TRUE to indicate that the @a required_access on
+ * @a path in @a root is authorized, or set it to FALSE to indicate
+ * unauthorized (presumable according to state stored in @a baton).
+ *
+ * This callback is very similar to svn_repos_authz_func_t, with the
+ * exception of the addition of the @a required_access parameter.
+ * This is due to historical reasons: when authz was first implemented
+ * for svn_repos_dir_delta(), it seemed there would need only checks
+ * for read and write operations, hence the svn_repos_authz_func_t
+ * callback prototype and usage scenario. But it was then realized
+ * that lookups due to copying needed to be recursive, and that
+ * brute-force recursive lookups didn't square with the O(1)
+ * performances a copy operation should have.
+ *
+ * So a special way to ask for a recursive lookup was introduced. The
+ * commit editor needs this capability to retain acceptable
+ * performance. Instead of revving the existing callback, causing
+ * unnecessary revving of functions that don't actually need the
+ * extended functionality, this second, more complete callback was
+ * introduced, for use by the commit editor.
+ *
+ * Some day, it would be nice to reunite these two callbacks and do
+ * the necessary revving anyway, but for the time being, this dual
+ * callback mechanism will do.
+ */
+typedef svn_error_t *(*svn_repos_authz_callback_t)
+ (svn_repos_authz_access_t required,
+ svn_boolean_t *allowed,
+ svn_fs_root_t *root,
+ const char *path,
+ void *baton,
+ apr_pool_t *pool);
+
/**
* A callback function type for use in svn_repos_get_file_revs().
* @a baton is provided by the caller, @a path is the pathname of the file
@@ -585,6 +642,11 @@
* Iff @a log_msg is not @c NULL, store it as the log message
* associated with the commit transaction.
*
+ * Iff @a authz_callback is provided, check read/write authorizations
+ * on paths accessed by editor operations. An operation which fails
+ * due to authz will return SVN_ERR_AUTHZ_UNREADABLE or
+ * SVN_ERR_AUTHZ_UNWRITABLE.
+ *
* Calling @a (*editor)->close_edit completes the commit. Before
* @c close_edit returns, but after the commit has succeeded, it will
* invoke @a callback with the new revision number, the commit date (as a
@@ -599,7 +661,28 @@
* NULL). Callers who supply their own transactions are responsible
* for cleaning them up (either by committing them, or aborting them).
*
- * @since New in 1.2.
+ * @since New in 1.3.
+ */
+svn_error_t *
+svn_repos_get_commit_editor3 (const svn_delta_editor_t **editor,
+ void **edit_baton,
+ svn_repos_t *repos,
+ svn_fs_txn_t *txn,
+ const char *repos_url,
+ const char *base_path,
+ const char *user,
+ const char *log_msg,
+ svn_commit_callback_t commit_callback,
+ void *commit_callback_baton,
+ svn_repos_authz_callback_t authz_callback,
+ void *authz_baton,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_get_commit_editor3(), but with @a
+ * authz_callback and @a authz_baton set to @c NULL.
+ *
+ * @deprecated Provided for backward compatibility with the 1.2 API.
*/
svn_error_t *svn_repos_get_commit_editor2 (const svn_delta_editor_t **editor,
void **edit_baton,
@@ -1675,25 +1758,6 @@
/** @} */
-/** An enum defining the kinds of access authz looks up.
- *
- * @since New in 1.3.
- */
-typedef enum
-{
- /** No access. */
- svn_authz_none = 0,
-
- /** Path can be read. */
- svn_authz_read = 1,
-
- /** Path can be altered. */
- svn_authz_write = 2,
-
- /** The other access credentials are recursive. */
- svn_authz_recursive = 4
-} svn_repos_authz_access_t;
-
/** A data type which stores the authz information.
*
* @since New in 1.3.
diff --git a/subversion/libsvn_client/status.c b/subversion/libsvn_client/status.c
index b2bd298..8576887 100644
--- a/subversion/libsvn_client/status.c
+++ b/subversion/libsvn_client/status.c
@@ -39,6 +39,10 @@
/*** Getting update information ***/
+/* Baton for tweak_status. It wraps a bit of extra functionality
+ around the received status func/baton, so we can remember if the
+ target was deleted in HEAD and tweak incoming status structures
+ accordingly. */
struct status_baton
{
svn_boolean_t deleted_in_repos; /* target is deleted in repos */
@@ -49,7 +53,9 @@
/* A status callback function which wraps the *real* status
function/baton. This sucker takes care of any status tweaks we
need to make (such as noting that the target of the status is
- missing from HEAD in the repository). */
+ missing from HEAD in the repository).
+
+ This implements the 'svn_wc_status_func2_t' function type. */
static void
tweak_status (void *baton,
const char *path,
@@ -357,14 +363,17 @@
}
-/* Helpers for deprecated svn_wc_status_editor(), of type
- svn_wc_status_func2_t. */
+/* Baton for old_status_func_cb; does what you think it does. */
struct old_status_func_cb_baton
{
svn_wc_status_func_t original_func;
void *original_baton;
};
+/* Help svn_client_status() accept an old-style status func and baton,
+ by wrapping them before passing along to svn_client_status2().
+
+ This implements the 'svn_wc_status_func2_t' function type. */
static void old_status_func_cb (void *baton,
const char *path,
svn_wc_status2_t *status)
diff --git a/subversion/libsvn_fs_base/notes/structure b/subversion/libsvn_fs_base/notes/structure
index 267d847..5725e71 100644
--- a/subversion/libsvn_fs_base/notes/structure
+++ b/subversion/libsvn_fs_base/notes/structure
@@ -642,74 +642,132 @@
The general principle: a series of changes can be merged iff the
final outcome is independent of the order you apply them in.
-Merging two nodes, A and B, with respect to a common ancestor
-ANCESTOR:
-- First, the merge fails unless A, B, and ANCESTOR are all the same kind
- of node.
-- If A and B are text files:
- - If A is an ancestor of B, then B is the merged result.
- - If A is identical to B, then B (arbitrarily) is the merged result.
- - Otherwise, the merge fails.
-- If A and B are both directories:
- - For every directory entry E in either A, B, or ANCESTOR, here are
- the cases:
- - E exists in neither ANCESTOR nor A.
- - E doesn't exist in ANCESTOR, and has been added to A.
- - E exists in ANCESTOR, but has been deleted from A.
- - E exists in both ANCESTOR and A ...
- - but refers to different nodes.
- - but refers to different revisions of the same node.
- - and refers to the same node revision.
+Merging algorithm:
- The same set of possible relationships with ANCESTOR holds for B,
- so there are thirty-six combinations. The matrix is symmetrical
- with A and B reversed, so we only have to describe one triangular
- half, including the diagonal --- 21 combinations.
+ For each entry NAME in the directory ANCESTOR:
+
+ Let ANCESTOR-ENTRY, SOURCE-ENTRY, and TARGET-ENTRY be the IDs of
+ the name within ANCESTOR, SOURCE, and TARGET respectively.
+ (Possibly null if NAME does not exist in SOURCE or TARGET.)
+
+ If ANCESTOR-ENTRY == SOURCE-ENTRY, then:
+ No changes were made to this entry while the transaction was in
+ progress, so do nothing to the target.
+
+ Else if ANCESTOR-ENTRY == TARGET-ENTRY, then:
+ A change was made to this entry while the transaction was in
+ process, but the transaction did not touch this entry. Replace
+ TARGET-ENTRY with SOURCE-ENTRY.
+
+ Else:
+ Changes were made to this entry both within the transaction and
+ to the repository while the transaction was in progress. They
+ must be merged or declared to be in conflict.
+
+ If SOURCE-ENTRY and TARGET-ENTRY are both null, that's a
+ double delete; flag a conflict.
+
+ If any of the three entries is of type file, declare a conflict.
+
+ If either SOURCE-ENTRY or TARGET-ENTRY is not a direct
+ modification of ANCESTOR-ENTRY (determine by comparing the
+ node-id fields), declare a conflict. A replacement is
+ incompatible with a modification or other replacement--even
+ an identical replacement.
+
+ Direct modifications were made to the directory ANCESTOR-ENTRY
+ in both SOURCE and TARGET. Recursively merge these
+ modifications.
+
+ For each leftover entry NAME in the directory SOURCE:
+
+ If NAME exists in TARGET, declare a conflict. Even if SOURCE and
+ TARGET are adding exactly the same thing, two additions are not
+ auto-mergeable with each other.
+
+ Add NAME to TARGET with the entry from SOURCE.
+
+ Now that we are done merging the changes from SOURCE into the
+ directory TARGET, update TARGET's predecessor to be SOURCE.
- - (6) E exists in neither ANCESTOR nor A:
- - (1) E exists in neither ANCESTOR nor B. Can't occur, by assumption
- that E exists in either A, B, or ancestor.
- - (1) E has been added to B. Add E in the merged result. ***
- - (1) E has been deleted from B. Can't occur, by assumption that E
- doesn't exist in ANCESTOR.
- - (3) E exists in both ANCESTOR and B. Can't occur, by assumption that
- E doesn't exist in ancestor.
- - (5) E doesn't exist in ANCESTOR, and has been added to A.
- - (1) E doesn't exist in ANCESTOR, and has been added to B. Conflict.
- - (1) E exists in ANCESTOR, but has been deleted from B. Can't occur,
- by assumption that E doesn't exist in ANCESTOR.
- - (3) E exists in both ANCESTOR and B. Can't occur, by assumption
- that E doesn't exist in ANCESTOR.
- - (4) E exists in ANCESTOR, but has been deleted from A.
- - (1) E exists in ANCESTOR, but has been deleted from B. If
- neither delete was a result of a rename, then omit E from the
- merged tree. *** Otherwise, conflict.
- - E exists in both ANCESTOR and B ...
- - (1) but refers to different nodes. Conflict.
- - (1) but refers to different revisions of the same node. Conflict.
- - (1) and refers to the same node revision. Omit E from the merged
- tree. ***
- - (3) E exists in both ANCESTOR and A, but refers to different nodes.
- - (1) E exists in both ANCESTOR and B, but refers to different
- nodes. Conflict.
- - (1) E exists in both ANCESTOR and B, but refers to different
- revisions of the same node. Conflict.
- - (1) E exists in both ANCESTOR and B, and refers to the same
- node revision. Replace E with A's node revision. ***
- - (2) E exists in both ANCESTOR and A, but refers to different
- revisions of the same node.
- - (1) E exists in both ANCESTOR and B, but refers to different revisions
- of the same node. Try to merge A/E and B/E, recursively. ***
- - (1) E exists in both ANCESTOR and B, and refers to the same node
- revision. Replace E with A's node revision. ***
- - (1) E exists in both ANCESTOR and A, and refers to the same node
- revision.
- - (1) E exists in both ANCESTOR and B, and refers to the same
- node revision. Nothing has happened to ANCESTOR/E, so no change
- is necessary.
+The following algorithm was used when the Subversion filesystem was
+initially written, but has been replaced with the simpler and more
+performant algorithm above:
-*** == something actually happens
-
+ Merging two nodes, A and B, with respect to a common ancestor
+ ANCESTOR:
+
+ - First, the merge fails unless A, B, and ANCESTOR are all the same
+ kind of node.
+ - If A and B are text files:
+ - If A is an ancestor of B, then B is the merged result.
+ - If A is identical to B, then B (arbitrarily) is the merged
+ result.
+ - Otherwise, the merge fails.
+ - If A and B are both directories:
+ - For every directory entry E in either A, B, or ANCESTOR, here
+ are the cases:
+ - E exists in neither ANCESTOR nor A.
+ - E doesn't exist in ANCESTOR, and has been added to A.
+ - E exists in ANCESTOR, but has been deleted from A.
+ - E exists in both ANCESTOR and A ...
+ - but refers to different nodes.
+ - but refers to different revisions of the same node.
+ - and refers to the same node revision.
+
+ The same set of possible relationships with ANCESTOR holds for B,
+ so there are thirty-six combinations. The matrix is symmetrical
+ with A and B reversed, so we only have to describe one triangular
+ half, including the diagonal --- 21 combinations.
+
+ - (6) E exists in neither ANCESTOR nor A:
+ - (1) E exists in neither ANCESTOR nor B. Can't occur, by
+ assumption that E exists in either A, B, or ancestor.
+ - (1) E has been added to B. Add E in the merged result. ***
+ - (1) E has been deleted from B. Can't occur, by assumption
+ that E doesn't exist in ANCESTOR.
+ - (3) E exists in both ANCESTOR and B. Can't occur, by
+ assumption that E doesn't exist in ancestor.
+ - (5) E doesn't exist in ANCESTOR, and has been added to A.
+ - (1) E doesn't exist in ANCESTOR, and has been added to B.
+ Conflict.
+ - (1) E exists in ANCESTOR, but has been deleted from B.
+ Can't occur, by assumption that E doesn't exist in
+ ANCESTOR.
+ - (3) E exists in both ANCESTOR and B. Can't occur, by
+ assumption that E doesn't exist in ANCESTOR.
+ - (4) E exists in ANCESTOR, but has been deleted from A.
+ - (1) E exists in ANCESTOR, but has been deleted from B. If
+ neither delete was a result of a rename, then omit E from
+ the merged tree. *** Otherwise, conflict.
+ - E exists in both ANCESTOR and B ...
+ - (1) but refers to different nodes. Conflict.
+ - (1) but refers to different revisions of the same node.
+ Conflict.
+ - (1) and refers to the same node revision. Omit E from
+ the merged tree. ***
+ - (3) E exists in both ANCESTOR and A, but refers to different
+ nodes.
+ - (1) E exists in both ANCESTOR and B, but refers to
+ different nodes. Conflict.
+ - (1) E exists in both ANCESTOR and B, but refers to
+ different revisions of the same node. Conflict.
+ - (1) E exists in both ANCESTOR and B, and refers to the same
+ node revision. Replace E with A's node revision. ***
+ - (2) E exists in both ANCESTOR and A, but refers to different
+ revisions of the same node.
+ - (1) E exists in both ANCESTOR and B, but refers to
+ different revisions of the same node. Try to merge A/E and
+ B/E, recursively. ***
+ - (1) E exists in both ANCESTOR and B, and refers to the same
+ node revision. Replace E with A's node revision. ***
+ - (1) E exists in both ANCESTOR and A, and refers to the same
+ node revision.
+ - (1) E exists in both ANCESTOR and B, and refers to the same
+ node revision. Nothing has happened to ANCESTOR/E, so no
+ change is necessary.
+
+ *** == something actually happens
Non-Historical Properties
diff --git a/subversion/libsvn_ra_local/ra_plugin.c b/subversion/libsvn_ra_local/ra_plugin.c
index 648eae8..dc78b4b 100644
--- a/subversion/libsvn_ra_local/ra_plugin.c
+++ b/subversion/libsvn_ra_local/ra_plugin.c
@@ -525,12 +525,12 @@
}
/* Get the repos commit-editor */
- SVN_ERR (svn_repos_get_commit_editor2
+ SVN_ERR (svn_repos_get_commit_editor3
(editor, edit_baton, sess_baton->repos, NULL,
svn_path_uri_decode (sess_baton->repos_url, pool),
sess_baton->fs_path,
sess_baton->username, log_msg,
- deltify_etc, db, pool));
+ deltify_etc, db, NULL, NULL, pool));
return SVN_NO_ERROR;
}
diff --git a/subversion/libsvn_repos/authz.c b/subversion/libsvn_repos/authz.c
index bda075a..06978ab 100644
--- a/subversion/libsvn_repos/authz.c
+++ b/subversion/libsvn_repos/authz.c
@@ -41,14 +41,14 @@
/* Explicitely denied rights. */
svn_repos_authz_access_t deny;
- /* The rights required by the caller of the lookup. */
+ /* The rights required by the caller of the lookup. */
svn_repos_authz_access_t required_access;
/* The following are used exclusively in recursive lookups. */
/* The path in the repository to authorize. */
const char *repos_path;
- /* repos_path prefixed by the repository name. */
+ /* repos_path prefixed by the repository name. */
const char *qualified_repos_path;
/* Whether, at the end of a recursive lookup, access is granted. */
diff --git a/subversion/libsvn_repos/commit.c b/subversion/libsvn_repos/commit.c
index 5dd8ef8..46ca497 100644
--- a/subversion/libsvn_repos/commit.c
+++ b/subversion/libsvn_repos/commit.c
@@ -50,8 +50,12 @@
const char *log_msg;
/* Callback to run when the commit is done. */
- svn_commit_callback_t callback;
- void *callback_baton;
+ svn_commit_callback_t commit_callback;
+ void *commit_callback_baton;
+
+ /* Callback to check authorizations on paths. */
+ svn_repos_authz_callback_t authz_callback;
+ void *authz_baton;
/* The already-open svn repository to commit to. */
svn_repos_t *repos;
@@ -59,6 +63,9 @@
/* URL to the root of the open repository. */
const char *repos_url;
+ /* The name of the repository (here for convenience). */
+ const char *repos_name;
+
/* The filesystem associated with the REPOS above (here for
convenience). */
svn_fs_t *fs;
@@ -124,6 +131,33 @@
+/* If EDITOR_BATON contains a valid authz callback, verify that the
+ REQUIRED access to PATH in ROOT is authorized. Return an error
+ appropriate for throwing out of the commit editor with SVN_ERR. If
+ no authz callback is present in EDITOR_BATON, then authorize all
+ paths. Use POOL for temporary allocation only. */
+static svn_error_t *
+check_authz (struct edit_baton *editor_baton, const char *path,
+ svn_fs_root_t *root, svn_repos_authz_access_t required,
+ apr_pool_t *pool)
+{
+ if (editor_baton->authz_callback)
+ {
+ svn_boolean_t allowed;
+
+ editor_baton->authz_callback (required, &allowed, root, path,
+ editor_baton->authz_baton, pool);
+ if (!allowed)
+ return svn_error_create(required & svn_authz_write ?
+ SVN_ERR_AUTHZ_UNWRITABLE :
+ SVN_ERR_AUTHZ_UNREADABLE,
+ NULL, "Access denied");
+ }
+
+ return SVN_NO_ERROR;
+}
+
+
/*** Editor functions ***/
static svn_error_t *
@@ -173,7 +207,10 @@
}
SVN_ERR (svn_fs_txn_name (&(eb->txn_name), eb->txn, eb->pool));
SVN_ERR (svn_fs_txn_root (&(eb->txn_root), eb->txn, eb->pool));
-
+
+ /* Check read access to root */
+ SVN_ERR(check_authz (eb, "/", eb->txn_root, svn_authz_read, pool));
+
/* Create a root dir baton. The `base_path' field is an -absolute-
path in the filesystem, upon which all further editor paths are
based. */
@@ -201,11 +238,21 @@
struct edit_baton *eb = parent->edit_baton;
svn_node_kind_t kind;
svn_revnum_t cr_rev;
+ svn_repos_authz_access_t required = svn_authz_write;
const char *full_path = svn_path_join (eb->base_path, path, pool);
/* Check PATH in our transaction. */
SVN_ERR (svn_fs_check_path (&kind, eb->txn_root, full_path, pool));
+ /* Deletion requires a recursive write access, as well as write
+ access to the parent directory. */
+ if (kind == svn_node_dir)
+ required |= svn_authz_recursive;
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ required, pool));
+ SVN_ERR (check_authz (eb, parent->path, eb->txn_root,
+ svn_authz_write, pool));
+
/* If PATH doesn't exist in the txn, that's fine (merge
allows this). */
if (kind == svn_node_none)
@@ -254,6 +301,14 @@
svn_node_kind_t kind;
int repos_url_len;
+ /* Copy requires recursive write access to the destination path
+ and write access to the parent path. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ svn_authz_write | svn_authz_recursive,
+ subpool));
+ SVN_ERR (check_authz (eb, pb->path, eb->txn_root,
+ svn_authz_write, subpool));
+
/* Check PATH in our transaction. Make sure it does not exist
unless its parent directory was copied (in which case, the
thing might have been copied in as well), else return an
@@ -277,6 +332,13 @@
repository to make the copy from. */
SVN_ERR (svn_fs_revision_root (©_root, eb->fs,
copy_revision, subpool));
+
+ /* Copy also requires recursive read access to the source
+ path. */
+ SVN_ERR(check_authz (eb, fs_path, copy_root,
+ svn_authz_read | svn_authz_recursive,
+ subpool));
+
SVN_ERR (svn_fs_copy (copy_root, fs_path,
eb->txn_root, full_path, subpool));
was_copied = TRUE;
@@ -285,7 +347,13 @@
{
/* No ancestry given, just make a new directory. We don't
bother with an out-of-dateness check here because
- svn_fs_make_dir will error out if PATH already exists. */
+ svn_fs_make_dir will error out if PATH already exists.
+ Verify write access to the full path and the parent
+ directory. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ svn_authz_write, subpool));
+ SVN_ERR (check_authz (eb, pb->path, eb->txn_root,
+ svn_authz_write, subpool));
SVN_ERR (svn_fs_make_dir (eb->txn_root, full_path, subpool));
}
@@ -320,6 +388,10 @@
svn_node_kind_t kind;
const char *full_path = svn_path_join (eb->base_path, path, pool);
+ /* Check for read authorization. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ svn_authz_read, pool));
+
/* Check PATH in our transaction. If it does not exist,
return a 'Path not present' error. */
SVN_ERR (svn_fs_check_path (&kind, eb->txn_root, full_path, pool));
@@ -350,6 +422,12 @@
void **handler_baton)
{
struct file_baton *fb = file_baton;
+
+ /* Check for write authorization. */
+ SVN_ERR (check_authz (fb->edit_baton, fb->path,
+ fb->edit_baton->txn_root,
+ svn_authz_write, pool));
+
return svn_fs_apply_textdelta (handler, handler_baton,
fb->edit_baton->txn_root,
fb->path,
@@ -388,6 +466,13 @@
svn_node_kind_t kind;
int repos_url_len;
+ /* Copy requires recursive write to the destination path and
+ parent path. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ svn_authz_write, subpool));
+ SVN_ERR (check_authz (eb, pb->path, eb->txn_root,
+ svn_authz_write, subpool));
+
/* Check PATH in our transaction. Make sure it does not exist
unless its parent directory was copied (in which case, the
thing might have been copied in as well), else return an
@@ -411,6 +496,11 @@
repository to make the copy from. */
SVN_ERR (svn_fs_revision_root (©_root, eb->fs,
copy_revision, subpool));
+
+ /* Copy also requires read access to the source */
+ SVN_ERR(check_authz (eb, fs_path, copy_root,
+ svn_authz_read, subpool));
+
SVN_ERR (svn_fs_copy (copy_root, fs_path,
eb->txn_root, full_path, subpool));
}
@@ -419,7 +509,12 @@
/* No ancestry given, just make a new, empty file. Note that we
don't perform an existence check here like the copy-from case
does -- that's because svn_fs_make_file() already errors out
- if the file already exists. */
+ if the file already exists. Verify write access to the full
+ path and to the parent. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root, svn_authz_write,
+ subpool));
+ SVN_ERR (check_authz (eb, pb->path, eb->txn_root, svn_authz_write,
+ subpool));
SVN_ERR (svn_fs_make_file (eb->txn_root, full_path, subpool));
}
@@ -452,6 +547,10 @@
apr_pool_t *subpool = svn_pool_create (pool);
const char *full_path = svn_path_join (eb->base_path, path, pool);
+ /* Check for read authorization. */
+ SVN_ERR (check_authz (eb, full_path, eb->txn_root,
+ svn_authz_read, subpool));
+
/* Get this node's creation revision (doubles as an existence check). */
SVN_ERR (svn_fs_node_created_rev (&cr_rev, eb->txn_root, full_path,
subpool));
@@ -484,6 +583,11 @@
{
struct file_baton *fb = file_baton;
struct edit_baton *eb = fb->edit_baton;
+
+ /* Check for write authorization. */
+ SVN_ERR (check_authz (eb, fb->path, eb->txn_root,
+ svn_authz_write, pool));
+
return svn_repos_fs_change_node_prop (eb->txn_root, fb->path,
name, value, pool);
}
@@ -530,6 +634,10 @@
struct dir_baton *db = dir_baton;
struct edit_baton *eb = db->edit_baton;
+ /* Check for write authorization. */
+ SVN_ERR (check_authz (eb, db->path, eb->txn_root,
+ svn_authz_write, pool));
+
if (SVN_IS_VALID_REVNUM(db->base_rev))
{
/* Subversion rule: propchanges can only happen on a directory
@@ -615,10 +723,10 @@
eb->pool);
if (! err2)
- err2 = (*eb->callback) (new_revision,
+ err2 = (*eb->commit_callback) (new_revision,
date ? date->data : NULL,
author ? author->data : NULL,
- eb->callback_baton);
+ eb->commit_callback_baton);
if (err2)
{
svn_error_clear (err);
@@ -647,7 +755,7 @@
/*** Public interfaces. ***/
svn_error_t *
-svn_repos_get_commit_editor2 (const svn_delta_editor_t **editor,
+svn_repos_get_commit_editor3 (const svn_delta_editor_t **editor,
void **edit_baton,
svn_repos_t *repos,
svn_fs_txn_t *txn,
@@ -655,8 +763,10 @@
const char *base_path,
const char *user,
const char *log_msg,
- svn_commit_callback_t callback,
- void *callback_baton,
+ svn_commit_callback_t commit_callback,
+ void *commit_callback_baton,
+ svn_repos_authz_callback_t authz_callback,
+ void *authz_baton,
apr_pool_t *pool)
{
svn_delta_editor_t *e = svn_delta_default_editor (pool);
@@ -681,11 +791,15 @@
eb->pool = subpool;
eb->user = user ? apr_pstrdup (subpool, user) : NULL;
eb->log_msg = apr_pstrdup (subpool, log_msg);
- eb->callback = callback;
- eb->callback_baton = callback_baton;
+ eb->commit_callback = commit_callback;
+ eb->commit_callback_baton = commit_callback_baton;
+ eb->authz_callback = authz_callback;
+ eb->authz_baton = authz_baton;
eb->base_path = apr_pstrdup (subpool, base_path);
eb->repos = repos;
eb->repos_url = repos_url;
+ eb->repos_name = svn_path_basename (svn_repos_path (repos, subpool),
+ subpool);
eb->fs = svn_repos_fs (repos);
eb->txn = txn;
eb->txn_owner = txn ? FALSE : TRUE;
@@ -698,6 +812,26 @@
svn_error_t *
+svn_repos_get_commit_editor2 (const svn_delta_editor_t **editor,
+ void **edit_baton,
+ svn_repos_t *repos,
+ svn_fs_txn_t *txn,
+ const char *repos_url,
+ const char *base_path,
+ const char *user,
+ const char *log_msg,
+ svn_commit_callback_t callback,
+ void *callback_baton,
+ apr_pool_t *pool)
+{
+ return svn_repos_get_commit_editor3 (editor, edit_baton, repos, txn,
+ repos_url, base_path, user,
+ log_msg, callback, callback_baton,
+ NULL, NULL, pool);
+}
+
+
+svn_error_t *
svn_repos_get_commit_editor (const svn_delta_editor_t **editor,
void **edit_baton,
svn_repos_t *repos,
@@ -709,7 +843,8 @@
void *callback_baton,
apr_pool_t *pool)
{
- return svn_repos_get_commit_editor2 (editor, edit_baton, repos, NULL,
- repos_url, base_path, user, log_msg,
- callback, callback_baton, pool);
+ return svn_repos_get_commit_editor3 (editor, edit_baton, repos, NULL,
+ repos_url, base_path, user,
+ log_msg, callback, callback_baton,
+ NULL, NULL, pool);
}
diff --git a/subversion/po/ko.po b/subversion/po/ko.po
index 14366fa..2d44ad0 100644
--- a/subversion/po/ko.po
+++ b/subversion/po/ko.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: subversion\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
-"POT-Creation-Date: 2005-08-02 13:56+0900\n"
+"POT-Creation-Date: 2005-08-07 16:52+0900\n"
"PO-Revision-Date: 2005-08-02 14:58+0900\n"
"Last-Translator: seolin <blueboh@gmail.com>\n"
"Language-Team: Korean <dev@subversion.tigris.org>\n"
@@ -17,30 +17,26 @@
"X-Poedit-Language: Korean\n"
"X-Poedit-Country: KOREA, REPUBLIC OF\n"
-#: clients/cmdline/blame-cmd.c:248
-#: clients/cmdline/ls-cmd.c:294
+#: clients/cmdline/blame-cmd.c:236 clients/cmdline/ls-cmd.c:264
msgid "'verbose' option invalid in XML mode"
msgstr "'verbose' 옵션은 XML 모드에서는 불가능합니다."
-#: clients/cmdline/blame-cmd.c:260
-#: clients/cmdline/ls-cmd.c:306
+#: clients/cmdline/blame-cmd.c:248 clients/cmdline/ls-cmd.c:276
#: clients/cmdline/status-cmd.c:192
msgid "'incremental' option only valid in XML mode"
msgstr "'incremental' 옵션은 XML 모드에서만 가능합니다"
-#: clients/cmdline/blame-cmd.c:319
+#: clients/cmdline/blame-cmd.c:307
#, c-format
msgid "Skipping binary file: '%s'\n"
msgstr "바이너리 파일을 무시합니다: '%s'\n"
-#: clients/cmdline/checkout-cmd.c:124
-#: clients/cmdline/switch-cmd.c:125
+#: clients/cmdline/checkout-cmd.c:124 clients/cmdline/switch-cmd.c:125
#, c-format
msgid "'%s' does not appear to be a URL"
msgstr "'%s' 은 URL 같아 보이지 않습니다."
-#: clients/cmdline/copy-cmd.c:106
-#: clients/cmdline/delete-cmd.c:64
+#: clients/cmdline/copy-cmd.c:106 clients/cmdline/delete-cmd.c:64
#: clients/cmdline/mkdir-cmd.c:66
msgid "Local, non-commit operations do not take a log message"
msgstr "사본에서만 작업하고, 커밋하지 않는 명령은 로그메시지를 받지 않습니다."
@@ -58,8 +54,12 @@
msgstr "diff 대상은 작업 사본과 URL을 동시에 포함할 수 없습니다."
#: clients/cmdline/export-cmd.c:82
-msgid "Destination directory exists; please remove the directory or use --force to overwrite"
-msgstr "대상 디렉토리가 존재합니다; 디렉토리를 제거하거나 --force 옵션을 사용하여 덮어 쓰십시오."
+msgid ""
+"Destination directory exists; please remove the directory or use --force to "
+"overwrite"
+msgstr ""
+"대상 디렉토리가 존재합니다; 디렉토리를 제거하거나 --force 옵션을 사용하여 덮"
+"어 쓰십시오."
#: clients/cmdline/help-cmd.c:45
#, c-format
@@ -78,8 +78,10 @@
"Subversion 명령행 클라이언트 버전 %s.\n"
"'svn help <subcommand>'를 사용하여 특정 명령에 대하여 도움말을 얻으십시오.\n"
"\n"
-"대부분의 하위 명령들은 재귀적으로 수행하면서 파일이나 디렉토리를 인자로 취합니다.\n"
-"명령들에 인자가 주어지지 않으면 현재 디렉토리를 포함하여 재귀적으로 수행하게\n"
+"대부분의 하위 명령들은 재귀적으로 수행하면서 파일이나 디렉토리를 인자로 취합"
+"니다.\n"
+"명령들에 인자가 주어지지 않으면 현재 디렉토리를 포함하여 재귀적으로 수행하"
+"게\n"
"됩니다.\n"
"\n"
"가능한 명령:\n"
@@ -113,14 +115,12 @@
msgid "Invalid URL '%s'"
msgstr "잘못된 URL '%s'"
-#: clients/cmdline/info-cmd.c:56
-#: svnadmin/main.c:1028
+#: clients/cmdline/info-cmd.c:56 svnadmin/main.c:1028
#, c-format
msgid "Path: %s\n"
msgstr "경로: %s\n"
-#: clients/cmdline/info-cmd.c:62
-#: svnlook/main.c:782
+#: clients/cmdline/info-cmd.c:62 svnlook/main.c:782
#, c-format
msgid "Name: %s\n"
msgstr "이름: %s\n"
@@ -309,11 +309,11 @@
msgid " (from %s:%ld)"
msgstr "(원본 %s:%ld)"
-#: clients/cmdline/log-cmd.c:446
+#: clients/cmdline/log-cmd.c:432
msgid "When specifying working copy paths, only one target may be given"
msgstr "작업 사본의 경로는 하나만 가능합니다."
-#: clients/cmdline/log-cmd.c:458
+#: clients/cmdline/log-cmd.c:444
msgid "Only relative paths can be specified after a URL"
msgstr "URL 뒤에 지정할 때는 상대 경로만 가능합니다."
@@ -325,14 +325,9 @@
msgid "force validity of log message source"
msgstr "로그 메시지의 유효성을 확인하지 않습니다."
-#: clients/cmdline/main.c:66
-#: clients/cmdline/main.c:67
-#: svnadmin/main.c:227
-#: svnadmin/main.c:230
-#: svndumpfilter/main.c:756
-#: svndumpfilter/main.c:759
-#: svnlook/main.c:92
-#: svnlook/main.c:95
+#: clients/cmdline/main.c:66 clients/cmdline/main.c:67 svnadmin/main.c:227
+#: svnadmin/main.c:230 svndumpfilter/main.c:756 svndumpfilter/main.c:759
+#: svnlook/main.c:92 svnlook/main.c:95
msgid "show help on a subcommand"
msgstr "명령에 대한 도움말 보기"
@@ -357,10 +352,13 @@
"ARG (some commands also take ARG1:ARG2 range)\n"
" A revision argument can be one of:\n"
" NUMBER revision number\n"
-" \"{\" DATE \"}\" revision at start of the date\n"
+" \"{\" DATE \"}\" revision at start of the "
+"date\n"
" \"HEAD\" latest in repository\n"
-" \"BASE\" base rev of item's working copy\n"
-" \"COMMITTED\" last commit at or before BASE\n"
+" \"BASE\" base rev of item's working "
+"copy\n"
+" \"COMMITTED\" last commit at or before "
+"BASE\n"
" \"PREV\" revision just before COMMITTED"
msgstr ""
"ARG (어떤 명령은 ARG1:ARG2 와 같은 범위를 사용)\n"
@@ -369,7 +367,8 @@
" \"{\" DATE \"}\" 리비전이 시작하는 시각\n"
" \"HEAD\" 저장소의 마지막 리비전\n"
" \"BASE\" 작업 사본을 꺼내온 리비전\n"
-" \"COMMITTED\" 작업 사본을 꺼내오기전 커밋된 리비전\n"
+" \"COMMITTED\" 작업 사본을 꺼내오기전 커밋된 "
+"리비전\n"
" \"PREV\" COMMITTED 의 직전 리비전"
#: clients/cmdline/main.c:87
@@ -440,8 +439,7 @@
msgid "try operation but make no changes"
msgstr "실제 명령은 수행하지 않고 시도만 합니다."
-#: clients/cmdline/main.c:115
-#: svnlook/main.c:113
+#: clients/cmdline/main.c:115 svnlook/main.c:113
msgid "do not print differences for deleted files"
msgstr "삭제된 파일에 대해서는 차이를 출력하지 않습니다."
@@ -485,8 +483,7 @@
msgid "relocate via URL-rewriting"
msgstr "URL-rewriting을 통하여 저장소 URL을 변경합니다."
-#: clients/cmdline/main.c:137
-#: svnadmin/main.c:269
+#: clients/cmdline/main.c:137 svnadmin/main.c:269
msgid "read user configuration files from directory ARG"
msgstr "arg로 지정된 디렉토리에서 사용자 구성화일을 읽습니다."
@@ -508,7 +505,8 @@
"행종료문자를 표준 시스템 문자가 아닌\n"
" 파일의 svn:eol-style 속성을\n"
" 'native'로 두어 다른 것을 사용합니다.\n"
-" ARG는 'LF', 'CR', 'CRLF' 중의 하나가 될 수 있습니다."
+" ARG는 'LF', 'CR', 'CRLF' 중의 하나가 될 수 있습니"
+"다."
#: clients/cmdline/main.c:151
msgid "maximum number of log entries"
@@ -621,7 +619,8 @@
" URL -> WC: check out URL into WC, schedule for addition\n"
" URL -> URL: complete server-side copy; used to branch & tag\n"
msgstr ""
-"작업 사본(working copy;WC) 혹은 저장소의 내용을 이전 로그메시지와 함께 복사합니다.\n"
+"작업 사본(working copy;WC) 혹은 저장소의 내용을 이전 로그메시지와 함께 복사합"
+"니다.\n"
"사용법: copy SRC DST\n"
"\n"
" SRC와 DST는 작업 사본 혹은 저장소 URL이 될 수 있습니다.\n"
@@ -650,7 +649,8 @@
" 2. delete URL...\n"
"\n"
" 1. PATH에 있는 모든 파일, 디렉토리들을 제거하도록 스케쥴함\n"
-" 커밋되지 않은 파일과 디렉토리는 즉시 작업사본에서 제거됩니다. PATH가 버전 관리 대상이 아니거나 그러한 파일을 포함하는 디렉토리라면\n"
+" 커밋되지 않은 파일과 디렉토리는 즉시 작업사본에서 제거됩니다. PATH"
+"가 버전 관리 대상이 아니거나 그러한 파일을 포함하는 디렉토리라면\n"
" --force 옵션을 주어야만 삭제됩니다.\n"
"\n"
" 2. URL로 지정된 아이템들은 저장소에서 즉시 삭제됩니다.\n"
@@ -660,7 +660,8 @@
msgid ""
"Display the differences between two paths.\n"
"usage: 1. diff [-r N[:M]] [TARGET[@REV]...]\n"
-" 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \\\n"
+" 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] "
+"\\\n"
" [PATH...]\n"
" 3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]\n"
"\n"
@@ -675,7 +676,8 @@
" NEW-TGT as it was seen in NEWREV. PATHs, if given, are relative to\n"
" OLD-TGT and NEW-TGT and restrict the output to differences for those\n"
" paths. OLD-TGT and NEW-TGT may be working copy paths or URL[@REV]. \n"
-" NEW-TGT defaults to OLD-TGT if not specified. -r N makes OLDREV default\n"
+" NEW-TGT defaults to OLD-TGT if not specified. -r N makes OLDREV "
+"default\n"
" to N, -r N:M makes OLDREV default to N and NEWREV default to M.\n"
"\n"
" 3. Shorthand for 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]'\n"
@@ -684,25 +686,34 @@
msgstr ""
"두 경로상의 차이점을 출력합니다.\n"
"사용법: 1. diff [-r N[:M]] [TARGET[@REV]...]\n"
-" 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \\\n"
+" 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] "
+"\\\n"
" [PATH...]\n"
" 3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]\n"
"\n"
-" 1. REV 리비전의 TARGET(들)의 내용이 M,N 두 리비전에서의 어떤 변경이 있는지\n"
+" 1. REV 리비전의 TARGET(들)의 내용이 M,N 두 리비전에서의 어떤 변경이 있는"
+"지\n"
" 보여줍니다. TARGET은 작업 사본내의 경로이거나 URL일 수 있습니다.\n"
"\n"
" TARGET 중에 작업사본내의 경로이면서 N이 생략되면 BASE가 사용되고,\n"
-" 경로가 아니면 N은 반드시 명시되어야합니다. 또한 작업사본내의 경로이면서,\n"
+" 경로가 아니면 N은 반드시 명시되어야합니다. 또한 작업사본내의 경로이면"
+"서,\n"
" M이 생략되면 작업중인 파일이 사용되고, URL의 경우 HEAD가 사용됩니다.\n"
"\n"
-" 2. OLDREV 리비전의 OLD-TGT와 NEWREV 리비전의 NEW-TGT의 차이를 보여줍니다.\n"
-" PATH가 주어지면, OLD-TGT와 NEW-TGT에 대한 상대 경로를 구하여 차이를 보여주며,\n"
+" 2. OLDREV 리비전의 OLD-TGT와 NEWREV 리비전의 NEW-TGT의 차이를 보여줍니"
+"다.\n"
+" PATH가 주어지면, OLD-TGT와 NEW-TGT에 대한 상대 경로를 구하여 차이를 보여"
+"주며,\n"
" 출력은 그 경로에 대한 것으로 제한됩니다.\n"
-" OLD-TGT와 NEW-TGT는 모두 작업 사본내의 경로나 URL[@REV]로 표현될 수 있습니다.\n"
-" NEW-TGT가 생략되면 OLD-TGT를 사용합니다. -r N은 OLD-TGT의 디폴트 리비전을 N으로\n"
-" -r N:M 은 OLDREV의 디폴트 리비전을 N으로 NEW-TGT에 대해선 M으로 만듭니다.\n"
+" OLD-TGT와 NEW-TGT는 모두 작업 사본내의 경로나 URL[@REV]로 표현될 수 있습"
+"니다.\n"
+" NEW-TGT가 생략되면 OLD-TGT를 사용합니다. -r N은 OLD-TGT의 디폴트 리비전"
+"을 N으로\n"
+" -r N:M 은 OLDREV의 디폴트 리비전을 N으로 NEW-TGT에 대해선 M으로 만듭니"
+"다.\n"
"\n"
-" 3. 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]' 의 줄임 표현입니다.\n"
+" 3. 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]' 의 줄임 표현입"
+"니다.\n"
"\n"
" 'svn diff' 을 사용하면 작업 중 수정된 내용을 볼 수 있습니다.\n"
@@ -836,7 +847,8 @@
"커밋할 수 없습니다.\n"
"사용법: lock TARGET...\n"
"\n"
-" --force 를 사용하면 다른 사람이나 다른 사본에서 잠궜을지라도 빼앗아옵니다.\n"
+" --force 를 사용하면 다른 사람이나 다른 사본에서 잠궜을지라도 빼앗아옵니"
+"다.\n"
#: clients/cmdline/main.c:411
msgid ""
@@ -928,14 +940,17 @@
" 이 경우 리비전이 반드시 지정되어야 합니다.\n"
" \n"
" \n"
-" 3. 세번째 형식에서는 SOURCE에는 특정 URL, 혹은 작업중인 파일을 지정합니다.\n"
-" 파일인 경우 해당 URL을 구하여 비교대상으로 합니다. 그 URL의 리비전 REV의\n"
+" 3. 세번째 형식에서는 SOURCE에는 특정 URL, 혹은 작업중인 파일을 지정합니"
+"다.\n"
+" 파일인 경우 해당 URL을 구하여 비교대상으로 합니다. 그 URL의 리비전 REV"
+"의\n"
" 내용을 리비전 N과 M의 내용과 비교하게 됩니다. REV가 누락되면 HEAD로\n"
" 가정합니다.\n"
"\n"
" WCPATH는 작업사본의 경로이며 병합되는 내용이 반영되는 곳입니다.\n"
" WCPATH를 생략하면, SOURCE의 마지막 요소인 파일과 같은 이름이 현재\n"
-" 디렉토리안에 있다면 그 파일에 반영되며, 그렇지 않는 경우 '.'을 가정하게 됩니다.\n"
+" 디렉토리안에 있다면 그 파일에 반영되며, 그렇지 않는 경우 '.'을 가정하게 됩"
+"니다.\n"
" \n"
#: clients/cmdline/main.c:473
@@ -979,13 +994,15 @@
" WC -> WC: move and schedule for addition (with history)\n"
" URL -> URL: complete server-side rename.\n"
msgstr ""
-"작업 사본내 혹은 저장소 안의 파일이나 디렉토리를 이동하거나, 이름을 바꿉니다.\n"
+"작업 사본내 혹은 저장소 안의 파일이나 디렉토리를 이동하거나, 이름을 바꿉니"
+"다.\n"
"사용법: move SRC DST\n"
"\n"
" 주의: 이 명령은 'copy' 후 'delete'한 것과 동일합니다.\n"
"\n"
" SRC와 DST 는 둘다 작업사본 혹은 URL이어햐합니다.\n"
-" WC -> WC: 작업 사본내에서 바로 이동 후, 추가하도록 스케쥴링하며, 로그 메시지도 복사됩니다.\n"
+" WC -> WC: 작업 사본내에서 바로 이동 후, 추가하도록 스케쥴링하며, 로그 "
+"메시지도 복사됩니다.\n"
" URL -> URL: 서버 상에서만 이름을 바꾸며, 바로 커밋됩니다.\n"
#: clients/cmdline/main.c:505
@@ -1082,9 +1099,11 @@
" but will store any arbitrary properties set:\n"
" svn:ignore - A newline separated list of file patterns to ignore.\n"
" svn:keywords - Keywords to be expanded. Valid keywords are:\n"
-" URL, HeadURL - The URL for the head version of the object.\n"
+" URL, HeadURL - The URL for the head version of the "
+"object.\n"
" Author, LastChangedBy - The last person to modify the file.\n"
-" Date, LastChangedDate - The date/time the object was last modified.\n"
+" Date, LastChangedDate - The date/time the object was last "
+"modified.\n"
" Rev, Revision, - The last revision the object changed.\n"
" LastChangedRevision\n"
" Id - A compressed summary of the previous\n"
@@ -1117,8 +1136,10 @@
"\n"
" 참고: svn은 다음과 같은 특별한 '버전관리' 속성을 인식합니다.\n"
" 이 외에도 임의의 원하는 속성을 설정할 수 있습니다.\n"
-" svn:ignore - 한 줄에 하나씩 값을 주어 커밋, 업데이트 등에서 무시하는 목록을 지정합니다.\n"
-" svn:keywords - 본문 내에 치환될 키워드 목록을 지정합니다. 다음은 가능한 값들입니다.\n"
+" svn:ignore - 한 줄에 하나씩 값을 주어 커밋, 업데이트 등에서 무시하는 "
+"목록을 지정합니다.\n"
+" svn:keywords - 본문 내에 치환될 키워드 목록을 지정합니다. 다음은 가능"
+"한 값들입니다.\n"
" URL, HeadURL - 개체의 최신 버전의 URL.\n"
" Author, LastChangedBy - 최종 파일 수정 작업자.\n"
" Date, LastChangedDate - 최종 파일 수정 날짜/시각.\n"
@@ -1126,21 +1147,24 @@
" LastChangedRevision\n"
" Id - 위 네가지 키워드를 종합한 포맷.\n"
" \n"
-" svn:executable - 속성이 존재하면, 체크아웃, 업데이트 후에 파일을 실행가능 하도록 만듭니다.\n"
+" svn:executable - 속성이 존재하면, 체크아웃, 업데이트 후에 파일을 실행가"
+"능 하도록 만듭니다.\n"
" svn:eol-style - 다음 중 하나 'native', 'LF', 'CR', 'CRLF'.\n"
" svn:mime-type - 파일의 MIME 형식을 지정합니다. \n"
" 이 속성은 병합하는데 사용되며, Apache 웹서버가 사용합니다.\n"
" 'text/' 로 시작하는 MIME 형식은 텍스트로 취급하며,\n"
" 그외의 것은 바이너리로 취급됩니다.\n"
" svn:externals - 한 줄에 하나씩 지정하는 외부 모듈 리스트입니다.\n"
-" 각각은 현재 디렉토리에 대해 체크아웃, 업데이트시에 상대 디렉토리 경로로 만들어 지며,\n"
+" 각각은 현재 디렉토리에 대해 체크아웃, 업데이트시에 상대 디렉토리 경로"
+"로 만들어 지며,\n"
" URL을 하나 지정해야하며, 추가적으로 리비전 플래그를 넣을 수 있습니다.\n"
" foo http://example.com/repos/zig\n"
" foo/bar -r 1234 http://example.com/repos/zag\n"
" svn:needs-lock - 지정되면, 수정되기 전에 반드시 잠궈져야 합니다.\n"
" 잠궈지기 전에는 작업사본에서는 항상 읽기 전용으로 만들어 집니다.\n"
" \n"
-" svn:keywords, svn:executable, svn:eol-style, svn:mime-type, svn-needs-lock\n"
+" svn:keywords, svn:executable, svn:eol-style, svn:mime-type, svn-needs-"
+"lock\n"
" 속성들은 디렉토리에는 지정할 수 없으며, 설정시 재귀적으로 수행되는 명령이\n"
" 아니라면, 디렉토리에 대해서는 실패하며, 재귀적일 경우 파일에 대해서만\n"
" 설정됩니다.\n"
@@ -1169,11 +1193,14 @@
" Note: this subcommand does not require network access, and resolves\n"
" any conflicted states. However, it does not restore removed directories.\n"
msgstr ""
-"작업 사본을 받아 왔던 최초 상태로 되돌립니다. (작업한 내용을 모두 되돌립니다.)\n"
+"작업 사본을 받아 왔던 최초 상태로 되돌립니다. (작업한 내용을 모두 되돌립니"
+"다.)\n"
"사용법: revert PATH...\n"
"\n"
-" 주의: 본 명령은 네트워크 요청이 전혀 필요하지 않습니다. 또한 충돌한 상황을\n"
-" 해결하지 않습니다. 그리고, 삭제된 디렉토리에 대해서는 다시 되돌려놓지 않습니다.\n"
+" 주의: 본 명령은 네트워크 요청이 전혀 필요하지 않습니다. 또한 충돌한 상황"
+"을\n"
+" 해결하지 않습니다. 그리고, 삭제된 디렉토리에 대해서는 다시 되돌려놓지 않습"
+"니다.\n"
#: clients/cmdline/main.c:624
msgid ""
@@ -1279,7 +1306,8 @@
" 네번째컬럼: 과거의 커밋로그를 포함하도록 스케쥴링하는지를 나타냅니다..\n"
" ' ' 과거의 커밋로그 포함하지 않음\n"
" '+' 과거의 커밋로그 포함함\n"
-" 다섯번째컬럼: 아이템이 상위 경로에 대하여 전환(switch)되었는지를 나타냅니다.\n"
+" 다섯번째컬럼: 아이템이 상위 경로에 대하여 전환(switch)되었는지를 나타냅니"
+"다.\n"
" ' ' 기본\n"
" 'S' 전환됨\n"
" 여섯번째컬럼: 저장소 잠금 토큰\n"
@@ -1342,7 +1370,8 @@
"\n"
" 1. 작업사본을 저장소내의 새 URL로 미러링을 합니다.\n"
" 'svn update'와 비슷한 일을 합니다. 하지만 이것은\n"
-" 작업사본의 URL을 같은 저장소내의 브랜치나 태그로 전환하는데 사용합니다.\n"
+" 작업사본의 URL을 같은 저장소내의 브랜치나 태그로 전환하는데 사용합니"
+"다.\n"
"\n"
" 2. 작업 사본 하위 디렉토리에는 checkout 할 때의 URL 정보가 들어 있는 \n"
" 메타정보가 있습니다. 이 정보를 새 URL로 갱신합니다.\n"
@@ -1403,9 +1432,7 @@
" 세번째 컬럼에 'B'가 있으면, 잠금설정이 깨지거나 다른 사람에게 넘어 갔음을\n"
" 의미합니다.\n"
-#: clients/cmdline/main.c:796
-#: svnadmin/main.c:77
-#: svnlook/main.c:284
+#: clients/cmdline/main.c:796 svnadmin/main.c:77 svnlook/main.c:284
msgid "Caught signal"
msgstr "시그널 수신"
@@ -1413,19 +1440,17 @@
msgid "Non-numeric limit argument given"
msgstr "숫자를 입력해야 합니다."
-#: clients/cmdline/main.c:911
-#: svnadmin/main.c:1219
-msgid "Multiple revision arguments encountered; try '-r M:N' instead of '-r M -r N'"
+#: clients/cmdline/main.c:911 svnadmin/main.c:1219
+msgid ""
+"Multiple revision arguments encountered; try '-r M:N' instead of '-r M -r N'"
msgstr "복수의 리비전 인자를 받았습니다. -r M -r N 대신 -r M:N 을 사용하세요."
-#: clients/cmdline/main.c:923
-#: svnadmin/main.c:1233
+#: clients/cmdline/main.c:923 svnadmin/main.c:1233
#, c-format
msgid "Syntax error in revision argument '%s'"
msgstr "리비전 인자 '%s'안에 구문오류가 있습니다."
-#: clients/cmdline/main.c:1071
-#: clients/cmdline/main.c:1081
+#: clients/cmdline/main.c:1071 clients/cmdline/main.c:1081
msgid "--auto-props and --no-auto-props are mutually exclusive"
msgstr "--auto-props 와 --no-auto-props 는 동시에 올 수 없습니다."
@@ -1434,15 +1459,11 @@
msgid "Syntax error in native-eol argument '%s'"
msgstr "native-eol 인자 '%s' 에 구문오류가 있습니다."
-#: clients/cmdline/main.c:1143
-#: svndumpfilter/main.c:1167
-#: svnlook/main.c:2121
+#: clients/cmdline/main.c:1143 svndumpfilter/main.c:1167 svnlook/main.c:2121
msgid "Subcommand argument required\n"
msgstr "인자가 필요한 명령입니다.\n"
-#: clients/cmdline/main.c:1161
-#: svnadmin/main.c:1341
-#: svndumpfilter/main.c:1185
+#: clients/cmdline/main.c:1161 svnadmin/main.c:1341 svndumpfilter/main.c:1185
#: svnlook/main.c:2139
#, c-format
msgid "Unknown command: '%s'\n"
@@ -1459,30 +1480,45 @@
#: clients/cmdline/main.c:1231
msgid "Log message file is a versioned file; use '--force-log' to override"
-msgstr "로그 메시지 파일은 버전관리 대상입니다. 강제로 지정하려면 '--force-log' 를 사용하세요."
+msgstr ""
+"로그 메시지 파일은 버전관리 대상입니다. 강제로 지정하려면 '--force-log' 를 사"
+"용하세요."
#: clients/cmdline/main.c:1238
msgid "Lock comment file is a versioned file; use '--force-log' to override"
-msgstr "잠그는 이유에 대한 파일이 버전관리 대상입니다. 강제로 지정하려면 '--force-log' 를 사용하세요."
+msgstr ""
+"잠그는 이유에 대한 파일이 버전관리 대상입니다. 강제로 지정하려면 '--force-"
+"log' 를 사용하세요."
#: clients/cmdline/main.c:1259
-msgid "The log message is a pathname (was -F intended?); use '--force-log' to override"
-msgstr "로그 메시지가 경로명입니다. (-F 를 사용하려던 것인가요?) 강제로 사용하려면 '--force-log'를 사용하세요"
+msgid ""
+"The log message is a pathname (was -F intended?); use '--force-log' to "
+"override"
+msgstr ""
+"로그 메시지가 경로명입니다. (-F 를 사용하려던 것인가요?) 강제로 사용하려면 "
+"'--force-log'를 사용하세요"
#: clients/cmdline/main.c:1266
-msgid "The lock comment is a pathname (was -F intended?); use '--force-log' to override"
-msgstr "잠그는 이유를 경로명으로 하였습니다. (-F 를 사용하려던 것인가요?) 강제로 사용하려면 '--force-log'를 사용하세요"
+msgid ""
+"The lock comment is a pathname (was -F intended?); use '--force-log' to "
+"override"
+msgstr ""
+"잠그는 이유를 경로명으로 하였습니다. (-F 를 사용하려던 것인가요?) 강제로 사용"
+"하려면 '--force-log'를 사용하세요"
#: clients/cmdline/main.c:1479
-msgid "svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)\n"
-msgstr "svn: 'svn cleanup'은 잠금 파일을 제거합니다. ('svn help cleanup'은 자세한 설명을 보여줍니다)\n"
+msgid ""
+"svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for "
+"details)\n"
+msgstr ""
+"svn: 'svn cleanup'은 잠금 파일을 제거합니다. ('svn help cleanup'은 자세한 설"
+"명을 보여줍니다)\n"
#: clients/cmdline/merge-cmd.c:61
msgid "Second revision required"
msgstr "두 번째 리비전이 필요합니다"
-#: clients/cmdline/merge-cmd.c:81
-#: clients/cmdline/merge-cmd.c:106
+#: clients/cmdline/merge-cmd.c:81 clients/cmdline/merge-cmd.c:106
msgid "Wrong number of paths given"
msgstr "경로의 개수가 잘못되었습니다."
@@ -1494,8 +1530,7 @@
msgid "Try 'svn add' or 'svn add --non-recursive' instead?"
msgstr "'svn add' 또는 'svn add --non-recursive' 를 사용하세요."
-#: clients/cmdline/move-cmd.c:69
-#: libsvn_client/copy.c:1177
+#: clients/cmdline/move-cmd.c:69 libsvn_client/copy.c:1177
msgid "Cannot specify revisions (except HEAD) with move operations"
msgstr "이동 명령은 리비전(HEAD 값은 제외)을 명시할 수 없습니다."
@@ -1659,13 +1694,11 @@
msgid "Can't open stdin"
msgstr "표준입력을 열 수 없습니다."
-#: clients/cmdline/prompt.c:112
-#: clients/cmdline/prompt.c:116
+#: clients/cmdline/prompt.c:112 clients/cmdline/prompt.c:116
msgid "Can't read stdin"
msgstr "표준입력에서 읽을 수 없습니다."
-#: clients/cmdline/prompt.c:153
-#: libsvn_ra_svn/client.c:310
+#: clients/cmdline/prompt.c:153 libsvn_ra_svn/client.c:310
msgid "Can't get password"
msgstr "암호를 얻는데 실패하였습니다."
@@ -1674,8 +1707,7 @@
msgid "Authentication realm: %s\n"
msgstr "인증 영역(realm): %s\n"
-#: clients/cmdline/prompt.c:201
-#: clients/cmdline/prompt.c:224
+#: clients/cmdline/prompt.c:201 clients/cmdline/prompt.c:224
msgid "Username: "
msgstr "사용자명:"
@@ -1765,8 +1797,7 @@
msgid "property '%s' deleted from '%s'.\n"
msgstr "속성 '%s' 이 '%s'에서 삭제되었습니다.\n"
-#: clients/cmdline/propedit-cmd.c:101
-#: clients/cmdline/propedit-cmd.c:225
+#: clients/cmdline/propedit-cmd.c:101 clients/cmdline/propedit-cmd.c:225
#: clients/cmdline/propset-cmd.c:85
msgid "Bad encoding option: prop value not stored as UTF8"
msgstr "잘못된 인코딩 옵션: 속성 값이 UTF8으로 저장되어 있지 않습니다."
@@ -1786,8 +1817,7 @@
msgid "Cannot specify revision for editing versioned property '%s'"
msgstr "버전관리 되는 '%s' 속성을 편집하기 위해 리비전을 지정할 수 없습니다."
-#: clients/cmdline/propedit-cmd.c:150
-#: clients/cmdline/propset-cmd.c:158
+#: clients/cmdline/propedit-cmd.c:150 clients/cmdline/propset-cmd.c:158
msgid "Explicit target argument required"
msgstr "대상 인자를 명시적으로 넣어주세요."
@@ -1796,8 +1826,7 @@
msgid "Editing property on non-local target '%s' not yet supported"
msgstr "원격 대상 '%s' 에 대하여 속성 변경이 아직 지원되지 않습니다."
-#: clients/cmdline/propedit-cmd.c:200
-#: clients/cmdline/switch-cmd.c:138
+#: clients/cmdline/propedit-cmd.c:200 clients/cmdline/switch-cmd.c:138
#, c-format
msgid "'%s' does not appear to be a working copy path"
msgstr "'%s' 은 작업 사본 경로로 보이지 않습니다."
@@ -1818,8 +1847,12 @@
msgstr "리비전 속성(%ld):\n"
#: clients/cmdline/props.c:51
-msgid "Must specify the revision as a number, a date or 'HEAD' when operating on a revision property"
-msgstr "리비전 속성에 대해 명령을 수행할 경우는 반드시 숫자나 날짜 혹은 'HEAD'로 리비전 속성을 명시해야 합니다."
+msgid ""
+"Must specify the revision as a number, a date or 'HEAD' when operating on a "
+"revision property"
+msgstr ""
+"리비전 속성에 대해 명령을 수행할 경우는 반드시 숫자나 날짜 혹은 'HEAD'로 리비"
+"전 속성을 명시해야 합니다."
#: clients/cmdline/props.c:58
msgid "Wrong number of targets specified"
@@ -1858,7 +1891,7 @@
msgid "Try 'svn revert --recursive' instead?"
msgstr "'svn revert --recursive' 를 사용하세요."
-#: clients/cmdline/status.c:278
+#: clients/cmdline/status.c:261
#, c-format
msgid "'%s' has lock token, but no lock owner"
msgstr "'%s'은(는) 잠금 토큰을 가지고 있습니다만, 잠금 소유자가 없습니다."
@@ -1868,7 +1901,7 @@
msgid "'%s' to '%s' is not a valid relocation"
msgstr "'%s'에서 '%s'로 재배치 할 수 없습니다."
-#: clients/cmdline/util.c:57
+#: clients/cmdline/util.c:58
#, c-format
msgid ""
"\n"
@@ -1877,63 +1910,70 @@
"\n"
"커밋된 리비전 %ld.\n"
-#: clients/cmdline/util.c:125
-msgid "None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found"
-msgstr "환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다."
+#: clients/cmdline/util.c:126
+msgid ""
+"None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and "
+"no 'editor-cmd' run-time configuration option was found"
+msgstr ""
+"환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구"
+"성화일에 명시해야합니다."
-#: clients/cmdline/util.c:152
+#: clients/cmdline/util.c:153
msgid "Can't get working directory"
msgstr "작업 사본 디렉토리를 구할 수 없습니다."
-#: clients/cmdline/util.c:163
+#: clients/cmdline/util.c:164
#, c-format
msgid "Can't change working directory to '%s'"
msgstr "작업 사본 디렉토리를 '%s'로 바꿀 수 없습니다."
-#: clients/cmdline/util.c:189
+#: clients/cmdline/util.c:190
#, c-format
msgid "Can't write to '%s'"
msgstr "'%s' 에 쓸 수 없습니다."
-#: clients/cmdline/util.c:204
-#: clients/cmdline/util.c:228
-#: libsvn_fs_fs/fs_fs.c:1082
-#: libsvn_fs_fs/fs_fs.c:3568
-#: libsvn_subr/io.c:2359
+#: clients/cmdline/util.c:205 clients/cmdline/util.c:229
+#: libsvn_fs_fs/fs_fs.c:1082 libsvn_fs_fs/fs_fs.c:3568 libsvn_subr/io.c:2359
#, c-format
msgid "Can't stat '%s'"
msgstr "'%s' 의 stat을 볼 수 없습니다."
-#: clients/cmdline/util.c:219
+#: clients/cmdline/util.c:220
#, c-format
msgid "system('%s') returned %d"
msgstr "system('%s') 가 %d 을/를 반환합니다."
-#: clients/cmdline/util.c:284
+#: clients/cmdline/util.c:285
msgid "Can't restore working directory"
msgstr "작업 사본 디렉토리를 재설치할 수 없습니다."
-#: clients/cmdline/util.c:324
+#: clients/cmdline/util.c:325
msgid "Log message contains a zero byte"
msgstr "로그 메시지의 길이가 0 입니다."
-#: clients/cmdline/util.c:384
+#: clients/cmdline/util.c:385
msgid "Your commit message was left in a temporary file:"
-msgstr "커밋 메시지는 다음 파일에 저장되어 있으며, -F로 재사용 할 수 있습니다. :"
+msgstr ""
+"커밋 메시지는 다음 파일에 저장되어 있으며, -F로 재사용 할 수 있습니다. :"
-#: clients/cmdline/util.c:436
+#: clients/cmdline/util.c:437
msgid "--This line, and those below, will be ignored--"
msgstr "--이 줄 이하는 자동으로 제거됩니다--"
-#: clients/cmdline/util.c:549
+#: clients/cmdline/util.c:550
msgid "Cannot invoke editor to get log message when non-interactive"
msgstr "대화식이 아닐 때 로그 메세지를 얻기 위해 에디터를 실행 할 수 없습니다"
-#: clients/cmdline/util.c:562
-msgid "Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options"
-msgstr "로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다. SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요."
+#: clients/cmdline/util.c:563
+msgid ""
+"Could not use external editor to fetch log message; consider setting the "
+"$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) "
+"options"
+msgstr ""
+"로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다. SVN_EDITOR 환경"
+"변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요."
-#: clients/cmdline/util.c:597
+#: clients/cmdline/util.c:598
msgid ""
"\n"
"Log message unchanged or not specified\n"
@@ -1943,14 +1983,12 @@
"로그 메시지가 변경되지 않았거나 지정되지 않았습니다\n"
"취소(A), 계속(C), 수정(E)\n"
-#: clients/cmdline/util.c:650
+#: clients/cmdline/util.c:651
msgid "Use --force to override this restriction"
msgstr "강제로 적용하려면 --force 옵션을 사용하세요."
-#: clients/cmdline/util.c:672
-#: include/svn_error_codes.h:229
-#: libsvn_subr/cmdline.c:278
-#: libsvn_subr/cmdline.c:295
+#: clients/cmdline/util.c:673 include/svn_error_codes.h:229
+#: libsvn_subr/cmdline.c:278 libsvn_subr/cmdline.c:295
msgid "Write error"
msgstr "쓰기 오류"
@@ -2302,8 +2340,7 @@
msgid "Path is already locked"
msgstr "경로는 이미 잠겨 있습니다."
-#: include/svn_error_codes.h:534
-#: include/svn_error_codes.h:661
+#: include/svn_error_codes.h:534 include/svn_error_codes.h:661
msgid "Path is not locked"
msgstr "경로는 잠기지 않았습니다."
@@ -2439,10 +2476,8 @@
msgid "Failed to execute WebDAV PROPPATCH"
msgstr "WebDAV PROPPATCH 실행 실패"
-#: include/svn_error_codes.h:705
-#: include/svn_error_codes.h:741
-#: libsvn_ra_svn/marshal.c:600
-#: libsvn_ra_svn/marshal.c:708
+#: include/svn_error_codes.h:705 include/svn_error_codes.h:741
+#: libsvn_ra_svn/marshal.c:600 libsvn_ra_svn/marshal.c:708
#: libsvn_ra_svn/marshal.c:735
msgid "Malformed network data"
msgstr "잘못된 네트워크 데이터"
@@ -2451,8 +2486,7 @@
msgid "Unable to extract data from response header"
msgstr "응답헤더에서 데이터를 추출할 수 없습니다."
-#: include/svn_error_codes.h:716
-#: include/svn_error_codes.h:745
+#: include/svn_error_codes.h:716 include/svn_error_codes.h:745
msgid "Couldn't find a repository"
msgstr "저장소를 찾을 수 없음"
@@ -2488,8 +2522,7 @@
msgid "No authentication provider available"
msgstr "인증 정보를 얻기 위한 장치가 없습니다."
-#: include/svn_error_codes.h:765
-#: include/svn_error_codes.h:769
+#: include/svn_error_codes.h:765 include/svn_error_codes.h:769
msgid "All authentication providers exhausted"
msgstr "인증 정보를 얻기위한 장치를 모두 사용하였습니다."
@@ -2509,219 +2542,223 @@
msgid "Invalid authz configuration"
msgstr "잘못된 authz 설정"
-#: include/svn_error_codes.h:795
+#: include/svn_error_codes.h:794
+msgid "Item is not writable"
+msgstr "아이템이 쓰기가능하지 않습니다."
+
+#: include/svn_error_codes.h:800
msgid "Svndiff data has invalid header"
msgstr "Svndiff 데이터가 잘못된 헤더를 가지고 있습니다."
-#: include/svn_error_codes.h:799
+#: include/svn_error_codes.h:804
msgid "Svndiff data contains corrupt window"
msgstr "Svndiff 데이터가 손상된 윈도우를 포함하고 있습니다."
-#: include/svn_error_codes.h:803
+#: include/svn_error_codes.h:808
msgid "Svndiff data contains backward-sliding source view"
msgstr "Svndiff 데이터에 뒤로 진행하는 부분이 있습니다."
-#: include/svn_error_codes.h:807
+#: include/svn_error_codes.h:812
msgid "Svndiff data contains invalid instruction"
msgstr "Svndiff 데이터에 잘못된 명령이 포함되어있습니다."
-#: include/svn_error_codes.h:811
+#: include/svn_error_codes.h:816
msgid "Svndiff data ends unexpectedly"
msgstr "Svndiff 데이터가 예기치않게 끝났습니다."
-#: include/svn_error_codes.h:817
+#: include/svn_error_codes.h:822
msgid "Apache has no path to an SVN filesystem"
msgstr "Apache에 SVN 파일시스템에 대한 경로가 없습니다"
-#: include/svn_error_codes.h:821
+#: include/svn_error_codes.h:826
msgid "Apache got a malformed URI"
msgstr "Apache에 잘못된 URI 를 받았습니다."
-#: include/svn_error_codes.h:825
+#: include/svn_error_codes.h:830
msgid "Activity not found"
msgstr "명령이 발견되지 않았습니다."
-#: include/svn_error_codes.h:829
+#: include/svn_error_codes.h:834
msgid "Baseline incorrect"
msgstr "기준 리비전 불일치"
-#: include/svn_error_codes.h:833
+#: include/svn_error_codes.h:838
msgid "Input/output error"
msgstr "입출력 오류"
-#: include/svn_error_codes.h:839
+#: include/svn_error_codes.h:844
msgid "A path under version control is needed for this operation"
msgstr "버전 관리대상인 경로가 본 명령어에 필요합니다"
-#: include/svn_error_codes.h:843
+#: include/svn_error_codes.h:848
msgid "Repository access is needed for this operation"
msgstr "본 명령에는 저장소 접근이 필요합니다"
-#: include/svn_error_codes.h:847
+#: include/svn_error_codes.h:852
msgid "Bogus revision information given"
msgstr "이상한 리비전 정보가 주어졌습니다."
-#: include/svn_error_codes.h:851
+#: include/svn_error_codes.h:856
msgid "Attempting to commit to a URL more than once"
msgstr "URL에 대한 커밋이 한 번이상 시도됩니다."
-#: include/svn_error_codes.h:855
+#: include/svn_error_codes.h:860
msgid "Operation does not apply to binary file"
msgstr "명령은 바이너리 파일에 적용되지 않습니다"
-#: include/svn_error_codes.h:861
+#: include/svn_error_codes.h:866
msgid "Format of an svn:externals property was invalid"
msgstr "svn:externals 에 대한 형식이 올바르지 않습니다"
-#: include/svn_error_codes.h:865
+#: include/svn_error_codes.h:870
msgid "Attempting restricted operation for modified resource"
msgstr "수정된 자료에 대하여 제한된 명령을 수행합니다."
-#: include/svn_error_codes.h:869
+#: include/svn_error_codes.h:874
msgid "Operation does not apply to directory"
msgstr "디렉토리에는 적용할 수 없는 명령"
-#: include/svn_error_codes.h:873
+#: include/svn_error_codes.h:878
msgid "Revision range is not allowed"
msgstr "리비전 범위는 사용 불가능합니다."
-#: include/svn_error_codes.h:877
+#: include/svn_error_codes.h:882
msgid "Inter-repository relocation not allowed"
msgstr "저장소를 넘어서는 'URL 전환'은 불가능합니다."
-#: include/svn_error_codes.h:881
+#: include/svn_error_codes.h:886
msgid "Author name cannot contain a newline"
msgstr "작성자 이름은 개행 문자를 포함할 수 없습니다."
-#: include/svn_error_codes.h:885
+#: include/svn_error_codes.h:890
msgid "Bad property name"
msgstr "잘못된 속성 이름"
-#: include/svn_error_codes.h:890
+#: include/svn_error_codes.h:895
msgid "Two versioned resources are unrelated"
msgstr "두개의 버전관리 대상이 연관성이 없습니다."
-#: include/svn_error_codes.h:895
+#: include/svn_error_codes.h:900
msgid "Path has no lock token"
msgstr "지정한 경로에 잠금 토큰이 없습니다."
-#: include/svn_error_codes.h:901
+#: include/svn_error_codes.h:906
msgid "A problem occurred; see later errors for details"
msgstr "문제 발생함: 상세한 것은 다음 오류참고"
-#: include/svn_error_codes.h:905
+#: include/svn_error_codes.h:910
msgid "Failure loading plugin"
msgstr "플러긴 로딩 실패"
-#: include/svn_error_codes.h:909
+#: include/svn_error_codes.h:914
msgid "Malformed file"
msgstr "잘못된 파일"
-#: include/svn_error_codes.h:913
+#: include/svn_error_codes.h:918
msgid "Incomplete data"
msgstr "불완전한 데이터"
-#: include/svn_error_codes.h:917
+#: include/svn_error_codes.h:922
msgid "Incorrect parameters given"
msgstr "잘못된 인자가 넘겨짐"
-#: include/svn_error_codes.h:921
+#: include/svn_error_codes.h:926
msgid "Tried a versioning operation on an unversioned resource"
msgstr "버전관리 대상이 아닌 것에 버전관련 명령을 시도했습니다."
-#: include/svn_error_codes.h:925
+#: include/svn_error_codes.h:930
msgid "Test failed"
msgstr "테스트 실패"
-#: include/svn_error_codes.h:929
+#: include/svn_error_codes.h:934
msgid "Trying to use an unsupported feature"
msgstr "지원하지 않는 속성을 사용하는 중"
-#: include/svn_error_codes.h:933
+#: include/svn_error_codes.h:938
msgid "Unexpected or unknown property kind"
msgstr "예기치 않은 혹은 알려지지 않은 속성 종류"
-#: include/svn_error_codes.h:937
+#: include/svn_error_codes.h:942
msgid "Illegal target for the requested operation"
msgstr "요구된 명령에 대하여 잘못된 대상"
-#: include/svn_error_codes.h:941
+#: include/svn_error_codes.h:946
msgid "MD5 checksum is missing"
msgstr "MD5 체크섬 누락됨"
-#: include/svn_error_codes.h:945
+#: include/svn_error_codes.h:950
msgid "Directory needs to be empty but is not"
msgstr "디렉토리가 비어있어야만 합니다"
-#: include/svn_error_codes.h:949
+#: include/svn_error_codes.h:954
msgid "Error calling external program"
msgstr "외부 프로그램 실행 중 오류"
-#: include/svn_error_codes.h:953
+#: include/svn_error_codes.h:958
msgid "Python exception has been set with the error"
msgstr "오류에 파이썬 예외가 있습니다."
-#: include/svn_error_codes.h:957
+#: include/svn_error_codes.h:962
msgid "A checksum mismatch occurred"
msgstr "체크섬 불일치 오류가 발생하였습니다."
-#: include/svn_error_codes.h:961
+#: include/svn_error_codes.h:966
msgid "The operation was interrupted"
msgstr "명령 수행이 간섭으로 중단됩니다."
-#: include/svn_error_codes.h:965
+#: include/svn_error_codes.h:970
msgid "The specified diff option is not supported"
msgstr "지정한 diff 옵션은 지원되지 않는 것입니다."
-#: include/svn_error_codes.h:969
+#: include/svn_error_codes.h:974
msgid "Property not found"
msgstr "속성을 찾을 수 없습니다."
-#: include/svn_error_codes.h:973
+#: include/svn_error_codes.h:978
msgid "No auth file path available"
msgstr "인증 파일 경로가 유효하지 않습니다."
-#: include/svn_error_codes.h:978
+#: include/svn_error_codes.h:983
msgid "Incompatible library version"
msgstr "호환되지 않는 라이브러리 버전"
-#: include/svn_error_codes.h:984
+#: include/svn_error_codes.h:989
msgid "Client error in parsing arguments"
msgstr "인자를 분석 도중 클라이언트 오류 발생함"
-#: include/svn_error_codes.h:988
+#: include/svn_error_codes.h:993
msgid "Not enough args provided"
msgstr "인자가 충분히 주어지지 않았습니다."
-#: include/svn_error_codes.h:992
+#: include/svn_error_codes.h:997
msgid "Mutually exclusive arguments specified"
msgstr "동시에 존재할 수 없는 인자가 주어졌습니다."
-#: include/svn_error_codes.h:996
+#: include/svn_error_codes.h:1001
msgid "Attempted command in administrative dir"
msgstr "관리 디렉토리에 명령을 수행중입니다."
-#: include/svn_error_codes.h:1000
+#: include/svn_error_codes.h:1005
msgid "The log message file is under version control"
msgstr "로그 메시지 파일은 버전 관리 대상입니다."
-#: include/svn_error_codes.h:1004
+#: include/svn_error_codes.h:1009
msgid "The log message is a pathname"
msgstr "로그 메시지는 경로명입니다."
-#: include/svn_error_codes.h:1008
+#: include/svn_error_codes.h:1013
msgid "Committing in directory scheduled for addition"
msgstr "추가하기 위한 디렉토리를 커밋 중"
-#: include/svn_error_codes.h:1012
+#: include/svn_error_codes.h:1017
msgid "No external editor available"
msgstr "외부 편집기가 없습니다"
-#: include/svn_error_codes.h:1016
+#: include/svn_error_codes.h:1021
msgid "Something is wrong with the log message's contents"
msgstr "로그 메시지 내용이 이상합니다."
-#: include/svn_error_codes.h:1020
+#: include/svn_error_codes.h:1025
msgid "A log message was given where none was necessary"
msgstr "로그메시지가 필요없는 곳에 지정되었습니다."
@@ -2735,8 +2772,7 @@
msgid "Can't close directory '%s'"
msgstr "'%s' 디렉토리를 닫을 수 없습니다."
-#: libsvn_client/blame.c:382
-#: libsvn_client/blame.c:774
+#: libsvn_client/blame.c:382 libsvn_client/blame.c:774
#, c-format
msgid "Cannot calculate blame information for binary file '%s'"
msgstr "'%s' 바이너리 파일에 대하여 '수정한 사람 보기'를 수행할 수 없습니다"
@@ -2745,8 +2781,7 @@
msgid "Start revision must precede end revision"
msgstr "시작 버전은 종료버전보다 앞서야 합니다."
-#: libsvn_client/blame.c:659
-#: libsvn_client/cat.c:205
+#: libsvn_client/blame.c:659 libsvn_client/cat.c:205
#, c-format
msgid "URL '%s' refers to a directory"
msgstr "URL '%s' 는 디렉토리입니다."
@@ -2756,8 +2791,7 @@
msgid "Revision action '%c' for revision %ld of '%s' lacks a prior revision"
msgstr "리비전 명령 '%c' 은 이전 리비전을 필요로 합니다. (리비전 %ld; %s)"
-#: libsvn_client/cat.c:73
-#: libsvn_client/export.c:241
+#: libsvn_client/cat.c:73 libsvn_client/export.c:241
#, c-format
msgid "'%s' is not under version control or doesn't exist"
msgstr "'%s' 은(는) 버전 컨트롤 대상이 아니거나 존재하지 않습니다."
@@ -2767,8 +2801,7 @@
msgid "'%s' refers to a directory"
msgstr "URL '%s' 는 디렉토리입니다."
-#: libsvn_client/cat.c:131
-#: libsvn_client/export.c:183
+#: libsvn_client/cat.c:131 libsvn_client/export.c:183
msgid "(local)"
msgstr "(로컬)"
@@ -2810,22 +2843,17 @@
msgid "New entry name required when importing a file"
msgstr "파일을 임포트할 때 새 항목 이름이 필요합니다."
-#: libsvn_client/commit.c:556
-#: libsvn_wc/props.c:1197
-#: libsvn_wc/questions.c:62
+#: libsvn_client/commit.c:556 libsvn_wc/props.c:1197 libsvn_wc/questions.c:62
#, c-format
msgid "'%s' does not exist"
msgstr "'%s'는 존재하지 않습니다."
-#: libsvn_client/commit.c:616
-#: libsvn_client/copy.c:81
-#: svnlook/main.c:1263
+#: libsvn_client/commit.c:616 libsvn_client/copy.c:81 svnlook/main.c:1263
#, c-format
msgid "Path '%s' does not exist"
msgstr "경로 '%s'는 존재하지 않습니다."
-#: libsvn_client/commit.c:746
-#: libsvn_client/copy.c:398
+#: libsvn_client/commit.c:746 libsvn_client/copy.c:398
#: libsvn_client/copy.c:414
#, c-format
msgid "Path '%s' already exists"
@@ -2836,18 +2864,15 @@
msgid "'%s' is a reserved name and cannot be imported"
msgstr "'%s' 는 예약된 이름이며, 임포트될 수 없습니다."
-#: libsvn_client/commit.c:862
-#: libsvn_client/copy.c:544
+#: libsvn_client/commit.c:862 libsvn_client/copy.c:544
msgid "Commit failed (details follow):"
msgstr "커밋이 실패하였습니다:"
-#: libsvn_client/commit.c:870
-#: libsvn_client/copy.c:552
+#: libsvn_client/commit.c:870 libsvn_client/copy.c:552
msgid "Commit succeeded, but other errors follow:"
msgstr "커밋이 성공하였지만, 오류가 있습니다:"
-#: libsvn_client/commit.c:877
-#: libsvn_client/copy.c:559
+#: libsvn_client/commit.c:877 libsvn_client/copy.c:559
msgid "Error unlocking locked dirs (details follow):"
msgstr "잠긴 디렉토리를 해제하는데 실패함 (아래에 자세히):"
@@ -2855,8 +2880,7 @@
msgid "Error bumping revisions post-commit (details follow):"
msgstr "커밋 후 리비전들을 갱신하는 도중 오류가 발생하였습니다:"
-#: libsvn_client/commit.c:899
-#: libsvn_client/copy.c:570
+#: libsvn_client/commit.c:899 libsvn_client/copy.c:570
msgid "Error in post-commit clean-up (details follow):"
msgstr "커밋 후처리를 마무리하는 중에 오류 발생 (아래에 자세히):"
@@ -2873,8 +2897,7 @@
msgid "Cannot non-recursively commit a directory deletion"
msgstr "디렉토리를 삭제하는 커밋은 재귀호출이어야만 합니다."
-#: libsvn_client/commit_util.c:243
-#: libsvn_client/commit_util.c:254
+#: libsvn_client/commit_util.c:243 libsvn_client/commit_util.c:254
#, c-format
msgid "Unknown entry kind for '%s'"
msgstr "'%s'의 알 수 없는 항목입니다."
@@ -2899,34 +2922,19 @@
msgid "Commit item '%s' has copy flag but no copyfrom URL\n"
msgstr "커밋 아이템 '%s' 은(는) 복사표시가 되어있지만 원본 URL이 없습니다.\n"
-#: libsvn_client/commit_util.c:678
-#: libsvn_client/commit_util.c:808
-#: libsvn_client/copy.c:1073
-#: libsvn_client/delete.c:67
-#: libsvn_client/diff.c:1390
-#: libsvn_client/diff.c:1988
-#: libsvn_client/diff.c:2510
-#: libsvn_client/diff.c:2619
-#: libsvn_client/locking_commands.c:248
-#: libsvn_client/locking_commands.c:272
-#: libsvn_client/log.c:129
-#: libsvn_client/prop_commands.c:213
-#: libsvn_client/prop_commands.c:446
-#: libsvn_client/prop_commands.c:602
-#: libsvn_client/prop_commands.c:951
-#: libsvn_client/ra.c:180
-#: libsvn_client/revisions.c:89
-#: libsvn_client/status.c:250
-#: libsvn_client/switch.c:104
-#: libsvn_wc/adm_ops.c:2260
-#: libsvn_wc/adm_ops.c:2286
-#: libsvn_wc/adm_ops.c:2323
-#: libsvn_wc/copy.c:448
-#: libsvn_wc/entries.c:1497
-#: libsvn_wc/entries.c:1989
-#: libsvn_wc/props.c:286
-#: libsvn_wc/props.c:1124
-#: libsvn_wc/questions.c:171
+#: libsvn_client/commit_util.c:678 libsvn_client/commit_util.c:808
+#: libsvn_client/copy.c:1073 libsvn_client/delete.c:67
+#: libsvn_client/diff.c:1390 libsvn_client/diff.c:1988
+#: libsvn_client/diff.c:2510 libsvn_client/diff.c:2619
+#: libsvn_client/locking_commands.c:248 libsvn_client/locking_commands.c:272
+#: libsvn_client/log.c:129 libsvn_client/prop_commands.c:213
+#: libsvn_client/prop_commands.c:446 libsvn_client/prop_commands.c:602
+#: libsvn_client/prop_commands.c:951 libsvn_client/ra.c:180
+#: libsvn_client/revisions.c:89 libsvn_client/status.c:256
+#: libsvn_client/switch.c:104 libsvn_wc/adm_ops.c:2261
+#: libsvn_wc/adm_ops.c:2287 libsvn_wc/adm_ops.c:2324 libsvn_wc/copy.c:448
+#: libsvn_wc/entries.c:1498 libsvn_wc/entries.c:1990 libsvn_wc/props.c:286
+#: libsvn_wc/props.c:1124 libsvn_wc/questions.c:171
#, c-format
msgid "'%s' is not under version control"
msgstr "'%s' 은(는) 버전 컨트롤 대상이 아닙니다."
@@ -2954,8 +2962,12 @@
#: libsvn_client/commit_util.c:774
#, c-format
-msgid "'%s' is not under version control and is not part of the commit, yet its child '%s' is part of the commit"
-msgstr "버전관리 대상도 아니며 커밋 대상도 아닌 '%s' 이지만, 그 하위인 '%s'는 커밋 대상입니다."
+msgid ""
+"'%s' is not under version control and is not part of the commit, yet its "
+"child '%s' is part of the commit"
+msgstr ""
+"버전관리 대상도 아니며 커밋 대상도 아닌 '%s' 이지만, 그 하위인 '%s'는 커밋 대"
+"상입니다."
#: libsvn_client/commit_util.c:857
#, c-format
@@ -2970,11 +2982,11 @@
#: libsvn_client/commit_util.c:1007
#, c-format
msgid "Commit item '%s' has copy flag but an invalid revision"
-msgstr "커밋 아이템 '%s' 은(는) 복사표시가 되어있지만 잘못된 리비전을 가지고 있습니다."
+msgstr ""
+"커밋 아이템 '%s' 은(는) 복사표시가 되어있지만 잘못된 리비전을 가지고 있습니"
+"다."
-#: libsvn_client/copy.c:101
-#: libsvn_client/copy.c:646
-#: libsvn_client/copy.c:832
+#: libsvn_client/copy.c:101 libsvn_client/copy.c:646 libsvn_client/copy.c:832
#: libsvn_ra_dav/commit.c:1172
#, c-format
msgid "File '%s' already exists"
@@ -2991,7 +3003,9 @@
#: libsvn_client/copy.c:359
#, c-format
-msgid "Source and dest appear not to be in the same repository (src: '%s'; dst: '%s')"
+msgid ""
+"Source and dest appear not to be in the same repository (src: '%s'; dst: '%"
+"s')"
msgstr "원본과 대상이 같은 저장소안에 있지 않습니다. (원본: '%s'; 대상: '%s')"
#: libsvn_client/copy.c:385
@@ -3027,7 +3041,8 @@
#: libsvn_client/copy.c:949
#, c-format
msgid "Source URL '%s' is from foreign repository; leaving it as a disjoint WC"
-msgstr "원본 URL '%s'은(는) 외부 저장소에서 온 것이며, 작업사본과 연결되지 않습니다."
+msgstr ""
+"원본 URL '%s'은(는) 외부 저장소에서 온 것이며, 작업사본과 연결되지 않습니다."
#: libsvn_client/copy.c:1028
#, c-format
@@ -3073,8 +3088,7 @@
msgid "URLs have no scheme ('%s' and '%s')"
msgstr "URL에 스키마가 없음 ('%s' 과 '%s')"
-#: libsvn_client/diff.c:204
-#: libsvn_client/diff.c:210
+#: libsvn_client/diff.c:204 libsvn_client/diff.c:210
#, c-format
msgid "URL has no scheme: '%s'"
msgstr "URL에 스키마가 없음: '%s'"
@@ -3105,6 +3119,7 @@
msgstr "아직 지원되지 않음: '%s'"
#. xgettext: the '.working', '.merge-left.r%ld' and '.merge-right.r%ld'
+#. strings are used to tag onto a filename in case of a merge conflict
#: libsvn_client/diff.c:771
msgid ".working"
msgstr ".working"
@@ -3119,8 +3134,7 @@
msgid ".merge-right.r%ld"
msgstr ".merge-right.r%ld"
-#: libsvn_client/diff.c:1446
-#: libsvn_client/diff.c:2088
+#: libsvn_client/diff.c:1446 libsvn_client/diff.c:2088
#: libsvn_client/diff.c:2168
msgid "Not all required revisions are specified"
msgstr "필요한 리비전이 빠져있습니다."
@@ -3130,17 +3144,18 @@
msgstr "죄송합니다. svn_client_diff3 가 지원하지 않는 방법으로 호출되었습니다."
#: libsvn_client/diff.c:1756
-msgid "Only diffs between a path's text-base and its working files are supported at this time"
-msgstr "현재는 경로의 마지막 업데이트 내용과 작업된 내용의 차이만 생성할 수 있습니다."
+msgid ""
+"Only diffs between a path's text-base and its working files are supported at "
+"this time"
+msgstr ""
+"현재는 경로의 마지막 업데이트 내용과 작업된 내용의 차이만 생성할 수 있습니다."
-#: libsvn_client/diff.c:1871
-#: libsvn_client/diff.c:1876
+#: libsvn_client/diff.c:1871 libsvn_client/diff.c:1876
#, c-format
msgid "'%s' was not found in the repository at revision %ld"
msgstr "'%s'가 저장소의 리비전 %ld에서 발견되지 않았습니다."
-#: libsvn_client/diff.c:1992
-#: libsvn_client/switch.c:108
+#: libsvn_client/diff.c:1992 libsvn_client/switch.c:108
#, c-format
msgid "Directory '%s' has no URL"
msgstr "디렉토리 '%s'에 URL정보가 없습니다."
@@ -3149,14 +3164,10 @@
msgid "At least one revision must be non-local for a pegged diff"
msgstr "고정된 리비전을 위한 diff에서 적어도 하나의 리비전이 로컬이 아닙니다."
-#: libsvn_client/diff.c:2483
-#: libsvn_client/diff.c:2489
-#: libsvn_client/diff.c:2604
-#: libsvn_client/locking_commands.c:252
-#: libsvn_client/locking_commands.c:276
-#: libsvn_client/ra.c:368
-#: libsvn_client/ra.c:729
-#: libsvn_client/ra.c:865
+#: libsvn_client/diff.c:2483 libsvn_client/diff.c:2489
+#: libsvn_client/diff.c:2604 libsvn_client/locking_commands.c:252
+#: libsvn_client/locking_commands.c:276 libsvn_client/ra.c:368
+#: libsvn_client/ra.c:729 libsvn_client/ra.c:865
#, c-format
msgid "'%s' has no URL"
msgstr "'%s'은(는) URL을 포함하지 않습니다."
@@ -3170,21 +3181,18 @@
msgid "Destination directory exists, and will not be overwritten unless forced"
msgstr "대상 디렉토리가 존재합니다. 강제(--force)로 해야만 덮어쓰게 됩니다."
-#: libsvn_client/export.c:369
-#: libsvn_client/export.c:512
+#: libsvn_client/export.c:369 libsvn_client/export.c:512
#, c-format
msgid "'%s' exists and is not a directory"
msgstr "'%s'은(는) 존재하며, 디렉토리가 아닙니다."
-#: libsvn_client/export.c:373
-#: libsvn_client/export.c:516
+#: libsvn_client/export.c:373 libsvn_client/export.c:516
#, c-format
msgid "'%s' already exists"
msgstr "'%s'은(는) 이미 존재합니다."
-#: libsvn_client/export.c:686
-#: libsvn_wc/update_editor.c:1633
-#: libsvn_wc/update_editor.c:2406
+#: libsvn_client/export.c:686 libsvn_wc/update_editor.c:1634
+#: libsvn_wc/update_editor.c:2407
#, c-format
msgid "Checksum mismatch for '%s'; expected: '%s', actual: '%s'"
msgstr "'%s'의 체크섬값이 일치하지 않습니다. 기대값:'%s', 실제값: '%s'"
@@ -3194,16 +3202,15 @@
msgid "Cannot read entry for '%s'"
msgstr "'%s'를 위한 등록정보를 찾을 수 없습니다."
-#: libsvn_client/info.c:321
-#: libsvn_client/info.c:346
-#: libsvn_client/info.c:356
+#: libsvn_client/info.c:321 libsvn_client/info.c:346 libsvn_client/info.c:356
#, c-format
msgid "URL '%s' non-existent in revision '%ld'"
msgstr "URL '%s'은(는) 리비전('%ld')에 존재하지 않습니다."
#: libsvn_client/locking_commands.c:198
msgid "No common parent found, unable to operate on disjoint arguments"
-msgstr "공유하는 상위 디렉토리가 존재하지 없습니다. 분리된 경로들이 지정되었습니다."
+msgstr ""
+"공유하는 상위 디렉토리가 존재하지 없습니다. 분리된 경로들이 지정되었습니다."
#: libsvn_client/locking_commands.c:300
msgid "Unable to lock/unlock across multiple repositories"
@@ -3219,8 +3226,7 @@
msgid "'%s' is not locked"
msgstr "'%s'는 잠기지 않았습니다."
-#: libsvn_client/locking_commands.c:422
-#: libsvn_fs/fs-loader.c:896
+#: libsvn_client/locking_commands.c:422 libsvn_fs/fs-loader.c:896
#: libsvn_ra/ra_loader.c:512
msgid "Lock comment has illegal characters"
msgstr "잠금 설명에 잘못된 문자가 있습니다."
@@ -3229,8 +3235,7 @@
msgid "Missing required revision specification"
msgstr "필요한 리비전 지정이 생략됨"
-#: libsvn_client/log.c:135
-#: libsvn_client/status.c:255
+#: libsvn_client/log.c:135 libsvn_client/status.c:261
#: libsvn_client/update.c:86
#, c-format
msgid "Entry '%s' has no URL"
@@ -3240,8 +3245,7 @@
msgid "No commits in repository"
msgstr "저장소에 커밋 없음"
-#: libsvn_client/ls.c:128
-#: libsvn_client/ls.c:135
+#: libsvn_client/ls.c:128 libsvn_client/ls.c:135
#, c-format
msgid "URL '%s' non-existent in that revision"
msgstr "URL '%s'은(는) 그 리비전에서 존재하지 않습니다."
@@ -3261,8 +3265,7 @@
msgid "Setting property on non-local target '%s' is not supported"
msgstr "작업중이 아닌 대상 '%s'에 대한 속성 설정은 지원하지 않습니다."
-#: libsvn_client/prop_commands.c:205
-#: libsvn_client/prop_commands.c:280
+#: libsvn_client/prop_commands.c:205 libsvn_client/prop_commands.c:280
#, c-format
msgid "Bad property name: '%s'"
msgstr "잘못된 속성이름: '%s'"
@@ -3271,8 +3274,7 @@
msgid "Value will not be set unless forced"
msgstr "강제(--force)하지 않으면 값이 설정되지 않습니다."
-#: libsvn_client/prop_commands.c:499
-#: libsvn_client/prop_commands.c:758
+#: libsvn_client/prop_commands.c:499 libsvn_client/prop_commands.c:758
#, c-format
msgid "Unknown node kind for '%s'"
msgstr "'%s'의 노드를 알 수 없습니다."
@@ -3297,8 +3299,7 @@
msgid "path '%s' doesn't exist in revision %ld"
msgstr "경로 '%s'는 리비전 %ld에서 존재하지 않습니다."
-#: libsvn_client/ra.c:656
-#: libsvn_client/ra.c:813
+#: libsvn_client/ra.c:656 libsvn_client/ra.c:813
#, c-format
msgid "Unable to find repository location for '%s' in revision %ld"
msgstr "'%s'의 저장소 위치를 찾을 수 없습니다. 리비전 %ld."
@@ -3310,13 +3311,18 @@
#: libsvn_client/ra.c:818
#, c-format
-msgid "The location for '%s' for revision %ld does not exist in the repository or refers to an unrelated object"
-msgstr "'%s'에 대한 위치(리비전 %ld)가 저장소내에 존재하지 않거나 연관되지 않는 개체를 참조하고 있습니다."
+msgid ""
+"The location for '%s' for revision %ld does not exist in the repository or "
+"refers to an unrelated object"
+msgstr ""
+"'%s'에 대한 위치(리비전 %ld)가 저장소내에 존재하지 않거나 연관되지 않는 개체"
+"를 참조하고 있습니다."
#: libsvn_client/relocate.c:53
#, c-format
msgid "The repository at '%s' has uuid '%s', but the WC has '%s'"
-msgstr "'%s'의 저장소는 '%s'라는 uuid를 가지고 있습니다만 작업사본은 '%s' 입니다."
+msgstr ""
+"'%s'의 저장소는 '%s'라는 uuid를 가지고 있습니다만 작업사본은 '%s' 입니다."
#: libsvn_client/revisions.c:105
#, c-format
@@ -3345,7 +3351,8 @@
#: libsvn_delta/svndiff.c:374
#, c-format
-msgid "Invalid diff stream: [tgt] insn %d starts beyond the target view position"
+msgid ""
+"Invalid diff stream: [tgt] insn %d starts beyond the target view position"
msgstr "잘못된 diff 스트림: [tgt] insn %d이 뷰의 시작 위치를 넘었습니다."
#: libsvn_delta/svndiff.c:381
@@ -3365,8 +3372,7 @@
msgid "Svndiff has invalid header"
msgstr "Svndiff 데이터가 잘못된 헤더를 가지고 있습니다."
-#: libsvn_delta/svndiff.c:526
-#: libsvn_delta/svndiff.c:681
+#: libsvn_delta/svndiff.c:526 libsvn_delta/svndiff.c:681
msgid "Svndiff contains corrupt window header"
msgstr "Svndiff 데이터가 손상된 윈도우를 포함하고 있습니다."
@@ -3374,8 +3380,7 @@
msgid "Svndiff has backwards-sliding source views"
msgstr "Svndiff 데이터에 뒤로 진행하는 부분이 있습니다."
-#: libsvn_delta/svndiff.c:583
-#: libsvn_delta/svndiff.c:630
+#: libsvn_delta/svndiff.c:583 libsvn_delta/svndiff.c:630
#: libsvn_delta/svndiff.c:703
msgid "Unexpected end of svndiff input"
msgstr "svndiff의 입력이 알 수 없는 이유로 중단되었습니다."
@@ -3390,8 +3395,7 @@
msgid "Failed to delete mmap '%s'"
msgstr "mmap '%s'의 제거에 실패하였습니다."
-#: libsvn_fs/fs-loader.c:105
-#: libsvn_ra/ra_loader.c:157
+#: libsvn_fs/fs-loader.c:105 libsvn_ra/ra_loader.c:157
#: libsvn_ra/ra_loader.c:170
#, c-format
msgid "'%s' does not define '%s()'"
@@ -3404,7 +3408,8 @@
#: libsvn_fs/fs-loader.c:138
#, c-format
-msgid "Mismatched FS module version for '%s': found %d.%d.%d%s, expected %d.%d.%d%s"
+msgid ""
+"Mismatched FS module version for '%s': found %d.%d.%d%s, expected %d.%d.%d%s"
msgstr "FS 모듈 버전 불일치 '%s': 발견된 것 %d.%d.%d%s, 기대되는 것 %d.%d.%d%s"
#: libsvn_fs/fs-loader.c:163
@@ -3441,18 +3446,15 @@
msgid "deleting changes"
msgstr "변경 내용 삭제중"
-#: libsvn_fs_base/bdb/changes-table.c:146
-#: libsvn_fs_fs/fs_fs.c:1965
+#: libsvn_fs_base/bdb/changes-table.c:146 libsvn_fs_fs/fs_fs.c:1965
msgid "Missing required node revision ID"
msgstr "필요한 노드 리비전 ID가 누락되었습니다."
-#: libsvn_fs_base/bdb/changes-table.c:157
-#: libsvn_fs_fs/fs_fs.c:1975
+#: libsvn_fs_base/bdb/changes-table.c:157 libsvn_fs_fs/fs_fs.c:1975
msgid "Invalid change ordering: new node revision ID without delete"
msgstr "변경 순서 오류: 삭제 없는 새 노드 리비전 ID"
-#: libsvn_fs_base/bdb/changes-table.c:167
-#: libsvn_fs_fs/fs_fs.c:1986
+#: libsvn_fs_base/bdb/changes-table.c:167 libsvn_fs_fs/fs_fs.c:1986
msgid "Invalid change ordering: non-add change on deleted path"
msgstr "변경 순서 오류: 삭제된 경로상에는 추가할 수 없습니다."
@@ -3523,8 +3525,7 @@
msgid "storing node revision"
msgstr "노드 리비전 저장 중"
-#: libsvn_fs_base/bdb/reps-table.c:95
-#: libsvn_fs_base/bdb/reps-table.c:202
+#: libsvn_fs_base/bdb/reps-table.c:95 libsvn_fs_base/bdb/reps-table.c:202
#, c-format
msgid "No such representation '%s'"
msgstr "없는 표현 항목: '%s'"
@@ -3572,111 +3573,101 @@
msgid "set repository uuid"
msgstr "저장소 uuid 설정"
-#: libsvn_fs_base/dag.c:313
+#: libsvn_fs_base/dag.c:239
#, c-format
msgid "Corrupt DB: initial transaction id not '0' in filesystem '%s'"
msgstr "손상된 DB: 파일시스템('%s')의 초기 트랜잭션 id가 '0'이 아닙니다."
-#: libsvn_fs_base/dag.c:321
+#: libsvn_fs_base/dag.c:247
#, c-format
msgid "Corrupt DB: initial copy id not '0' in filesystem '%s'"
msgstr "손상된 DB: 파일 시스템('%s')의 초기 copy id가 '0'이 아닙니다."
-#: libsvn_fs_base/dag.c:330
+#: libsvn_fs_base/dag.c:256
#, c-format
msgid "Corrupt DB: initial revision number is not '0' in filesystem '%s'"
msgstr "손상된 DB: 파일시스템('%s')의 초기 리비전 번호가 '0'이 아닙니다."
-#: libsvn_fs_base/dag.c:378
-#: libsvn_fs_base/dag.c:555
-#: libsvn_fs_fs/dag.c:386
+#: libsvn_fs_base/dag.c:304 libsvn_fs_base/dag.c:481 libsvn_fs_fs/dag.c:386
msgid "Attempted to create entry in non-directory parent"
msgstr "디렉토리가 아닌 상위 노드에 생성하려 하였습니다."
-#: libsvn_fs_base/dag.c:549
-#: libsvn_fs_fs/dag.c:380
+#: libsvn_fs_base/dag.c:475 libsvn_fs_fs/dag.c:380
#, c-format
msgid "Attempted to create a node with an illegal name '%s'"
msgstr " 잘못된 이름('%s')으로 노드를 생성하려 했습니다."
-#: libsvn_fs_base/dag.c:561
-#: libsvn_fs_base/dag.c:795
-#: libsvn_fs_fs/dag.c:392
+#: libsvn_fs_base/dag.c:487 libsvn_fs_base/dag.c:721 libsvn_fs_fs/dag.c:392
msgid "Attempted to clone child of non-mutable node"
msgstr "변경 불가능한 노드로 복제를 시도하였습니다."
-#: libsvn_fs_base/dag.c:568
+#: libsvn_fs_base/dag.c:494
msgid "Attempted to create entry that already exists"
msgstr "이미 존재하는 디렉토리를 다시 생성하려 하였습니다."
-#: libsvn_fs_base/dag.c:619
-#: libsvn_fs_fs/dag.c:454
+#: libsvn_fs_base/dag.c:545 libsvn_fs_fs/dag.c:454
msgid "Attempted to set entry in non-directory node"
msgstr "디렉토리가 아닌 노드에 설정하려하였습니다."
-#: libsvn_fs_base/dag.c:625
-#: libsvn_fs_fs/dag.c:460
+#: libsvn_fs_base/dag.c:551 libsvn_fs_fs/dag.c:460
msgid "Attempted to set entry in immutable node"
msgstr "변경할 수 없는 노드에 대해 설정하려 했습니다."
-#: libsvn_fs_base/dag.c:689
+#: libsvn_fs_base/dag.c:615
#, c-format
msgid "Can't set proplist on *immutable* node-revision %s"
msgstr "되돌릴수 없는 노드(%s) 리비전에 대해 속성리스트를 설정할 수 없습니다."
-#: libsvn_fs_base/dag.c:801
+#: libsvn_fs_base/dag.c:727
#, c-format
msgid "Attempted to make a child clone with an illegal name '%s'"
msgstr "잘못된 이름 '%s'으로 하위 노드를 생성하려합니다."
-#: libsvn_fs_base/dag.c:926
+#: libsvn_fs_base/dag.c:852
#, c-format
msgid "Attempted to delete entry '%s' from *non*-directory node"
msgstr "디렉토리가 아닌 노드에서 '%s'를 삭제하려합니다."
-#: libsvn_fs_base/dag.c:932
+#: libsvn_fs_base/dag.c:858
#, c-format
msgid "Attempted to delete entry '%s' from immutable directory node"
msgstr "변경할 수 없는 디렉토리에서 '%s'를 삭제하려합니다."
-#: libsvn_fs_base/dag.c:939
+#: libsvn_fs_base/dag.c:865
#, c-format
msgid "Attempted to delete a node with an illegal name '%s'"
msgstr "잘못된 이름으로된 노드(%s)를 삭제하려합니다."
-#: libsvn_fs_base/dag.c:954
-#: libsvn_fs_base/dag.c:987
+#: libsvn_fs_base/dag.c:880 libsvn_fs_base/dag.c:913
#, c-format
msgid "Delete failed: directory has no entry '%s'"
msgstr "삭제 오류: 디렉토리에 그런 항목이 없습니다. : '%s'"
-#: libsvn_fs_base/dag.c:1036
+#: libsvn_fs_base/dag.c:962
msgid "Attempted removal of immutable node"
msgstr "변경할 수 없는 노드를 삭제하려합니다."
-#: libsvn_fs_base/dag.c:1156
+#: libsvn_fs_base/dag.c:1082
msgid "Attempted to get textual contents of a *non*-file node"
msgstr "파일이 아닌 노드로부터 텍스트를 얻으려 시도했습니다."
-#: libsvn_fs_base/dag.c:1191
+#: libsvn_fs_base/dag.c:1117
msgid "Attempted to get length of a *non*-file node"
msgstr "파일이 아닌 노드로부터 길이를 얻으려 시도했습니다."
-#: libsvn_fs_base/dag.c:1217
+#: libsvn_fs_base/dag.c:1143
msgid "Attempted to get checksum of a *non*-file node"
msgstr "파일이 아닌 노드로부터 체크섬 값을 얻으려 시도했습니다."
-#: libsvn_fs_base/dag.c:1248
-#: libsvn_fs_base/dag.c:1302
+#: libsvn_fs_base/dag.c:1174 libsvn_fs_base/dag.c:1228
msgid "Attempted to set textual contents of a *non*-file node"
msgstr "파일이 아닌 노드에 텍스트 내용을 설정할 수 없음"
-#: libsvn_fs_base/dag.c:1254
-#: libsvn_fs_base/dag.c:1308
+#: libsvn_fs_base/dag.c:1180 libsvn_fs_base/dag.c:1234
msgid "Attempted to set textual contents of an immutable node"
msgstr "변경할 수 없는 노드의 내용을 설정하려합니다."
-#: libsvn_fs_base/dag.c:1331
+#: libsvn_fs_base/dag.c:1257
#, c-format
msgid ""
"Checksum mismatch, rep '%s':\n"
@@ -3687,113 +3678,100 @@
" 기대값 : %s\n"
" 실제값 : %s\n"
-#: libsvn_fs_base/dag.c:1386
+#: libsvn_fs_base/dag.c:1312
#, c-format
msgid "Attempted to open non-existent child node '%s'"
msgstr "존재하지 않는 하위 노드 '%s'를 열려고 합니다."
-#: libsvn_fs_base/dag.c:1392
+#: libsvn_fs_base/dag.c:1318
#, c-format
msgid "Attempted to open node with an illegal name '%s'"
msgstr "잘못된 이름의 노드 '%s'를 열려고 합니다."
-#: libsvn_fs_base/err.c:37
-#: libsvn_fs_fs/err.c:39
+#: libsvn_fs_base/err.c:37 libsvn_fs_fs/err.c:39
msgid "Filesystem object has not been opened yet"
msgstr "파일시스템 개체가 아직 열리지 않았습니다."
-#: libsvn_fs_base/err.c:68
-#: libsvn_fs_fs/err.c:70
+#: libsvn_fs_base/err.c:68 libsvn_fs_fs/err.c:70
#, c-format
msgid "Corrupt filesystem revision %ld in filesystem '%s'"
msgstr "손상된 파일시스템 리비전 %ld (파일시스템 '%s')"
-#: libsvn_fs_base/err.c:81
-#: libsvn_fs_fs/err.c:83
+#: libsvn_fs_base/err.c:81 libsvn_fs_fs/err.c:83
#, c-format
msgid "Corrupt clone record for '%s' in transaction '%s' in filesystem '%s'"
msgstr "손상된 복제 레코드 '%s' (트랜잭션 '%s', 파일 시스템 '%s')"
-#: libsvn_fs_base/err.c:101
-#: libsvn_fs_fs/err.c:103
+#: libsvn_fs_base/err.c:101 libsvn_fs_fs/err.c:103
#, c-format
msgid "Reference to non-existent node '%s' in filesystem '%s'"
msgstr "존재하지 않는 노드 '%s'에 대한 참조, 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:111
-#: libsvn_fs_fs/err.c:113
+#: libsvn_fs_base/err.c:111 libsvn_fs_fs/err.c:113
#, c-format
msgid "Reference to non-existent revision %ld in filesystem '%s'"
msgstr "리비전 %ld 에 대한 파일 시스템 %s 내의 참조"
-#: libsvn_fs_base/err.c:122
-#: libsvn_fs_fs/err.c:124
+#: libsvn_fs_base/err.c:122 libsvn_fs_fs/err.c:124
#, c-format
msgid "Malformed ID as key in 'nodes' table of filesystem '%s'"
msgstr "잘못된 형식의 아이디가 파일시스템 '%s'의 노드 테이블의 키로 있습니다."
-#: libsvn_fs_base/err.c:132
-#: libsvn_fs_fs/err.c:134
+#: libsvn_fs_base/err.c:132 libsvn_fs_fs/err.c:134
#, c-format
msgid "Corrupt value for 'next-id' key in '%s' table of filesystem '%s'"
-msgstr "'next-id' 키에 대한 손상된 값이 '%s' 테이블에 있습니다. 파일시스템 '%s'"
+msgstr ""
+"'next-id' 키에 대한 손상된 값이 '%s' 테이블에 있습니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:144
-#: libsvn_fs_fs/err.c:146
+#: libsvn_fs_base/err.c:144 libsvn_fs_fs/err.c:146
#, c-format
msgid "Corrupt entry in 'transactions' table for '%s' in filesystem '%s'"
-msgstr "손상된 등록정보가 '%s'를 위한 'transactions' 테이블에 있습니다. 파일시스템 '%s'"
+msgstr ""
+"손상된 등록정보가 '%s'를 위한 'transactions' 테이블에 있습니다. 파일시스템 '%"
+"s'"
-#: libsvn_fs_base/err.c:155
-#: libsvn_fs_fs/err.c:157
+#: libsvn_fs_base/err.c:155 libsvn_fs_fs/err.c:157
#, c-format
msgid "Corrupt entry in 'copies' table for '%s' in filesystem '%s'"
-msgstr "손상된 등록정보가 '%s'를 위한 'copies' 테이블에 있습니다. 파일 시스템 '%s'"
+msgstr ""
+"손상된 등록정보가 '%s'를 위한 'copies' 테이블에 있습니다. 파일 시스템 '%s'"
-#: libsvn_fs_base/err.c:166
-#: libsvn_fs_fs/err.c:190
+#: libsvn_fs_base/err.c:166 libsvn_fs_fs/err.c:190
#, c-format
msgid "File is not mutable: filesystem '%s', revision %ld, path '%s'"
msgstr "파일은 변경될 수 없습니다: 파일시스템 '%s', 리비전 %ld, 경로 '%s'"
-#: libsvn_fs_base/err.c:177
-#: libsvn_fs_fs/err.c:201
+#: libsvn_fs_base/err.c:177 libsvn_fs_fs/err.c:201
#, c-format
msgid "Search for malformed path '%s' in filesystem '%s'"
msgstr "잘못된 경로 '%s'에 대한 (파일시스템 '%s') 검색을 시도하였습니다."
-#: libsvn_fs_base/err.c:188
-#: libsvn_fs_fs/err.c:212
+#: libsvn_fs_base/err.c:188 libsvn_fs_fs/err.c:212
#, c-format
msgid "No transaction named '%s' in filesystem '%s'"
msgstr "트랜잭션 이름이 '%s'로는 존재하지 않습니다. 파일 시스템 '%s'"
-#: libsvn_fs_base/err.c:199
-#: libsvn_fs_fs/err.c:223
+#: libsvn_fs_base/err.c:199 libsvn_fs_fs/err.c:223
#, c-format
msgid "Cannot modify transaction named '%s' in filesystem '%s'"
msgstr "'%s' 라는 트랜잭션은 수정될 수 없습니다. 파일 시스템 '%s'"
-#: libsvn_fs_base/err.c:210
-#: libsvn_fs_fs/err.c:234
+#: libsvn_fs_base/err.c:210 libsvn_fs_fs/err.c:234
#, c-format
msgid "No copy with id '%s' in filesystem '%s'"
msgstr "'%s'라는 아이디의 사본이 없습니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:220
-#: libsvn_fs_fs/err.c:266
+#: libsvn_fs_base/err.c:220 libsvn_fs_fs/err.c:266
#, c-format
msgid "'%s' is not a directory in filesystem '%s'"
msgstr "'%s'는 디렉토리가 아닙니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:231
-#: libsvn_fs_fs/err.c:288
+#: libsvn_fs_base/err.c:231 libsvn_fs_fs/err.c:288
#, c-format
msgid "'%s' is not a file in filesystem '%s'"
msgstr "'%s'는 파일이 아닙니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:242
-#: libsvn_fs_fs/err.c:277
+#: libsvn_fs_base/err.c:242 libsvn_fs_fs/err.c:277
#, c-format
msgid "Token '%s' does not point to any existing lock in filesystem '%s'"
msgstr "토큰 '%s'은/는 파일시스템 '%s'에 존재하지 않는 잠금을 가리킵니다."
@@ -3806,34 +3784,31 @@
#: libsvn_fs_base/err.c:261
#, c-format
msgid "Corrupt lock in 'locks' table for '%s' in filesystem '%s'"
-msgstr "'%s'를 위한 'locks' 테이블에 손상된 잠금이 존재합니다. 파일 시스템 '%s'"
+msgstr ""
+"'%s'를 위한 'locks' 테이블에 손상된 잠금이 존재합니다. 파일 시스템 '%s'"
-#: libsvn_fs_base/err.c:271
-#: libsvn_fs_fs/err.c:244
+#: libsvn_fs_base/err.c:271 libsvn_fs_fs/err.c:244
#, c-format
msgid "No lock on path '%s' in filesystem '%s'"
msgstr "'%s'에 잠금이 없습니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:282
-#: libsvn_fs_fs/err.c:179
+#: libsvn_fs_base/err.c:282 libsvn_fs_fs/err.c:179
#, c-format
msgid "Lock has expired: lock-token '%s' in filesystem '%s'"
msgstr "잠금이 만료되었습니다: 잠금 토큰 '%s'. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:293
-#: libsvn_fs_fs/err.c:255
+#: libsvn_fs_base/err.c:293 libsvn_fs_fs/err.c:255
#, c-format
msgid "No username is currently associated with filesystem '%s'"
msgstr "사용자가 파일시스템에 할당되어 있지 않습니다. '%s'"
-#: libsvn_fs_base/err.c:305
-#: libsvn_fs_fs/err.c:312
+#: libsvn_fs_base/err.c:305 libsvn_fs_fs/err.c:312
#, c-format
msgid "User '%s' is trying to use a lock owned by '%s' in filesystem '%s'"
-msgstr "사용자 '%s' 는 사용자 '%s'의 소유로된 잠금을 사용하려 합니다. 파일시스템 '%s'"
+msgstr ""
+"사용자 '%s' 는 사용자 '%s'의 소유로된 잠금을 사용하려 합니다. 파일시스템 '%s'"
-#: libsvn_fs_base/err.c:317
-#: libsvn_fs_fs/err.c:299
+#: libsvn_fs_base/err.c:317 libsvn_fs_fs/err.c:299
#, c-format
msgid "Path '%s' is already locked by user '%s' in filesystem '%s'"
msgstr "경로 '%s'는 사용자 '%s'가 이미 잠궜습니다. 파일시스템 '%s'"
@@ -3846,15 +3821,15 @@
#: libsvn_fs_base/fs.c:90
#, c-format
msgid "Bad database version: compiled with %d.%d.%d, running against %d.%d.%d"
-msgstr "잘못된 데이터베이스 버전: 컴파일당시 버전 %d.%d.%d, 실행되고 있는 버전 %d.%d.%d"
+msgstr ""
+"잘못된 데이터베이스 버전: 컴파일당시 버전 %d.%d.%d, 실행되고 있는 버전 %d.%d."
+"%d"
-#: libsvn_fs_base/fs.c:108
-#: libsvn_fs_fs/fs.c:57
+#: libsvn_fs_base/fs.c:108 libsvn_fs_fs/fs.c:57
msgid "Filesystem object already open"
msgstr "파일 시스템 객체는 이미 열려있습니다."
-#: libsvn_fs_base/fs.c:676
-#: libsvn_fs_fs/fs_fs.c:252
+#: libsvn_fs_base/fs.c:676 libsvn_fs_fs/fs_fs.c:252
#, c-format
msgid "Expected FS format '%d'; found format '%d'"
msgstr "예상되는 파일시스템 포맷 '%d', 발견된 포맷 '%d'"
@@ -3879,9 +3854,7 @@
msgid "Error writing file '%s'"
msgstr "'%s'에 대한 쓰기 오류"
-#: libsvn_fs_base/fs.c:1103
-#: libsvn_fs_base/fs.c:1107
-#: libsvn_subr/io.c:2210
+#: libsvn_fs_base/fs.c:1103 libsvn_fs_base/fs.c:1107 libsvn_subr/io.c:2210
#, c-format
msgid "Can't close file '%s'"
msgstr "파일 '%s'를 닫을 수 없습니다."
@@ -3919,23 +3892,22 @@
msgid "Unsupported FS loader version (%d) for bdb"
msgstr "BDB의 지원하지 않는 FS 로더 버전 (%d)"
-#: libsvn_fs_base/lock.c:449
-#: libsvn_fs_fs/lock.c:615
+#: libsvn_fs_base/lock.c:449 libsvn_fs_fs/lock.c:615
#, c-format
msgid "Cannot verify lock on path '%s'; no username available"
-msgstr "'%s' 경로에 대한 잠금을 확인할 수 없습니다; 사용자가 지정되지 않았습니다."
+msgstr ""
+"'%s' 경로에 대한 잠금을 확인할 수 없습니다; 사용자가 지정되지 않았습니다."
-#: libsvn_fs_base/lock.c:455
-#: libsvn_fs_fs/lock.c:621
+#: libsvn_fs_base/lock.c:455 libsvn_fs_fs/lock.c:621
#, c-format
msgid "User %s does not own lock on path '%s' (currently locked by %s)"
msgstr "사용자 %s 은/는 '%s'를 잠그지 않았습니다. (현재 %s에 의해 잠겼습니다)"
-#: libsvn_fs_base/lock.c:462
-#: libsvn_fs_fs/lock.c:628
+#: libsvn_fs_base/lock.c:462 libsvn_fs_fs/lock.c:628
#, c-format
msgid "Cannot verify lock on path '%s'; no matching lock-token available"
-msgstr "'%s' 경로에 대한 잠금을 확인할 수 없습니다; 잠금 토큰을 발견할 수 없습니다."
+msgstr ""
+"'%s' 경로에 대한 잠금을 확인할 수 없습니다; 잠금 토큰을 발견할 수 없습니다."
#: libsvn_fs_base/reps-strings.c:103
msgid "Representation is not of type 'delta'"
@@ -3956,8 +3928,7 @@
msgid "Failure reading rep '%s'"
msgstr "저장소 '%s' 읽기 실패"
-#: libsvn_fs_base/reps-strings.c:790
-#: libsvn_fs_base/reps-strings.c:876
+#: libsvn_fs_base/reps-strings.c:790 libsvn_fs_base/reps-strings.c:876
#, c-format
msgid ""
"Checksum mismatch on rep '%s':\n"
@@ -3972,8 +3943,7 @@
msgid "Null rep, but offset past zero already"
msgstr "비어있는 rep입니다만, 내용이 있는 것처럼 접근합니다."
-#: libsvn_fs_base/reps-strings.c:1003
-#: libsvn_fs_base/reps-strings.c:1199
+#: libsvn_fs_base/reps-strings.c:1003 libsvn_fs_base/reps-strings.c:1199
#, c-format
msgid "Rep '%s' is not mutable"
msgstr "표현식 '%s'는 변경 불가능합니다."
@@ -3997,14 +3967,12 @@
msgid "Failed to calculate MD5 digest for '%s'"
msgstr "'%s'에 대한 MD5 값을 계산하는데 실패하였습니다."
-#: libsvn_fs_base/revs-txns.c:65
-#: libsvn_fs_fs/revs-txns.c:58
+#: libsvn_fs_base/revs-txns.c:65 libsvn_fs_fs/revs-txns.c:58
#, c-format
msgid "Transaction is not dead: '%s'"
msgstr "트랜잭션 종료되지 않음: '%s'"
-#: libsvn_fs_base/revs-txns.c:68
-#: libsvn_fs_fs/revs-txns.c:61
+#: libsvn_fs_base/revs-txns.c:68 libsvn_fs_fs/revs-txns.c:61
#, c-format
msgid "Transaction is dead: '%s'"
msgstr "트랜잭션 종료됨: '%s'"
@@ -4013,43 +3981,36 @@
msgid "Transaction aborted, but cleanup failed"
msgstr "트랜잭션이 취소되었으나 'cleanup'도 실패하였습니다."
-#: libsvn_fs_base/tree.c:391
-#: libsvn_fs_fs/tree.c:311
+#: libsvn_fs_base/tree.c:391 libsvn_fs_fs/tree.c:311
#, c-format
msgid "File not found: transaction '%s', path '%s'"
msgstr "파일 발견되지 않음: 트랜잭션 '%s', 경로 '%s'"
-#: libsvn_fs_base/tree.c:397
-#: libsvn_fs_fs/tree.c:317
+#: libsvn_fs_base/tree.c:397 libsvn_fs_fs/tree.c:317
#, c-format
msgid "File not found: revision %ld, path '%s'"
msgstr "파일 발견되지 않음: 리비전 %ld, 경로 '%s'"
-#: libsvn_fs_base/tree.c:412
-#: libsvn_fs_fs/tree.c:332
+#: libsvn_fs_base/tree.c:412 libsvn_fs_fs/tree.c:332
#, c-format
msgid "File already exists: filesystem '%s', transaction '%s', path '%s'"
msgstr "파일이 이미 존재함: 파일시스템 '%s', 트랜잭션 '%s', 경로 '%s'"
-#: libsvn_fs_base/tree.c:418
-#: libsvn_fs_fs/tree.c:338
+#: libsvn_fs_base/tree.c:418 libsvn_fs_fs/tree.c:338
#, c-format
msgid "File already exists: filesystem '%s', revision %ld, path '%s'"
msgstr "파일이 이미 존재함: 파일시스템 '%s', 리비전 %ld, 경로 '%s'"
-#: libsvn_fs_base/tree.c:428
-#: libsvn_fs_fs/tree.c:348
+#: libsvn_fs_base/tree.c:428 libsvn_fs_fs/tree.c:348
msgid "Root object must be a transaction root"
msgstr "루트 개체가 트랜잭션의 루트이어야 합니다."
-#: libsvn_fs_base/tree.c:837
-#: libsvn_fs_fs/tree.c:757
+#: libsvn_fs_base/tree.c:837 libsvn_fs_fs/tree.c:757
#, c-format
msgid "Failure opening '%s'"
msgstr "열 수 없습니다. '%s'"
-#: libsvn_fs_base/tree.c:1407
-#: libsvn_fs_fs/tree.c:1155
+#: libsvn_fs_base/tree.c:1407 libsvn_fs_fs/tree.c:1155
msgid "Cannot compare property value between two different filesystems"
msgstr "서로 다른 두개의 파일 시스템간 속성은 비교할 수 없습니다."
@@ -4057,56 +4018,44 @@
msgid "Corrupt DB: faulty predecessor count"
msgstr "손상된 DB: 잘못된 predecessor count"
-#: libsvn_fs_base/tree.c:1817
-#: libsvn_fs_base/tree.c:2206
-#: libsvn_fs_base/tree.c:2301
-#: libsvn_fs_base/tree.c:2397
-#: libsvn_fs_fs/tree.c:1192
+#: libsvn_fs_base/tree.c:1796 libsvn_fs_fs/tree.c:1192
#, c-format
msgid "Unexpected immutable node at '%s'"
msgstr "경로 '%s'에 기대하지 못한 변경 불가능한 노드를 발견하였습니다."
-#: libsvn_fs_base/tree.c:1868
-#, c-format
-msgid "No deletion changes for path '%s' in transaction '%s' of filesystem '%s'"
-msgstr "어떤 삭제도 변경되지 않았습니다. (경로 '%s', 트랜잭션 '%s', 파일 시스템 '%s')"
-
-#: libsvn_fs_base/tree.c:1887
-#: libsvn_fs_fs/tree.c:1215
+#: libsvn_fs_base/tree.c:1817 libsvn_fs_fs/tree.c:1215
#, c-format
msgid "Conflict at '%s'"
msgstr "충돌 발생: '%s'"
-#: libsvn_fs_base/tree.c:1936
-#: libsvn_fs_base/tree.c:2847
-#: libsvn_fs_fs/tree.c:1264
-#: libsvn_fs_fs/tree.c:1753
+#: libsvn_fs_base/tree.c:1867 libsvn_fs_base/tree.c:2570
+#: libsvn_fs_fs/tree.c:1264 libsvn_fs_fs/tree.c:1753
msgid "Bad merge; ancestor, source, and target not all in same fs"
-msgstr "병합 실패; diff 원본, 대상 그리고 차이를 반영할 대상이 모두 같은 파일시스템이어야 합니다."
+msgstr ""
+"병합 실패; diff 원본, 대상 그리고 차이를 반영할 대상이 모두 같은 파일시스템이"
+"어야 합니다."
-#: libsvn_fs_base/tree.c:1952
-#: libsvn_fs_fs/tree.c:1280
+#: libsvn_fs_base/tree.c:1883 libsvn_fs_fs/tree.c:1280
#, c-format
msgid "Bad merge; target '%s' has id '%s', same as ancestor"
-msgstr "병합 실패; 차이를 반영할 대상 '%s'은 '%s' id를 가지고 있으며, 이는 diff 원본과 같습니다."
+msgstr ""
+"병합 실패; 차이를 반영할 대상 '%s'은 '%s' id를 가지고 있으며, 이는 diff 원본"
+"과 같습니다."
-#: libsvn_fs_base/tree.c:2654
+#: libsvn_fs_base/tree.c:2377
#, c-format
msgid "Transaction '%s' out of date with respect to revision '%s'"
msgstr "트랜잭션 '%s' 는 리비전 '%s'의 관점에서 만료기간이 지났습니다."
-#: libsvn_fs_base/tree.c:3030
-#: libsvn_fs_fs/tree.c:1892
+#: libsvn_fs_base/tree.c:2753 libsvn_fs_fs/tree.c:1892
msgid "The root directory cannot be deleted"
msgstr "루트 디렉토리는 제거될 수 없습니다."
-#: libsvn_fs_base/tree.c:3189
-#: libsvn_fs_fs/tree.c:1939
+#: libsvn_fs_base/tree.c:2912 libsvn_fs_fs/tree.c:1939
msgid "Copy from mutable tree not currently supported"
msgstr "뮤터블 트리에서의 복사는 지원하지 않습니다."
-#: libsvn_fs_base/tree.c:3684
-#: libsvn_fs_fs/tree.c:2363
+#: libsvn_fs_base/tree.c:3407 libsvn_fs_fs/tree.c:2363
#, c-format
msgid ""
"Base checksum mismatch on '%s':\n"
@@ -4117,15 +4066,12 @@
" 기대값 : %s\n"
" 실제값 : %s\n"
-#: libsvn_fs_base/tree.c:3937
-#: libsvn_fs_fs/tree.c:2599
+#: libsvn_fs_base/tree.c:3660 libsvn_fs_fs/tree.c:2599
msgid "Cannot compare file contents between two different filesystems"
msgstr "서로 다른 두개의 파일 시스템간의 파일 내용은 비교할 수 없습니다"
-#: libsvn_fs_base/tree.c:3946
-#: libsvn_fs_base/tree.c:3951
-#: libsvn_fs_fs/tree.c:2608
-#: libsvn_fs_fs/tree.c:2613
+#: libsvn_fs_base/tree.c:3669 libsvn_fs_base/tree.c:3674
+#: libsvn_fs_fs/tree.c:2608 libsvn_fs_fs/tree.c:2613
#: libsvn_repos/rev_hunt.c:540
#, c-format
msgid "'%s' is not a file"
@@ -4182,17 +4128,12 @@
msgid "Unsupported FS loader version (%d) for fsfs"
msgstr "fsfs에 대한 지원하지 않는 파일시스템 로더 버전(%d)입니다."
-#: libsvn_fs_fs/fs_fs.c:455
-#: libsvn_fs_fs/fs_fs.c:469
+#: libsvn_fs_fs/fs_fs.c:455 libsvn_fs_fs/fs_fs.c:469
msgid "Found malformed header in revision file"
msgstr "리비전 파일내에 잘못된 형식의 헤더가 있습니다."
-#: libsvn_fs_fs/fs_fs.c:571
-#: libsvn_fs_fs/fs_fs.c:585
-#: libsvn_fs_fs/fs_fs.c:592
-#: libsvn_fs_fs/fs_fs.c:599
-#: libsvn_fs_fs/fs_fs.c:607
-#: libsvn_fs_fs/fs_fs.c:615
+#: libsvn_fs_fs/fs_fs.c:571 libsvn_fs_fs/fs_fs.c:585 libsvn_fs_fs/fs_fs.c:592
+#: libsvn_fs_fs/fs_fs.c:599 libsvn_fs_fs/fs_fs.c:607 libsvn_fs_fs/fs_fs.c:615
msgid "Malformed text rep offset line in node-rev"
msgstr "node-rev 에 잘못된 텍스트 rep 옵셋 라인"
@@ -4204,18 +4145,15 @@
msgid "Missing cpath in node-rev"
msgstr "node-rev 내에 cpath가 없습니다"
-#: libsvn_fs_fs/fs_fs.c:742
-#: libsvn_fs_fs/fs_fs.c:748
+#: libsvn_fs_fs/fs_fs.c:742 libsvn_fs_fs/fs_fs.c:748
msgid "Malformed copyroot line in node-rev"
msgstr "node-rev 내에 copyroot 형식이 잘못되었습니다."
-#: libsvn_fs_fs/fs_fs.c:766
-#: libsvn_fs_fs/fs_fs.c:772
+#: libsvn_fs_fs/fs_fs.c:766 libsvn_fs_fs/fs_fs.c:772
msgid "Malformed copyfrom line in node-rev"
msgstr "node-rev 내에 copyfrom 행에 오류가 있습니다."
-#: libsvn_fs_fs/fs_fs.c:871
-#: libsvn_fs_fs/fs_fs.c:3162
+#: libsvn_fs_fs/fs_fs.c:871 libsvn_fs_fs/fs_fs.c:3162
msgid "Attempted to write to non-transaction"
msgstr "트랜잭션이 아닌 것에 쓰기 시도를 하였습니다."
@@ -4243,15 +4181,12 @@
msgid "Final line in revision file missing space"
msgstr "리비전 파일의 마지막 행에 스페이스가 없습니다."
-#: libsvn_fs_fs/fs_fs.c:1085
-#: libsvn_fs_fs/fs_fs.c:3571
+#: libsvn_fs_fs/fs_fs.c:1085 libsvn_fs_fs/fs_fs.c:3571
#, c-format
msgid "Can't chmod '%s'"
msgstr "chmod '%s' 할 수 없음"
-#: libsvn_fs_fs/fs_fs.c:1143
-#: libsvn_fs_fs/fs_fs.c:1200
-#: libsvn_repos/log.c:480
+#: libsvn_fs_fs/fs_fs.c:1143 libsvn_fs_fs/fs_fs.c:1200 libsvn_repos/log.c:480
#: libsvn_repos/log.c:484
#, c-format
msgid "No such revision %ld"
@@ -4261,8 +4196,7 @@
msgid "Malformed svndiff data in representation"
msgstr "보여질 내용에 잘못된 svndiff 데이터가 있습니다."
-#: libsvn_fs_fs/fs_fs.c:1386
-#: libsvn_fs_fs/fs_fs.c:1399
+#: libsvn_fs_fs/fs_fs.c:1386 libsvn_fs_fs/fs_fs.c:1399
#: libsvn_fs_fs/fs_fs.c:1430
msgid "Reading one svndiff window read beyond the end of the representation"
msgstr "표시될 내용의 끝부분을 넘어 읽은 svndiff 창을 읽고 있습니다."
@@ -4275,8 +4209,7 @@
msgid "svndiff requested position beyond end of stream"
msgstr "스트림의 마지막을 지난 위치에 대한 svndiff 요청을 받았습니다."
-#: libsvn_fs_fs/fs_fs.c:1572
-#: libsvn_fs_fs/fs_fs.c:1589
+#: libsvn_fs_fs/fs_fs.c:1572 libsvn_fs_fs/fs_fs.c:1589
msgid "svndiff window length is corrupt"
msgstr "svndiff 창 길이가 손상되었습니다."
@@ -4291,18 +4224,14 @@
" 기대값: %s\n"
" 실제값: %s\n"
-#: libsvn_fs_fs/fs_fs.c:1773
-#: libsvn_fs_fs/fs_fs.c:1786
+#: libsvn_fs_fs/fs_fs.c:1773 libsvn_fs_fs/fs_fs.c:1786
#: libsvn_fs_fs/fs_fs.c:1792
msgid "Directory entry corrupt"
msgstr "디렉토리 등록정보가 손상되었습니다."
-#: libsvn_fs_fs/fs_fs.c:2128
-#: libsvn_fs_fs/fs_fs.c:2136
-#: libsvn_fs_fs/fs_fs.c:2168
-#: libsvn_fs_fs/fs_fs.c:2188
-#: libsvn_fs_fs/fs_fs.c:2222
-#: libsvn_fs_fs/fs_fs.c:2227
+#: libsvn_fs_fs/fs_fs.c:2128 libsvn_fs_fs/fs_fs.c:2136
+#: libsvn_fs_fs/fs_fs.c:2168 libsvn_fs_fs/fs_fs.c:2188
+#: libsvn_fs_fs/fs_fs.c:2222 libsvn_fs_fs/fs_fs.c:2227
msgid "Invalid changes line in rev-file"
msgstr "rev-file 안에 변경된 줄 수 잘못됨"
@@ -4327,8 +4256,7 @@
msgid "Unable to create transaction directory in '%s' for revision %ld"
msgstr "'%s'에 트랜잭션 디렉토리를 만들 수 없습니다. 리비전 %ld."
-#: libsvn_fs_fs/fs_fs.c:2629
-#: libsvn_fs_fs/fs_fs.c:2636
+#: libsvn_fs_fs/fs_fs.c:2629 libsvn_fs_fs/fs_fs.c:2636
msgid "next-id file corrupt"
msgstr "next-id 파일 손상됨"
@@ -4340,8 +4268,7 @@
msgid "Can't set text contents of a directory"
msgstr "디렉토리의 텍스트 내용을 설정할 수 없음"
-#: libsvn_fs_fs/fs_fs.c:3271
-#: libsvn_fs_fs/fs_fs.c:3276
+#: libsvn_fs_fs/fs_fs.c:3271 libsvn_fs_fs/fs_fs.c:3276
#: libsvn_fs_fs/fs_fs.c:3283
msgid "Corrupt current file"
msgstr "현재파일 손상됨"
@@ -4372,8 +4299,7 @@
msgid "Can't parse lock/entries hashfile '%s'"
msgstr "잠금/엔트리의 해시 파일 '%s'을 분석 할 수 없습니다."
-#: libsvn_fs_fs/lock.c:715
-#: libsvn_fs_fs/lock.c:736
+#: libsvn_fs_fs/lock.c:715 libsvn_fs_fs/lock.c:736
#, c-format
msgid "Path '%s' doesn't exist in HEAD revision"
msgstr "경로 '%s'는 HEAD 리비전에 존재하지 않습니다."
@@ -4390,7 +4316,8 @@
#: libsvn_ra/ra_loader.c:212
#, c-format
msgid "Mismatched RA version for '%s': found %d.%d.%d%s, expected %d.%d.%d%s"
-msgstr "RA 플러그인 버전이 다릅니다. '%s': 발견된 것 %d.%d.%d%s, 예상한 것 %d.%d.%d%s"
+msgstr ""
+"RA 플러그인 버전이 다릅니다. '%s': 발견된 것 %d.%d.%d%s, 예상한 것 %d.%d.%d%s"
#: libsvn_ra/ra_loader.c:268
#, c-format
@@ -4413,8 +4340,12 @@
msgstr "요청을 할 수 없습니다 (%s '%s')"
#: libsvn_ra_dav/commit.c:292
-msgid "Could not fetch the Version Resource URL (needed during an import or when it is missing from the local, cached props)"
-msgstr "리소스의 URL을 얻을 수 없습니다. (이 값은 임포트에 사용되었고,작업사본에 없을 경우 캐시된 속성에서 얻습니다.)"
+msgid ""
+"Could not fetch the Version Resource URL (needed during an import or when it "
+"is missing from the local, cached props)"
+msgstr ""
+"리소스의 URL을 얻을 수 없습니다. (이 값은 임포트에 사용되었고,작업사본에 없"
+"을 경우 캐시된 속성에서 얻습니다.)"
#: libsvn_ra_dav/commit.c:485
#, c-format
@@ -4471,8 +4402,7 @@
msgid "Could not save file"
msgstr "파일을 저장할 수 없습니다."
-#: libsvn_ra_dav/fetch.c:898
-#: libsvn_ra_svn/client.c:912
+#: libsvn_ra_dav/fetch.c:898 libsvn_ra_svn/client.c:912
#, c-format
msgid ""
"Checksum mismatch for '%s':\n"
@@ -4495,21 +4425,23 @@
msgid "'get-locations' REPORT not implemented"
msgstr "get-locations REPORT 는 구현되지 않았습니다."
-#: libsvn_ra_dav/fetch.c:1482
-#: libsvn_ra_dav/session.c:1129
+#: libsvn_ra_dav/fetch.c:1482 libsvn_ra_dav/session.c:1129
#: libsvn_ra_dav/session.c:1415
msgid "Incomplete lock data returned"
msgstr "불완전한 잠금 데이터를 돌려 받았습니다."
-#: libsvn_ra_dav/fetch.c:1651
-#: libsvn_ra_dav/fetch.c:1659
+#: libsvn_ra_dav/fetch.c:1651 libsvn_ra_dav/fetch.c:1659
#: libsvn_ra_dav/fetch.c:1663
msgid "Server does not support locking features"
msgstr "서버가 잠금 기능을 지원하지 않습니다."
#: libsvn_ra_dav/fetch.c:1740
-msgid "DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent"
-msgstr "DAV 요청 실패: pre-revprop-change 훅이 실패하였거나 존재하지 않을 수 있습니다."
+msgid ""
+"DAV request failed; it's possible that the repository's pre-revprop-change "
+"hook either failed or is non-existent"
+msgstr ""
+"DAV 요청 실패: pre-revprop-change 훅이 실패하였거나 존재하지 않을 수 있습니"
+"다."
#: libsvn_ra_dav/fetch.c:2474
#, c-format
@@ -4535,18 +4467,30 @@
#: libsvn_ra_dav/merge.c:217
#, c-format
-msgid "Protocol error: we told the server not to auto-merge any resources, but it said that '%s' was merged"
-msgstr "프로토콜 오류: 서버에게 자동 병합을 하지 말도록 지시하였으나 서버에서 '%s'의 병합이 이루어졌다는 응답을 받았습니다."
+msgid ""
+"Protocol error: we told the server not to auto-merge any resources, but it "
+"said that '%s' was merged"
+msgstr ""
+"프로토콜 오류: 서버에게 자동 병합을 하지 말도록 지시하였으나 서버에서 '%s'의 "
+"병합이 이루어졌다는 응답을 받았습니다."
#: libsvn_ra_dav/merge.c:226
#, c-format
-msgid "Internal error: there is an unknown parent (%d) for the 'DAV:response' element within the MERGE response"
-msgstr "내부 오류: MERGE 응답안에 DAV:response 개체에 대한 알 수 없는 상위개체(%d)가 있습니다."
+msgid ""
+"Internal error: there is an unknown parent (%d) for the 'DAV:response' "
+"element within the MERGE response"
+msgstr ""
+"내부 오류: MERGE 응답안에 DAV:response 개체에 대한 알 수 없는 상위개체(%d)가 "
+"있습니다."
#: libsvn_ra_dav/merge.c:241
#, c-format
-msgid "Protocol error: the MERGE response for the '%s' resource did not return all of the properties that we asked for (and need to complete the commit)"
-msgstr "프로토콜 오류: '%s' 에 대한 MERGE 응답이 요청한 모든 속성정보를 포함하고 있지 않습니다. (그리고, 커밋을 완료해야할 필요가 있습니다.)"
+msgid ""
+"Protocol error: the MERGE response for the '%s' resource did not return all "
+"of the properties that we asked for (and need to complete the commit)"
+msgstr ""
+"프로토콜 오류: '%s' 에 대한 MERGE 응답이 요청한 모든 속성정보를 포함하고 있"
+"지 않습니다. (그리고, 커밋을 완료해야할 필요가 있습니다.)"
#: libsvn_ra_dav/merge.c:260
#, c-format
@@ -4558,8 +4502,12 @@
msgstr "MERGE 속성 응답이 오류 상태를 포함하고 있습니다."
#: libsvn_ra_dav/options.c:130
-msgid "The OPTIONS response did not include the requested activity-collection-set; this often means that the URL is not WebDAV-enabled"
-msgstr "OPTIONS 응답이 요청한 activity-collection-set 에 대한 것을 포함하고 있지 않습니다. 대개 URL이 WebDAV 가 활성화되지 않은 경우 발생합니다."
+msgid ""
+"The OPTIONS response did not include the requested activity-collection-set; "
+"this often means that the URL is not WebDAV-enabled"
+msgstr ""
+"OPTIONS 응답이 요청한 activity-collection-set 에 대한 것을 포함하고 있지 않습"
+"니다. 대개 URL이 WebDAV 가 활성화되지 않은 경우 발생합니다."
#: libsvn_ra_dav/props.c:585
#, c-format
@@ -4585,8 +4533,7 @@
msgid "No part of path '%s' was found in repository HEAD"
msgstr "'%s'의 경로가 저장소의 HEAD 에서 발견되지 않았습니다."
-#: libsvn_ra_dav/props.c:727
-#: libsvn_ra_dav/props.c:782
+#: libsvn_ra_dav/props.c:727 libsvn_ra_dav/props.c:782
msgid "The VCC property was not found on the resource"
msgstr "VCC 속성이 리소스내에서 발견되지 않았습니다."
@@ -4596,7 +4543,8 @@
#: libsvn_ra_dav/props.c:916
msgid "'DAV:baseline-collection' was not present on the baseline resource"
-msgstr "'DAV:baseline-collection' 은 꺼내온(baseline) 리소스에 존재하지 않습니다."
+msgstr ""
+"'DAV:baseline-collection' 은 꺼내온(baseline) 리소스에 존재하지 않습니다."
#: libsvn_ra_dav/props.c:935
msgid "'DAV:version-name' was not present on the baseline resource"
@@ -4604,7 +4552,8 @@
#: libsvn_ra_dav/props.c:1103
msgid "At least one property change failed; repository is unchanged"
-msgstr "적어도 하나의 속성이 변경에 실패하였습니다.: 저장소는 변경되지 않습니다."
+msgstr ""
+"적어도 하나의 속성이 변경에 실패하였습니다.: 저장소는 변경되지 않습니다."
#: libsvn_ra_dav/session.c:442
msgid "Invalid URL: illegal character in proxy port number"
@@ -4615,8 +4564,10 @@
msgstr "잘못된 URL: 포트 번호가 음수입니다."
#: libsvn_ra_dav/session.c:449
-msgid "Invalid URL: proxy port number greater than maximum TCP port number 65535"
-msgstr "잘못된 URL: 프록시 포트 번호가 TCP 포트번호의 최대값인 65536를 넘어섭니다."
+msgid ""
+"Invalid URL: proxy port number greater than maximum TCP port number 65535"
+msgstr ""
+"잘못된 URL: 프록시 포트 번호가 TCP 포트번호의 최대값인 65536를 넘어섭니다."
#: libsvn_ra_dav/session.c:463
msgid "Invalid config: illegal character in timeout value"
@@ -4659,8 +4610,7 @@
msgid "Please upgrade the server to 0.19 or later"
msgstr "서버를 0.19 버전 이상으로 업그레이드 하세요."
-#: libsvn_ra_dav/session.c:1101
-#: libsvn_ra_dav/session.c:1238
+#: libsvn_ra_dav/session.c:1101 libsvn_ra_dav/session.c:1238
msgid "Failed to parse URI"
msgstr "URI를 분석하는데 실패하였습니다."
@@ -4713,8 +4663,8 @@
msgstr "'%s': 경로가 존재하지 않습니다."
#. We either have a neon error, or some other error
-#: libsvn_ra_dav/util.c:778
-#: libsvn_ra_dav/util.c:1008
+#. that we didn't expect.
+#: libsvn_ra_dav/util.c:778 libsvn_ra_dav/util.c:1008
#, c-format
msgid "%s of '%s'"
msgstr "%s of '%s'"
@@ -4734,8 +4684,7 @@
msgid "%s request failed on '%s'"
msgstr "%s 요청이 '%s'에 대해 실패하였습니다."
-#: libsvn_ra_local/ra_plugin.c:103
-#: libsvn_ra_local/ra_plugin.c:576
+#: libsvn_ra_local/ra_plugin.c:103 libsvn_ra_local/ra_plugin.c:576
#, c-format
msgid ""
"'%s'\n"
@@ -4747,6 +4696,7 @@
"'%s'"
#. ----------------------------------------------------------------
+#. * The RA vtable routines *
#: libsvn_ra_local/ra_plugin.c:245
msgid "Module for accessing a repository on local disk."
msgstr "로컬 디스크에 있는 저장소를 접근하기 위한 모듈"
@@ -4775,8 +4725,7 @@
msgid "Local URL '%s' contains unsupported hostname"
msgstr "로컬 URL '%s' 에 지원하지 않는 호스트이름이 있습니다."
-#: libsvn_ra_local/split_url.c:128
-#: libsvn_ra_local/split_url.c:135
+#: libsvn_ra_local/split_url.c:128 libsvn_ra_local/split_url.c:135
#, c-format
msgid "Unable to open repository '%s'"
msgstr "저장소 '%s' 을/를 열 수 없습니다."
@@ -4808,14 +4757,12 @@
msgid "Unrecognized node kind '%s' from server"
msgstr "서버로부터 확인 불가능한 노드 종류 '%s'"
-#: libsvn_ra_svn/client.c:269
-#: libsvn_ra_svn/client.c:323
+#: libsvn_ra_svn/client.c:269 libsvn_ra_svn/client.c:323
#, c-format
msgid "Authentication error from server: %s"
msgstr "서버 인증 오류 : %s"
-#: libsvn_ra_svn/client.c:272
-#: libsvn_ra_svn/cram.c:194
+#: libsvn_ra_svn/client.c:272 libsvn_ra_svn/cram.c:194
#: libsvn_ra_svn/cram.c:212
msgid "Unexpected server response to authentication"
msgstr "인증시도중 예상치 못한 서버 응답"
@@ -4906,8 +4853,7 @@
msgid "Revision entry not a list"
msgstr "리비전 엔트리가 리스트 구조체가 아닙니다."
-#: libsvn_ra_svn/client.c:1353
-#: libsvn_ra_svn/client.c:1378
+#: libsvn_ra_svn/client.c:1353 libsvn_ra_svn/client.c:1378
msgid "Text delta chunk not a string"
msgstr "문서의 차이 조각(text delta chunk)이 문자열이 아닙니다."
@@ -4923,8 +4869,7 @@
msgid "Server doesn't support the unlock command"
msgstr "서버가 unlock 명령을 지원하지 않습니다."
-#: libsvn_ra_svn/client.c:1602
-#: libsvn_ra_svn/client.c:1755
+#: libsvn_ra_svn/client.c:1602 libsvn_ra_svn/client.c:1755
msgid "Lock element not a list"
msgstr "리스트가 아닌 개체를 잠급니다"
@@ -4932,8 +4877,7 @@
msgid "Unable to parse lock data"
msgstr "잠금 데이타를 분석할 수 없습니다"
-#: libsvn_ra_svn/client.c:1714
-#: libsvn_ra_svn/client.c:1742
+#: libsvn_ra_svn/client.c:1714 libsvn_ra_svn/client.c:1742
msgid "Server doesn't support the get-lock command"
msgstr "서버가 get-lock 명령을 지원하지 않습니다."
@@ -4942,8 +4886,7 @@
msgid "Unsupported RA loader version (%d) for ra_svn"
msgstr "ra_svn에 대한 지원하지 않는 RA 로더 버전(%d)입니다."
-#: libsvn_ra_svn/editor.c:383
-#: libsvn_ra_svn/editorp.c:418
+#: libsvn_ra_svn/editor.c:383 libsvn_ra_svn/editorp.c:418
msgid "Invalid file or dir token during edit"
msgstr "편집 명령안에 잘못된 파일, 디렉토리 토큰이 있습니다."
@@ -4959,13 +4902,11 @@
msgid "Apply-textdelta already active"
msgstr "Apply-textdelta 는 이미 활성화 되어있습니다."
-#: libsvn_ra_svn/editorp.c:631
-#: libsvn_ra_svn/editorp.c:649
+#: libsvn_ra_svn/editorp.c:631 libsvn_ra_svn/editorp.c:649
msgid "Apply-textdelta not active"
msgstr "Apply-textdelta 는 활성화 상태가 아닙니다."
-#: libsvn_ra_svn/editorp.c:797
-#: libsvn_ra_svn/marshal.c:833
+#: libsvn_ra_svn/editorp.c:797 libsvn_ra_svn/marshal.c:833
#, c-format
msgid "Unknown command '%s'"
msgstr "알 수 없는 명령 '%s'"
@@ -5011,29 +4952,27 @@
msgid "Unknown status '%s' in command response"
msgstr "명령의 응답안에 알 수 없는 상태 값 '%s'"
-#: libsvn_repos/commit.c:121
+#: libsvn_repos/commit.c:128
#, c-format
msgid "Out of date: '%s' in transaction '%s'"
msgstr "시간이 오래되었습니다.: '%s' (트랜잭션 '%s')"
-#: libsvn_repos/commit.c:248
-#: libsvn_repos/commit.c:382
+#: libsvn_repos/commit.c:295 libsvn_repos/commit.c:460
#, c-format
msgid "Got source path but no source revision for '%s'"
msgstr "소스 경로는 얻었으나 리비전을 얻을 수 없습니다. '%s'"
-#: libsvn_repos/commit.c:272
-#: libsvn_repos/commit.c:406
+#: libsvn_repos/commit.c:327 libsvn_repos/commit.c:491
#, c-format
msgid "Source url '%s' is from different repository"
msgstr "원본 URL '%s'은(는) 외부 저장소와 연결되어 있습니다."
-#: libsvn_repos/commit.c:328
+#: libsvn_repos/commit.c:400
#, c-format
msgid "Path '%s' not present"
msgstr "경로 '%s'는 존재하지 않습니다."
-#: libsvn_repos/commit.c:512
+#: libsvn_repos/commit.c:616
#, c-format
msgid ""
"Checksum mismatch for resulting fulltext\n"
@@ -5055,8 +4994,12 @@
msgstr "대상 경로가 잘못되었습니다."
#: libsvn_repos/delta.c:257
-msgid "Invalid editor anchoring; at least one of the input paths is not a directory and there was no source entry"
-msgstr "잘못된 편집 오류; 적어도 하나의 경로가 디렉토리가 아니거나 소스가 존재하지않습니다."
+msgid ""
+"Invalid editor anchoring; at least one of the input paths is not a directory "
+"and there was no source entry"
+msgstr ""
+"잘못된 편집 오류; 적어도 하나의 경로가 디렉토리가 아니거나 소스가 존재하지않"
+"습니다."
#: libsvn_repos/dump.c:416
#, c-format
@@ -5066,7 +5009,8 @@
"WARNING: will fail.\n"
msgstr ""
"경고: 리비전 %ld 안에 있는 데이터를 참조하는 중입니다. 이것은 덤프된 버전\n"
-"경고: (%ld)보다 더 오래된 것입니다. 이 덤프를 비어 있는 저장소안에 적재하는 것은\n"
+"경고: (%ld)보다 더 오래된 것입니다. 이 덤프를 비어 있는 저장소안에 적재하는 "
+"것은\n"
"경고: 실패할 것입니다.\n"
#: libsvn_repos/dump.c:934
@@ -5089,15 +5033,18 @@
msgid "* Verified revision %ld.\n"
msgstr "* 검토된 리비전 %ld.\n"
-#: libsvn_repos/fs-wrap.c:57
-#: libsvn_repos/load.c:1218
+#: libsvn_repos/fs-wrap.c:57 libsvn_repos/load.c:1218
msgid "Commit succeeded, but post-commit hook failed"
msgstr "커밋은 성공하였습니다만 post-commit 훅이 실패하였습니다."
#: libsvn_repos/fs-wrap.c:157
#, c-format
-msgid "Storage of non-regular property '%s' is disallowed through the repository interface, and could indicate a bug in your client"
-msgstr "정상적인 속성 '%s'에 대한 저장공간이 저장소 인터페이스를 통해 접근할 수 없습니다.이는 클라이언트 버그일 수 있습니다."
+msgid ""
+"Storage of non-regular property '%s' is disallowed through the repository "
+"interface, and could indicate a bug in your client"
+msgstr ""
+"정상적인 속성 '%s'에 대한 저장공간이 저장소 인터페이스를 통해 접근할 수 없습"
+"니다.이는 클라이언트 버그일 수 있습니다."
#: libsvn_repos/fs-wrap.c:296
#, c-format
@@ -5167,8 +5114,7 @@
"저장소가 리비전 속성을 바꿀 수 있지 못하도록 설정되었습니다.\n"
"pre-revprop-change 훅을 생성해달라고 관리자에게 문의 하십시오"
-#: libsvn_repos/load.c:157
-#: libsvn_repos/load.c:169
+#: libsvn_repos/load.c:157 libsvn_repos/load.c:169
msgid "Found malformed header block in dumpfile stream"
msgstr "덤프 파일 스트림에 잘못된 형식의 헤더가 있습니다."
@@ -5192,8 +5138,7 @@
msgid "Malformed dumpfile header"
msgstr "잘못된 덤프 파일 헤더"
-#: libsvn_repos/load.c:460
-#: libsvn_repos/load.c:502
+#: libsvn_repos/load.c:460 libsvn_repos/load.c:502
#, c-format
msgid "Unsupported dumpfile version: %d"
msgstr "지원되지 않는 덤프파일 버전: %d"
@@ -5218,7 +5163,9 @@
#: libsvn_repos/load.c:985
msgid "Malformed dumpstream: Revision 0 must not contain node records"
-msgstr "포맷오류가 있는 덤프 스트림: 0번 리비전이 노드 레코드를 포함하고 있지 않아야합니다"
+msgstr ""
+"포맷오류가 있는 덤프 스트림: 0번 리비전이 노드 레코드를 포함하고 있지 않아야"
+"합니다"
#: libsvn_repos/load.c:995
#, c-format
@@ -5445,8 +5392,7 @@
msgid "Can't manipulate current date"
msgstr "현재 날짜를 조작할 수 없습니다."
-#: libsvn_subr/date.c:278
-#: libsvn_subr/date.c:286
+#: libsvn_subr/date.c:278 libsvn_subr/date.c:286
msgid "Can't calculate requested date"
msgstr "요청 시간을 계산할 수 없습니다."
@@ -5468,21 +5414,17 @@
msgid "Can't check path '%s'"
msgstr "경로를 확인할 수 없습니다. '%s'"
-#: libsvn_subr/io.c:248
-#: libsvn_subr/io.c:337
+#: libsvn_subr/io.c:248 libsvn_subr/io.c:337
#, c-format
msgid "Can't open '%s'"
msgstr "열 수 없습니다. '%s'"
-#: libsvn_subr/io.c:262
-#: libsvn_subr/io.c:350
+#: libsvn_subr/io.c:262 libsvn_subr/io.c:350
#, c-format
msgid "Unable to make name for '%s'"
msgstr "이름을 만들 수 없습니다. '%s'"
-#: libsvn_subr/io.c:354
-#: libsvn_subr/io.c:390
-#: libsvn_subr/io.c:418
+#: libsvn_subr/io.c:354 libsvn_subr/io.c:390 libsvn_subr/io.c:418
msgid "Symbolic links are not supported on this platform"
msgstr "이 플랫폼에서는 심볼릭 링크가 지원되지 않습니다."
@@ -5490,8 +5432,7 @@
msgid "Can't read contents of link"
msgstr "링크의 내용을 읽을 수 없습니다."
-#: libsvn_subr/io.c:519
-#: libsvn_subr/io.c:529
+#: libsvn_subr/io.c:519 libsvn_subr/io.c:529
msgid "Can't find a temporary directory"
msgstr "임시 디렉토리를 찾을 수 없습니다."
@@ -5525,16 +5466,12 @@
msgid "Destination '%s' already exists"
msgstr "대상 '%s' 는 이미 존재합니다."
-#: libsvn_subr/io.c:736
-#: libsvn_subr/io.c:1636
-#: libsvn_subr/io.c:1707
+#: libsvn_subr/io.c:736 libsvn_subr/io.c:1636 libsvn_subr/io.c:1707
#, c-format
msgid "Can't read directory '%s'"
msgstr "디렉토리를 읽을 수 없습니다 '%s'"
-#: libsvn_subr/io.c:741
-#: libsvn_subr/io.c:1641
-#: libsvn_subr/io.c:1712
+#: libsvn_subr/io.c:741 libsvn_subr/io.c:1641 libsvn_subr/io.c:1712
#: libsvn_subr/io.c:2695
#, c-format
msgid "Error closing directory '%s'"
@@ -5575,15 +5512,12 @@
msgid "Can't get file perms for file at '%s' (file stat error)"
msgstr "파일 권한을 얻을 수 없습니다. '%s' (파일 상태얻기(stat) 오류)"
-#: libsvn_subr/io.c:1072
-#: libsvn_subr/io.c:1132
+#: libsvn_subr/io.c:1072 libsvn_subr/io.c:1132
#, c-format
msgid "Can't change read-write perms of file '%s'"
msgstr "파일 '%s'에 대해 읽기/쓰기 속성 변경을 할 수 없습니다"
-#: libsvn_subr/io.c:1171
-#: libsvn_subr/io.c:1215
-#: libsvn_subr/io.c:1239
+#: libsvn_subr/io.c:1171 libsvn_subr/io.c:1215 libsvn_subr/io.c:1239
#, c-format
msgid "Can't change executability of file '%s'"
msgstr "파일 '%s'에 대해 실행 속성 변경을 할 수 없습니다"
@@ -5611,8 +5545,7 @@
msgid "Can't flush stream"
msgstr "스트림을 플러시 할 수 없습니다."
-#: libsvn_subr/io.c:1395
-#: libsvn_subr/io.c:1412
+#: libsvn_subr/io.c:1395 libsvn_subr/io.c:1412
msgid "Can't flush file to disk"
msgstr "디스크에 파일을 플러시할 수 없습니다."
@@ -5634,15 +5567,12 @@
msgid "Can't rewind directory '%s'"
msgstr "디렉토리를 되감을 수 없습니다. '%s'"
-#: libsvn_subr/io.c:1586
-#: libsvn_subr/io.c:2544
-#: libsvn_subr/io.c:2632
+#: libsvn_subr/io.c:1586 libsvn_subr/io.c:2544 libsvn_subr/io.c:2632
#, c-format
msgid "Can't open directory '%s'"
msgstr "디렉토리를 열 수 없습니다. '%s'"
-#: libsvn_subr/io.c:1625
-#: libsvn_subr/io.c:1647
+#: libsvn_subr/io.c:1625 libsvn_subr/io.c:1647
#, c-format
msgid "Can't remove '%s'"
msgstr "제거할 수 없습니다. '%s'"
@@ -5731,16 +5661,12 @@
msgid "Can't close stream"
msgstr "스트림을 닫을 수 없습니다."
-#: libsvn_subr/io.c:2221
-#: libsvn_subr/io.c:2245
-#: libsvn_subr/io.c:2258
+#: libsvn_subr/io.c:2221 libsvn_subr/io.c:2245 libsvn_subr/io.c:2258
#, c-format
msgid "Can't read file '%s'"
msgstr "파일 '%s'를 읽을 수 없습니다."
-#: libsvn_subr/io.c:2222
-#: libsvn_subr/io.c:2246
-#: libsvn_subr/io.c:2259
+#: libsvn_subr/io.c:2222 libsvn_subr/io.c:2246 libsvn_subr/io.c:2259
msgid "Can't read stream"
msgstr "스트림을 읽을 수 없습니다."
@@ -5762,14 +5688,12 @@
msgid "Can't set position pointer in stream"
msgstr "스트림에 위치 포인터를 설정 할 수 없습니다."
-#: libsvn_subr/io.c:2282
-#: libsvn_subr/io.c:2295
+#: libsvn_subr/io.c:2282 libsvn_subr/io.c:2295
#, c-format
msgid "Can't write to file '%s'"
msgstr "파일 '%s'에 쓸 수 없습니다."
-#: libsvn_subr/io.c:2283
-#: libsvn_subr/io.c:2296
+#: libsvn_subr/io.c:2283 libsvn_subr/io.c:2296
msgid "Can't write to stream"
msgstr "스트림에 쓸 수 없습니다."
@@ -5792,8 +5716,7 @@
msgid "Can't create directory '%s'"
msgstr "디렉토리 '%s'을/를 생성할 수 없습니다."
-#: libsvn_subr/io.c:2471
-#: libsvn_wc/copy.c:303
+#: libsvn_subr/io.c:2471 libsvn_wc/copy.c:303
#, c-format
msgid "Can't hide directory '%s'"
msgstr "디렉토리 '%s'을/를 숨길 수 없습니다."
@@ -5916,12 +5839,14 @@
msgid ""
"Copyright (C) 2000-2005 CollabNet.\n"
"Subversion is open source software, see http://subversion.tigris.org/\n"
-"This product includes software developed by CollabNet (http://www.Collab.Net/).\n"
+"This product includes software developed by CollabNet (http://www.Collab."
+"Net/).\n"
"\n"
msgstr ""
"Copyright (C) 2000-2005 CollabNet.\n"
"Subversion은 오픈 소스 소프트웨어 입니다, http://subversion.tigris.org/\n"
-"이 제품은 CollabNet이 개발한 소프트웨어를 포함하고 있습니다.(http://www.Collab.Net/).\n"
+"이 제품은 CollabNet이 개발한 소프트웨어를 포함하고 있습니다.(http://www."
+"Collab.Net/).\n"
"\n"
#: libsvn_subr/opt.c:794
@@ -5948,8 +5873,7 @@
msgid "Invalid control character '0x%02x' in path '%s'"
msgstr "잘못된 제어 문자 '0x%02x'가 경로 '%s'에 있습니다."
-#: libsvn_subr/subst.c:1013
-#: libsvn_wc/props.c:1441
+#: libsvn_subr/subst.c:1013 libsvn_wc/props.c:1441
#, c-format
msgid "File '%s' has inconsistent newlines"
msgstr "파일 '%s' 은 일치하지 않는 개행문자를 포함하고 있습니다"
@@ -5958,8 +5882,7 @@
msgid "Can't lock charset translation mutex"
msgstr "문자변환용 뮤텍스를 잠글 수 없습니다."
-#: libsvn_subr/utf.c:175
-#: libsvn_subr/utf.c:263
+#: libsvn_subr/utf.c:175 libsvn_subr/utf.c:263
msgid "Can't unlock charset translation mutex"
msgstr "문자변환용 뮤텍스를 해제할 수 없습니다."
@@ -5995,7 +5918,9 @@
#: libsvn_subr/utf.c:506
#, c-format
-msgid "Safe data '%s' was followed by non-ASCII byte %d: unable to convert to/from UTF-8"
+msgid ""
+"Safe data '%s' was followed by non-ASCII byte %d: unable to convert to/from "
+"UTF-8"
msgstr ""
"안전한 데이터:\n"
"\"%s\"\n"
@@ -6003,8 +5928,10 @@
#: libsvn_subr/utf.c:514
#, c-format
-msgid "Non-ASCII character (code %d) detected, and unable to convert to/from UTF-8"
-msgstr "ASCII가 아닌 (코드 %d) 문자가 발견되었으며, UTF-8과 상호 변환이 불가능합니다."
+msgid ""
+"Non-ASCII character (code %d) detected, and unable to convert to/from UTF-8"
+msgstr ""
+"ASCII가 아닌 (코드 %d) 문자가 발견되었으며, UTF-8과 상호 변환이 불가능합니다."
#: libsvn_subr/utf.c:556
#, c-format
@@ -6037,7 +5964,8 @@
#: libsvn_subr/version.c:74
#, c-format
msgid "Version mismatch in '%s': found %d.%d.%d%s, expected %d.%d.%d%s"
-msgstr "'%s'의 버젼이 일치하지 않습니다: 발견된 버젼 %d.%d.%d%s, 기대 버젼 %d.%d.%d%s"
+msgstr ""
+"'%s'의 버젼이 일치하지 않습니다: 발견된 버젼 %d.%d.%d%s, 기대 버젼 %d.%d.%d%s"
#: libsvn_subr/xml.c:400
#, c-format
@@ -6046,8 +5974,11 @@
#: libsvn_wc/adm_crawler.c:379
#, c-format
-msgid "The entry '%s' is no longer a directory; remove the entry before updating"
-msgstr "엔트리 '%s' 은 더 이상 디렉토리가 아닙니다; 업데이트 하기 전에 엔트리를 제거하십시오"
+msgid ""
+"The entry '%s' is no longer a directory; remove the entry before updating"
+msgstr ""
+"엔트리 '%s' 은 더 이상 디렉토리가 아닙니다; 업데이트 하기 전에 엔트리를 제거"
+"하십시오"
#: libsvn_wc/adm_crawler.c:633
msgid "Error aborting report"
@@ -6062,142 +5993,147 @@
msgid "Error opening local file"
msgstr "로컬 파일 열기 오류"
-#: libsvn_wc/adm_files.c:201
+#: libsvn_wc/adm_files.c:202
msgid "Bad type indicator"
msgstr "잘못된 타입 지시자"
-#: libsvn_wc/adm_files.c:409
+#: libsvn_wc/adm_files.c:410
msgid "APR_APPEND not supported for adm files"
msgstr "adm 파일에는 APR_APPEND 가 지원되지 않습니다"
-#: libsvn_wc/adm_files.c:452
-msgid "Your .svn/tmp directory may be missing or corrupt; run 'svn cleanup' and try again"
-msgstr "당신의 .svn/tmp 디릭토리가 누락되거나 손상되었습니다; 'svn cleanup' 명령을 실행한 뒤, 다시 시도하십시오"
+#: libsvn_wc/adm_files.c:453
+msgid ""
+"Your .svn/tmp directory may be missing or corrupt; run 'svn cleanup' and try "
+"again"
+msgstr ""
+"당신의 .svn/tmp 디릭토리가 누락되거나 손상되었습니다; 'svn cleanup' 명령을 실"
+"행한 뒤, 다시 시도하십시오"
-#: libsvn_wc/adm_files.c:627
-#: libsvn_wc/adm_files.c:703
-#: libsvn_wc/lock.c:377
-#: libsvn_wc/lock.c:630
+#: libsvn_wc/adm_files.c:628 libsvn_wc/adm_files.c:704 libsvn_wc/lock.c:378
+#: libsvn_wc/lock.c:631
#, c-format
msgid "'%s' is not a working copy"
msgstr "'%s' 은 작업 사본이 아닙니다"
-#: libsvn_wc/adm_files.c:634
-#: libsvn_wc/adm_files.c:710
-#: libsvn_wc/adm_files.c:774
+#: libsvn_wc/adm_files.c:635 libsvn_wc/adm_files.c:711
+#: libsvn_wc/adm_files.c:775
msgid "No such thing as 'base' working copy properties!"
msgstr "'base' 작업 사본 속성으로 그런 것은 없습니다.!"
-#: libsvn_wc/adm_files.c:843
-#: libsvn_wc/util.c:51
+#: libsvn_wc/adm_files.c:844 libsvn_wc/util.c:51
#, c-format
msgid "'%s' is not a directory"
msgstr "'%s'은 디렉토리가 아닙니다"
-#: libsvn_wc/adm_files.c:897
+#: libsvn_wc/adm_files.c:898
#, c-format
msgid "No entry for '%s'"
msgstr "'%s'에 대한 항목이 없습니다"
-#: libsvn_wc/adm_files.c:909
+#: libsvn_wc/adm_files.c:910
#, c-format
msgid "Revision %ld doesn't match existing revision %ld in '%s'"
msgstr "리비젼 %ld은 존재하는 리비젼 %ld 과 '%s'에서 일치하지 않습니다"
-#: libsvn_wc/adm_files.c:918
+#: libsvn_wc/adm_files.c:919
#, c-format
msgid "URL '%s' doesn't match existing URL '%s' in '%s'"
msgstr "URL '%s'은 '%s'에 존재하는 URL '%s'과 일치하지 않습니다"
-#: libsvn_wc/adm_ops.c:222
+#: libsvn_wc/adm_ops.c:223
#, c-format
msgid "Unrecognized node kind: '%s'"
msgstr "인실할 수 없는 노드 종류: '%s'"
-#: libsvn_wc/adm_ops.c:442
-#: libsvn_wc/update_editor.c:945
-#: libsvn_wc/update_editor.c:1346
+#: libsvn_wc/adm_ops.c:443 libsvn_wc/update_editor.c:946
+#: libsvn_wc/update_editor.c:1347
#, c-format
msgid "Error writing log file for '%s'"
msgstr "'%s'에 대한 로그 파일 쓰기 오류"
-#: libsvn_wc/adm_ops.c:976
+#: libsvn_wc/adm_ops.c:977
#, c-format
msgid "'%s' not found"
msgstr "'%s' 이 발견되지 않았습니다"
-#: libsvn_wc/adm_ops.c:980
+#: libsvn_wc/adm_ops.c:981
#, c-format
msgid "Unsupported node kind for path '%s'"
msgstr "경로 '%s'에 지원될 수 없는 노드 종류입니다"
-#: libsvn_wc/adm_ops.c:1010
+#: libsvn_wc/adm_ops.c:1011
#, c-format
msgid "'%s' is already under version control"
msgstr "'%s'는 이미 버젼 관리 대상입니다"
-#: libsvn_wc/adm_ops.c:1022
+#: libsvn_wc/adm_ops.c:1023
#, c-format
-msgid "Can't replace '%s' with a node of a differing type; commit the deletion, update the parent, and then add '%s'"
-msgstr "'%s'는 다른 타입의 노드와 교체할 수 없습니다; 삭제하여 커밋하고, 상위를 업데이트 한 뒤, '%s'를 추가하십시오 "
+msgid ""
+"Can't replace '%s' with a node of a differing type; commit the deletion, "
+"update the parent, and then add '%s'"
+msgstr ""
+"'%s'는 다른 타입의 노드와 교체할 수 없습니다; 삭제하여 커밋하고, 상위를 업데"
+"이트 한 뒤, '%s'를 추가하십시오 "
-#: libsvn_wc/adm_ops.c:1038
+#: libsvn_wc/adm_ops.c:1039
#, c-format
msgid "Can't find parent directory's entry while trying to add '%s'"
msgstr "'%s'를 추가하던 중, 상위 디렉토리의 엔트리를 발견할 수 없습니다."
-#: libsvn_wc/adm_ops.c:1043
+#: libsvn_wc/adm_ops.c:1044
#, c-format
msgid "Can't add '%s' to a parent directory scheduled for deletion"
msgstr "삭제가 예정된 상위 디렉토리에 '%s'를 추가할 수 없습니다"
-#: libsvn_wc/adm_ops.c:1059
+#: libsvn_wc/adm_ops.c:1060
#, c-format
msgid "The URL '%s' has different repository root than its parent"
msgstr "URL '%s'은(는) 상위 디렉토리와 다른 저장소입니다."
-#: libsvn_wc/adm_ops.c:1333
-#: libsvn_wc/adm_ops.c:1338
-#: libsvn_wc/adm_ops.c:1374
+#: libsvn_wc/adm_ops.c:1334 libsvn_wc/adm_ops.c:1339 libsvn_wc/adm_ops.c:1375
#, c-format
msgid "Error restoring props for '%s'"
msgstr "'%s'에 대한 설정 복구 오류"
-#: libsvn_wc/adm_ops.c:1348
+#: libsvn_wc/adm_ops.c:1349
#, c-format
msgid "Error removing props for '%s'"
msgstr "'%s'에 대한 설정 제거 오류"
-#: libsvn_wc/adm_ops.c:1420
+#: libsvn_wc/adm_ops.c:1421
#, c-format
msgid "Error restoring text for '%s'"
msgstr "'%s'에 대한 텍스트 복구 오류"
-#: libsvn_wc/adm_ops.c:1521
+#: libsvn_wc/adm_ops.c:1522
#, c-format
msgid "Cannot revert: '%s' is not under version control"
msgstr "복원할 수 없습니다: '%s'는 버전 관리 대상이 아닙니다."
-#: libsvn_wc/adm_ops.c:1549
+#: libsvn_wc/adm_ops.c:1550
#, c-format
msgid "Cannot revert '%s': unsupported entry node kind"
msgstr "'%s'를 복원할 수 없습니다: 지원하지 않는 엔트리 노드 종류입니다"
-#: libsvn_wc/adm_ops.c:1560
+#: libsvn_wc/adm_ops.c:1561
#, c-format
msgid "Cannot revert '%s': unsupported node kind in working copy"
msgstr "'%s'를 복원할 수 없습니다: 작업 사본에서 지원하지 않는 노드 종류입니다"
-#: libsvn_wc/adm_ops.c:1608
-msgid "Cannot revert addition of current directory; please try again from the parent directory"
-msgstr "현재 디렉토리의 추가를 복원할 수 없습니다: 상위 디렉토리에서 다시 시도하십시오."
+#: libsvn_wc/adm_ops.c:1609
+msgid ""
+"Cannot revert addition of current directory; please try again from the "
+"parent directory"
+msgstr ""
+"현재 디렉토리의 추가를 복원할 수 없습니다: 상위 디렉토리에서 다시 시도하십시"
+"오."
-#: libsvn_wc/adm_ops.c:1630
+#: libsvn_wc/adm_ops.c:1631
#, c-format
msgid "Unknown or unexpected kind for path '%s'"
msgstr "경로 '%s'에 대한 알 수 없거나 기대하지 않은 종류입니다."
-#: libsvn_wc/adm_ops.c:1833
+#: libsvn_wc/adm_ops.c:1834
#, c-format
msgid "File '%s' has local modifications"
msgstr "파일 '%s'는 로컬에서 수정되었습니다."
@@ -6209,7 +6145,8 @@
#: libsvn_wc/copy.c:160
#, c-format
-msgid "'%s' is scheduled for deletion; it must be committed before being overwritten"
+msgid ""
+"'%s' is scheduled for deletion; it must be committed before being overwritten"
msgstr "'%s'는 삭제가 예정되어 있습니다; 덮어씌워지기 전에 커밋되어야 합니다."
#: libsvn_wc/copy.c:165
@@ -6224,303 +6161,320 @@
#: libsvn_wc/copy.c:183
#, c-format
-msgid "Cannot copy or move '%s': it's not in the repository yet; try committing first"
-msgstr "'%s'를 복사하거나 옮길 수 없습니다; 아직 저장소에 없습니다; 먼저 커밋하십시오"
+msgid ""
+"Cannot copy or move '%s': it's not in the repository yet; try committing "
+"first"
+msgstr ""
+"'%s'를 복사하거나 옮길 수 없습니다; 아직 저장소에 없습니다; 먼저 커밋하십시오"
#: libsvn_wc/copy.c:455
#, c-format
-msgid "Cannot copy or move '%s': it is not in the repository yet; try committing first"
-msgstr "'%s'를 복사하거나 옮길 수 없습니다; 아직 저장소에 없습니다. 먼저 커밋하십시오"
+msgid ""
+"Cannot copy or move '%s': it is not in the repository yet; try committing "
+"first"
+msgstr ""
+"'%s'를 복사하거나 옮길 수 없습니다; 아직 저장소에 없습니다. 먼저 커밋하십시오"
#: libsvn_wc/copy.c:525
#, c-format
msgid "Cannot copy to '%s' as it is scheduled for deletion"
msgstr "삭제가 예정된 상위 디렉토리에 '%s'를 추가할 수 없습니다"
-#: libsvn_wc/entries.c:126
+#: libsvn_wc/entries.c:127
#, c-format
msgid "Error writing entries file for '%s'"
msgstr "'%s'에 대한 엔트리 파일 쓰기 오류"
-#: libsvn_wc/entries.c:221
+#: libsvn_wc/entries.c:222
#, c-format
msgid "Entry for '%s' has invalid repository root"
msgstr "엔트리 '%s'에 유효하지 않은 저장소 루트가 있습니다."
-#: libsvn_wc/entries.c:243
+#: libsvn_wc/entries.c:244
#, c-format
msgid "Entry '%s' has invalid node kind"
msgstr "엔트리 '%s'는 유효하지 않은 노드 종류를 갖고 있습니다"
-#: libsvn_wc/entries.c:268
-#: libsvn_wc/entries.c:318
-#: libsvn_wc/entries.c:358
-#: libsvn_wc/entries.c:385
-#: libsvn_wc/entries.c:412
+#: libsvn_wc/entries.c:269 libsvn_wc/entries.c:319 libsvn_wc/entries.c:359
+#: libsvn_wc/entries.c:386 libsvn_wc/entries.c:413
#, c-format
msgid "Entry '%s' has invalid '%s' value"
msgstr "엔트리 '%s'는 유효하지 않은 값 '%s'를 갖고 있습니다"
-#: libsvn_wc/entries.c:626
+#: libsvn_wc/entries.c:627
msgid "Missing default entry"
msgstr "기본 엔트리가 빠졌습니다"
-#: libsvn_wc/entries.c:631
+#: libsvn_wc/entries.c:632
msgid "Default entry has no revision number"
msgstr "기본 엔트리에 리비젼 넘버가 없습니다"
-#: libsvn_wc/entries.c:636
+#: libsvn_wc/entries.c:637
msgid "Default entry is missing URL"
msgstr "기본 엔트리게 URL 이 없습니다"
-#: libsvn_wc/entries.c:724
+#: libsvn_wc/entries.c:725
#, c-format
msgid "XML parser failed in '%s'"
msgstr "XML 파서가 '%s'에 실패했습니다"
-#: libsvn_wc/entries.c:812
+#: libsvn_wc/entries.c:813
#, c-format
msgid "Corrupt working copy: '%s' has no default entry"
msgstr "작업 사본이 손상되었습니다; '%s'는 기본 엔트리가 없습니다"
-#: libsvn_wc/entries.c:829
+#: libsvn_wc/entries.c:830
#, c-format
msgid "Corrupt working copy: directory '%s' has an invalid schedule"
-msgstr "작업 사본이 손상되었습니다; 디렉토리 '%s'는 유효하지 않은 스케쥴이 있습니다"
+msgstr ""
+"작업 사본이 손상되었습니다; 디렉토리 '%s'는 유효하지 않은 스케쥴이 있습니다"
-#: libsvn_wc/entries.c:863
+#: libsvn_wc/entries.c:864
#, c-format
msgid "Corrupt working copy: '%s' in directory '%s' has an invalid schedule"
-msgstr "작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 유효하지 않은 스케쥴이 있습니다"
+msgstr ""
+"작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 유효하지 않은 스케쥴이 있"
+"습니다"
-#: libsvn_wc/entries.c:872
+#: libsvn_wc/entries.c:873
#, c-format
-msgid "Corrupt working copy: '%s' in directory '%s' (which is scheduled for addition) is not itself scheduled for addition"
-msgstr "작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (추가 작업이 스케쥴된) 추가가 예정된 것과 다릅니다."
+msgid ""
+"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
+"addition) is not itself scheduled for addition"
+msgstr ""
+"작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (추가 작업이 스케쥴된) 추"
+"가가 예정된 것과 다릅니다."
-#: libsvn_wc/entries.c:880
+#: libsvn_wc/entries.c:881
#, c-format
-msgid "Corrupt working copy: '%s' in directory '%s' (which is scheduled for deletion) is not itself scheduled for deletion"
-msgstr "작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (삭제 작업이 스케쥴된) 삭제가 예정된 것과 다릅니다."
+msgid ""
+"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
+"deletion) is not itself scheduled for deletion"
+msgstr ""
+"작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (삭제 작업이 스케쥴된) 삭"
+"제가 예정된 것과 다릅니다."
-#: libsvn_wc/entries.c:888
+#: libsvn_wc/entries.c:889
#, c-format
-msgid "Corrupt working copy: '%s' in directory '%s' (which is scheduled for replacement) has an invalid schedule"
-msgstr "작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (교체 작업이 스케쥴된) 유효하지 않은 스케쥴이 있습니다."
+msgid ""
+"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
+"replacement) has an invalid schedule"
+msgstr ""
+"작업 사본이 손상되었습니다; 디렉토리 '%s'의 '%s'는 (교체 작업이 스케쥴된) 유"
+"효하지 않은 스케쥴이 있습니다."
-#: libsvn_wc/entries.c:1203
+#: libsvn_wc/entries.c:1204
#, c-format
msgid "No default entry in directory '%s'"
msgstr "디릭토리 '%s'에 기본 엔트리가 없습니다"
-#: libsvn_wc/entries.c:1258
+#: libsvn_wc/entries.c:1259
#, c-format
msgid "Error writing to '%s'"
msgstr "'%s'에 쓰기 오류"
-#: libsvn_wc/entries.c:1524
+#: libsvn_wc/entries.c:1525
#, c-format
-msgid "Can't add '%s' to deleted directory; try undeleting its parent directory first"
-msgstr "삭제된 디렉토리에 '%s'를 추가 할 수 없습니다; 상위 디렉토리를 먼저 복원하십시오"
+msgid ""
+"Can't add '%s' to deleted directory; try undeleting its parent directory "
+"first"
+msgstr ""
+"삭제된 디렉토리에 '%s'를 추가 할 수 없습니다; 상위 디렉토리를 먼저 복원하십시"
+"오"
-#: libsvn_wc/entries.c:1530
+#: libsvn_wc/entries.c:1531
#, c-format
-msgid "Can't replace '%s' in deleted directory; try undeleting its parent directory first"
-msgstr "삭제된 디렉토리에서 '%s'를 교체 할 수 없습니다; 상위 디렉토리를 먼저 복원하십시오"
+msgid ""
+"Can't replace '%s' in deleted directory; try undeleting its parent directory "
+"first"
+msgstr ""
+"삭제된 디렉토리에서 '%s'를 교체 할 수 없습니다; 상위 디렉토리를 먼저 복원하십"
+"시오"
-#: libsvn_wc/entries.c:1539
+#: libsvn_wc/entries.c:1540
#, c-format
msgid "'%s' is marked as absent, so it cannot be scheduled for addition"
msgstr "'%s'는 없는 것으로 표시되어 있어서 추가 작업을 스케쥴할 수 없습니다"
-#: libsvn_wc/entries.c:1568
+#: libsvn_wc/entries.c:1569
#, c-format
msgid "Entry '%s' is already under version control"
msgstr "'%s' 항목은 이미 관리 대상입니다."
-#: libsvn_wc/entries.c:1660
+#: libsvn_wc/entries.c:1661
#, c-format
msgid "Entry '%s' has illegal schedule"
msgstr "'%s' 항목은 잘못된 스케쥴을 가지고 있습니다."
-#: libsvn_wc/entries.c:1801
+#: libsvn_wc/entries.c:1802
#, c-format
msgid "No such entry: '%s'"
msgstr "없는 항목: '%s'"
-#: libsvn_wc/entries.c:1912
+#: libsvn_wc/entries.c:1913
#, c-format
msgid "Directory '%s' has no THIS_DIR entry"
msgstr "'%s' 디렉토리는 THIS_DIR 항목이 없습니다."
-#: libsvn_wc/entries.c:2001
+#: libsvn_wc/entries.c:2002
#, c-format
msgid "'%s' has an unrecognized node kind"
msgstr "'%s' 은/는 인식 불가능한 노드 종류입니다."
-#: libsvn_wc/entries.c:2037
+#: libsvn_wc/entries.c:2038
#, c-format
msgid "Unexpectedly found '%s': path is marked 'missing'"
msgstr "예기치 않은 발견 '%s': 경로는 'missing' 표시가 되어 있습니다."
-#: libsvn_wc/lock.c:158
-#: libsvn_wc/lock.c:359
+#: libsvn_wc/lock.c:159 libsvn_wc/lock.c:360
#, c-format
msgid "Working copy '%s' locked"
msgstr "작업사본 '%s'은/는 잠겨 있습니다."
-#: libsvn_wc/lock.c:279
+#: libsvn_wc/lock.c:280
#, c-format
msgid "Path '%s' ends in '%s', which is unsupported for this operation"
msgstr "경로 '%s'는 '%s'에서 끝나며, 이는 지원하지 않은 동작입니다."
-#: libsvn_wc/lock.c:678
+#: libsvn_wc/lock.c:679
#, c-format
msgid "Working copy '%s' is missing or not locked"
msgstr "작업사본 '%s'은/는 없거나 잠겨있지 않습니다."
-#: libsvn_wc/lock.c:1078
+#: libsvn_wc/lock.c:1079
#, c-format
msgid "Write-lock stolen in '%s'"
msgstr "어떤 이유에서인지 '%s'의 쓰기 잠금이 제거 되었습니다."
-#: libsvn_wc/lock.c:1086
+#: libsvn_wc/lock.c:1087
#, c-format
msgid "No write-lock in '%s'"
msgstr "'%s'에 쓰기 잠금이 없습니다"
-#: libsvn_wc/lock.c:1108
+#: libsvn_wc/lock.c:1109
#, c-format
msgid "Lock file '%s' is not a regular file"
msgstr "잠그는 파일 '%s'은/는 일반 파일이 아닙니다."
-#: libsvn_wc/log.c:182
+#: libsvn_wc/log.c:183
msgid "Can't move source to dest"
msgstr "원본을 대상으로 이동시킬 수 없습니다."
-#: libsvn_wc/log.c:338
+#: libsvn_wc/log.c:339
#, c-format
msgid "In directory '%s'"
msgstr "디렉토리 '%s'"
-#: libsvn_wc/log.c:364
+#: libsvn_wc/log.c:365
#, c-format
msgid "Missing 'left' attribute in '%s'"
msgstr "'%s'에 'left' 속성이 빠졌습니다"
-#: libsvn_wc/log.c:371
+#: libsvn_wc/log.c:372
#, c-format
msgid "Missing 'right' attribute in '%s'"
msgstr "'%s'에 'right' 속성이 빠졌습니다"
-#: libsvn_wc/log.c:414
+#: libsvn_wc/log.c:415
#, c-format
msgid "Missing 'dest' attribute in '%s'"
msgstr "'%s'에 'dest' 속성이 빠졌습니다"
-#: libsvn_wc/log.c:474
+#: libsvn_wc/log.c:475
#, c-format
msgid "Missing 'timestamp' attribute in '%s'"
msgstr "'%s'에 'timestamp' 속성이 빠졌습니다"
-#: libsvn_wc/log.c:550
-#: libsvn_wc/log.c:583
+#: libsvn_wc/log.c:551 libsvn_wc/log.c:584
#, c-format
msgid "Error checking path '%s'"
msgstr "경로 '%s' 점검 오류"
-#: libsvn_wc/log.c:557
-#: libsvn_wc/log.c:590
+#: libsvn_wc/log.c:558 libsvn_wc/log.c:591
#, c-format
msgid "Error getting 'affected time' on '%s'"
msgstr "'%s'에 'affected time'을 얻어 오는 중 오류 발생"
-#: libsvn_wc/log.c:601
+#: libsvn_wc/log.c:602
#, c-format
msgid "Error modifying entry for '%s'"
msgstr "'%s'에 대한 엔트리 수정 중 오류 발생"
-#: libsvn_wc/log.c:627
+#: libsvn_wc/log.c:628
#, c-format
msgid "Error removing lock from entry for '%s'"
msgstr "'%s'에 대한 잠금해제 오류"
-#: libsvn_wc/log.c:758
+#: libsvn_wc/log.c:759
#, c-format
msgid "Missing 'revision' attribute for '%s'"
msgstr "'%s'에 대한 'revision' 속성이 빠졌습니다"
-#: libsvn_wc/log.c:772
+#: libsvn_wc/log.c:773
#, c-format
msgid "Log command for directory '%s' is mislocated"
msgstr "디렉토리 '%s'에 대한 로그 명령이 잘못된 곳에 위치해 있습니다"
-#: libsvn_wc/log.c:939
-#: libsvn_wc/log.c:1011
+#: libsvn_wc/log.c:940 libsvn_wc/log.c:1012
#, c-format
msgid "Error checking existence of '%s'"
msgstr "'%s'의 존재 여부 점검하는 중 오류 발생"
-#: libsvn_wc/log.c:950
-#: libsvn_wc/log.c:1022
+#: libsvn_wc/log.c:951 libsvn_wc/log.c:1023
#, c-format
msgid "Error comparing '%s' and '%s'"
msgstr "'%s' 와 '%s' 비교중 오류 발생"
-#: libsvn_wc/log.c:962
+#: libsvn_wc/log.c:963
#, c-format
msgid "Error getting 'affected time' for '%s'"
msgstr "'%s'에 대한 'affected time' 얻어 오는 중 오류 발생"
-#: libsvn_wc/log.c:1033
-#: libsvn_wc/log.c:1120
+#: libsvn_wc/log.c:1034 libsvn_wc/log.c:1121
#, c-format
msgid "Error getting 'affected time' of '%s'"
msgstr "'%s'의 'afftected time' 얻어 오는 중 오류 발생"
-#: libsvn_wc/log.c:1091
+#: libsvn_wc/log.c:1092
#, c-format
msgid "Error replacing text-base of '%s'"
msgstr "'%s'의 text-base 교체 중 오류 발생"
-#: libsvn_wc/log.c:1160
-#: libsvn_wc/log.c:1209
+#: libsvn_wc/log.c:1161 libsvn_wc/log.c:1210
#, c-format
msgid "Error modifying entry of '%s'"
msgstr "'%s'의 엔트리 수정 중 오류 발생"
-#: libsvn_wc/log.c:1268
+#: libsvn_wc/log.c:1269
#, c-format
msgid "Log entry missing 'name' attribute (entry '%s' for directory '%s')"
msgstr "'name' 속성이 빠진 로그 엔트리 ( 디렉토리 '%s'에 대한 엔트리 '%s' )"
-#: libsvn_wc/log.c:1330
+#: libsvn_wc/log.c:1331
#, c-format
msgid "Unrecognized logfile element '%s' in '%s'"
msgstr "'%s'의 인식 할 수 없는 로그 파일 요소 '%s'"
-#: libsvn_wc/log.c:1341
+#: libsvn_wc/log.c:1342
#, c-format
msgid "Error processing command '%s' in '%s'"
msgstr "'%s'의 '%s' 명령 처리 중 오류 발생"
-#: libsvn_wc/log.c:1463
+#: libsvn_wc/log.c:1464
msgid "Couldn't open log"
msgstr "로그를 열수 없습니다"
-#: libsvn_wc/log.c:1474
+#: libsvn_wc/log.c:1475
#, c-format
msgid "Error reading administrative log file in '%s'"
msgstr "'%s'의 관리 로그 파일을 읽는 중 오류 발생"
-#: libsvn_wc/log.c:1568
+#: libsvn_wc/log.c:1569
#, c-format
msgid "'%s' is not a working copy directory"
msgstr "'%s'는 작업 사본 디렉토리가 아닙니다"
-#: libsvn_wc/merge.c:306
-#: libsvn_wc/merge.c:308
-#: libsvn_wc/merge.c:310
+#: libsvn_wc/merge.c:306 libsvn_wc/merge.c:308 libsvn_wc/merge.c:310
#: libsvn_wc/merge.c:312
msgid "Unable to delete temporary file"
msgstr "임시 파일을 삭제 할 수 없습니다"
@@ -6555,9 +6509,7 @@
msgid "Can't find entry '%s' in '%s'"
msgstr "'%s'에 엔트리 '%s'를 찾을 수 없습니다"
-#: libsvn_wc/props.c:323
-#: libsvn_wc/props.c:1161
-#: libsvn_wc/update_editor.c:2341
+#: libsvn_wc/props.c:323 libsvn_wc/props.c:1161 libsvn_wc/update_editor.c:2342
#, c-format
msgid "Error writing log for '%s'"
msgstr "'%s'에 대한 로그 쓰기 오류"
@@ -6594,21 +6546,17 @@
msgid "Unknown node kind: '%s'"
msgstr "알 수 없는 노드 종류: '%s'"
-#: libsvn_wc/props.c:1238
-#: libsvn_wc/props.c:1260
-#: libsvn_wc/props.c:1344
+#: libsvn_wc/props.c:1238 libsvn_wc/props.c:1260 libsvn_wc/props.c:1344
#: libsvn_wc/props.c:1582
msgid "Failed to load properties from disk"
msgstr "디스크로 부터 속성을 로드하는 데 실패했습니다"
-#: libsvn_wc/props.c:1276
-#: libsvn_wc/props.c:1612
+#: libsvn_wc/props.c:1276 libsvn_wc/props.c:1612
#, c-format
msgid "Cannot write property hash for '%s'"
msgstr "'%s'에 대한 속성 해쉬를 쓸 수 없습니다"
-#: libsvn_wc/props.c:1336
-#: libsvn_wc/props.c:1474
+#: libsvn_wc/props.c:1336 libsvn_wc/props.c:1474
#, c-format
msgid "Property '%s' is an entry property"
msgstr "속성 '%s'는 엔트리 속성입니다"
@@ -6640,18 +6588,30 @@
#: libsvn_wc/props.c:2051
#, c-format
-msgid "Invalid %s property on '%s': target involves '.' or '..' or is an absolute path"
-msgstr "%s'에 대한 유효하지 않은 속성 %s : 대상은 '.' 이나 '..' 을 포함하거나 절대 경로입니다"
+msgid ""
+"Invalid %s property on '%s': target involves '.' or '..' or is an absolute "
+"path"
+msgstr ""
+"%s'에 대한 유효하지 않은 속성 %s : 대상은 '.' 이나 '..' 을 포함하거나 절대 경"
+"로입니다"
#: libsvn_wc/questions.c:104
#, c-format
-msgid "Working copy format of '%s' is too old (%d); please check out your working copy again"
-msgstr "'%s'의 작업 사본 포맷은 너무 오래되었습니다(%d); 작업 사본을 다시 꺼내어 주십시오"
+msgid ""
+"Working copy format of '%s' is too old (%d); please check out your working "
+"copy again"
+msgstr ""
+"'%s'의 작업 사본 포맷은 너무 오래되었습니다(%d); 작업 사본을 다시 꺼내어 주십"
+"시오"
#: libsvn_wc/questions.c:112
#, c-format
-msgid "This client is too old to work with working copy '%s'; please get a newer Subversion client"
-msgstr "이 클라이언트는 너무 오래되어 작업사본 '%s'에 대해 작업을 수행할 수 없습니다. subversion 을 업그레이드하십시오."
+msgid ""
+"This client is too old to work with working copy '%s'; please get a newer "
+"Subversion client"
+msgstr ""
+"이 클라이언트는 너무 오래되어 작업사본 '%s'에 대해 작업을 수행할 수 없습니"
+"다. subversion 을 업그레이드하십시오."
#: libsvn_wc/questions.c:352
#, c-format
@@ -6669,75 +6629,88 @@
msgid "'%s' has unknown value for svn:eol-style property"
msgstr "'%s'은/는 알 수 없는 svn:eol-style 속성값을 가지고 있습니다."
-#: libsvn_wc/update_editor.c:386
+#: libsvn_wc/update_editor.c:387
#, c-format
msgid "No '.' entry in: '%s'"
msgstr "'.' 이 등록되어 있지 않습니다: '%s'"
-#: libsvn_wc/update_editor.c:862
+#: libsvn_wc/update_editor.c:863
#, c-format
msgid "Won't delete locally modified directory '%s'"
msgstr "수정한 디렉토리는 지우지 않을 것입니다. '%s'"
-#: libsvn_wc/update_editor.c:1048
+#: libsvn_wc/update_editor.c:1049
#, c-format
msgid "Failed to add directory '%s': object of the same name already exists"
msgstr "디렉토리 추가 실패 '%s': 같은 이름의 개체가 이미 존재합니다."
-#: libsvn_wc/update_editor.c:1056
+#: libsvn_wc/update_editor.c:1057
#, c-format
-msgid "Failed to add directory '%s': object of the same name as the administrative directory"
+msgid ""
+"Failed to add directory '%s': object of the same name as the administrative "
+"directory"
msgstr "디렉토리 추가 실패 '%s': 같은 이름의 개체가 관리용도로 사용됩니다."
-#: libsvn_wc/update_editor.c:1070
+#: libsvn_wc/update_editor.c:1071
#, c-format
msgid "Failed to add directory '%s': copyfrom arguments not yet supported"
msgstr "디렉토리 추가 실패 '%s': copyfrom 인자는 아직 지원되지 않습니다."
-#: libsvn_wc/update_editor.c:1091
+#: libsvn_wc/update_editor.c:1092
#, c-format
-msgid "Failed to add directory '%s': object of the same name is already scheduled for addition"
-msgstr "디렉토리 추가 실패 '%s': 같은 이름의 개체를 이미 추가 요청을 하였습니다."
+msgid ""
+"Failed to add directory '%s': object of the same name is already scheduled "
+"for addition"
+msgstr ""
+"디렉토리 추가 실패 '%s': 같은 이름의 개체를 이미 추가 요청을 하였습니다."
-#: libsvn_wc/update_editor.c:1314
+#: libsvn_wc/update_editor.c:1315
msgid "Couldn't do property merge"
msgstr "속성을 병합할 수 없습니다"
-#: libsvn_wc/update_editor.c:1408
+#: libsvn_wc/update_editor.c:1409
#, c-format
-msgid "Failed to mark '%s' absent: item of the same name is already scheduled for addition"
-msgstr "'%s' 를 없는 것으로 표시할 수 없습니다: 이미 같은 이름의 항목이 추가되도록 스케쥴되어 있습니다"
+msgid ""
+"Failed to mark '%s' absent: item of the same name is already scheduled for "
+"addition"
+msgstr ""
+"'%s' 를 없는 것으로 표시할 수 없습니다: 이미 같은 이름의 항목이 추가되도록 스"
+"케쥴되어 있습니다"
-#: libsvn_wc/update_editor.c:1500
+#: libsvn_wc/update_editor.c:1501
#, c-format
msgid "Failed to add file '%s': object of the same name already exists"
msgstr "파일 '%s'를 추가할 수 없습니다: 같은 이름의 대상이 이미 존재합니다"
-#: libsvn_wc/update_editor.c:1521
+#: libsvn_wc/update_editor.c:1522
#, c-format
-msgid "Failed to add file '%s': object of the same name is already scheduled for addition"
-msgstr "파일 '%s'를 추가 할수 없습니다: 이미 같은 이름의 대상이 추가되도록 스케쥴되어 있습니다"
+msgid ""
+"Failed to add file '%s': object of the same name is already scheduled for "
+"addition"
+msgstr ""
+"파일 '%s'를 추가 할수 없습니다: 이미 같은 이름의 대상이 추가되도록 스케쥴되"
+"어 있습니다"
-#: libsvn_wc/update_editor.c:1529
+#: libsvn_wc/update_editor.c:1530
#, c-format
msgid "File '%s' in directory '%s' is not a versioned resource"
msgstr "디렉토리 '%s' 의 파일 '%s'는 버젼 관리 대상이 아닙니다"
-#: libsvn_wc/update_editor.c:1650
+#: libsvn_wc/update_editor.c:1651
#, c-format
msgid "Checksum mismatch for '%s'; recorded: '%s', actual: '%s'"
msgstr "'%s' 에 대한 체크섬이 일치하지 않습니다; 기록된 것:'%s', 실제:'%s'"
-#: libsvn_wc/update_editor.c:1956
+#: libsvn_wc/update_editor.c:1957
msgid "Move failed"
msgstr "이동 실패"
-#: libsvn_wc/update_editor.c:2883
+#: libsvn_wc/update_editor.c:2884
#, c-format
msgid "'%s' has no ancestry information"
msgstr "'%s'가 히스토리를 갖고 있시 않습니다"
-#: libsvn_wc/update_editor.c:2971
+#: libsvn_wc/update_editor.c:2972
#, c-format
msgid "Copyfrom-url '%s' has different repository root than '%s'"
msgstr "복사 원본 URL '%s'은(는) '%s'와(과) 다른 저장소입니다."
@@ -6746,8 +6719,7 @@
msgid "Unable to make any directories"
msgstr "어떤 디렉토리도 만들 수 없습니다"
-#: svnadmin/main.c:94
-#: svndumpfilter/main.c:62
+#: svnadmin/main.c:94 svndumpfilter/main.c:62
msgid "Can't open stdio file"
msgstr "stdio 파일을 열 수 없습니다"
@@ -6760,11 +6732,8 @@
msgid "'%s' is an URL when it should be a path"
msgstr "'%s'는 그것이 경로로 존재할 때만 URL 입니다"
-#: svnadmin/main.c:233
-#: svndumpfilter/main.c:762
-#: svnlook/main.c:98
-#: svnserve/main.c:111
-#: svnversion/main.c:182
+#: svnadmin/main.c:233 svndumpfilter/main.c:762 svnlook/main.c:98
+#: svnserve/main.c:111 svnversion/main.c:182
msgid "show version information"
msgstr "버젼 정보를 보여줍니다"
@@ -6854,7 +6823,8 @@
msgstr ""
"사용법: svnadmin deltify [-r LOWER[:UPPER]] REPOS_PATH\n"
"\n"
-"요청된 리비젼 범위내에서, 경로상의 해당 리비젼에 변경된 부분을 증분 백업 해놓습니다.\n"
+"요청된 리비젼 범위내에서, 경로상의 해당 리비젼에 변경된 부분을 증분 백업 해놓"
+"습니다.\n"
"증분 백업은 오직 이전 버젼과의 차이만을 저장하여 압축합니다.\n"
"리비젼이 지정되지 않았다면,\n"
"단순히 HEAD 리비젼에서 수행됩니다.\n"
@@ -7014,7 +6984,8 @@
msgstr ""
"사용법: svnadmin setlog REPOS_PATH -r REVISION FILE\n"
"\n"
-"FILE 내용에서 리비젼 REVISION 에 설정된 로그를 새로운 로그 메시지로 교체합니다. 사용\n"
+"FILE 내용에서 리비젼 REVISION 에 설정된 로그를 새로운 로그 메시지로 교체합니"
+"다. 사용\n"
"--bypass-hooks revision-property-related 훅을 트리거하지 않을 때\n"
"( 예를 들어, 당신의 post-revprop-change hook 으로부터 \n"
"이메일 경고가 보내지는 것을 원하지 않는다거나, 리비전 속성의 변경이 \n"
@@ -7042,8 +7013,7 @@
msgid "Revisions must not be greater than the youngest revision (%ld)"
msgstr "리비전은 끝 최신 리비전(%ld) 보다 더 작아야합니다."
-#: svnadmin/main.c:521
-#: svnadmin/main.c:603
+#: svnadmin/main.c:521 svnadmin/main.c:603
msgid "First revision cannot be higher than second"
msgstr "첫번 째 리비젼이 두번째 보다 더 높을 수 없습니다."
@@ -7064,13 +7034,12 @@
"Available subcommands:\n"
msgstr ""
"일반적인 사용법: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]\n"
-"특정 하위명령의 사용법을 위해서는 'svnadmin help <subcommand>' 를 참조하십시오.\n"
+"특정 하위명령의 사용법을 위해서는 'svnadmin help <subcommand>' 를 참조하십시"
+"오.\n"
"\n"
"가능한 하위 명령 목록:\n"
-#: svnadmin/main.c:641
-#: svnlook/main.c:1765
-#: svnserve/main.c:158
+#: svnadmin/main.c:641 svnlook/main.c:1765 svnserve/main.c:158
msgid ""
"The following repository back-end (FS) modules are available:\n"
"\n"
@@ -7096,7 +7065,9 @@
#: svnadmin/main.c:764
msgid "Waiting on repository lock; perhaps another process has it open?\n"
-msgstr "저장소 잠금을 기다리고 있습니다: 혹시 다른 프로세스에 의해 열려 있지 않습니까?\n"
+msgstr ""
+"저장소 잠금을 기다리고 있습니다: 혹시 다른 프로세스에 의해 열려 있지 않습니"
+"까?\n"
#: svnadmin/main.c:771
msgid ""
@@ -7128,26 +7099,22 @@
msgid "Exactly one file argument required"
msgstr "정확하게 하나의 파일 인자만 필요합니다"
-#: svnadmin/main.c:1029
-#: svnlook/main.c:1830
+#: svnadmin/main.c:1029 svnlook/main.c:1830
#, c-format
msgid "UUID Token: %s\n"
msgstr "UUID 토큰: %s\n"
-#: svnadmin/main.c:1030
-#: svnlook/main.c:1831
+#: svnadmin/main.c:1030 svnlook/main.c:1831
#, c-format
msgid "Owner: %s\n"
msgstr "소유자: %s\n"
-#: svnadmin/main.c:1031
-#: svnlook/main.c:1832
+#: svnadmin/main.c:1031 svnlook/main.c:1832
#, c-format
msgid "Created: %s\n"
msgstr "생성일: %s\n"
-#: svnadmin/main.c:1032
-#: svnlook/main.c:1833
+#: svnadmin/main.c:1032 svnlook/main.c:1833
#, c-format
msgid "Expires: %s\n"
msgstr "만료일: %s\n"
@@ -7272,7 +7239,8 @@
"Available subcommands:\n"
msgstr ""
"일반적인 사용법: svndumpfilter SUBCOMMAND [ARGS & OPTIONS ...]\n"
-"특정 하위명령의 사용법을 위해서는 'svndumpfilter help <subcommand>'를 참조하십시오.\n"
+"특정 하위명령의 사용법을 위해서는 'svndumpfilter help <subcommand>'를 참조하"
+"십시오.\n"
"\n"
"가능한 하위 명령 목록:\n"
@@ -7513,7 +7481,8 @@
msgstr ""
"사용법: svnlook tree REPOS_PATH [PATH_IN_REPOS]\n"
"\n"
-"PATH_IN_REPOS로 시작하는 (생략되면 루트가 사용됩니다) 경로들의 전체 구조를 출력합니다.\n"
+"PATH_IN_REPOS로 시작하는 (생략되면 루트가 사용됩니다) 경로들의 전체 구조를 출"
+"력합니다.\n"
"--show-ids 를 넣으면 노드의 리비전을 출력합니다.\n"
#: svnlook/main.c:216
@@ -7570,9 +7539,7 @@
msgid "unknown"
msgstr "알 수 없음"
-#: svnlook/main.c:1230
-#: svnlook/main.c:1323
-#: svnlook/main.c:1393
+#: svnlook/main.c:1230 svnlook/main.c:1323 svnlook/main.c:1393
#, c-format
msgid "Transaction '%s' is not based on a revision; how odd"
msgstr "실행 구문 '%s' 는 리비전관리 대상이 아닙니다: 이상한 동작 발생"
@@ -7617,8 +7584,7 @@
msgid "Property '%s' not found on path '%s' in revision %ld"
msgstr "속성('%s')이 경로('%s')상에서 발견되지 않았습니다. (리비전 %ld)"
-#: svnlook/main.c:1695
-#: svnlook/main.c:1909
+#: svnlook/main.c:1695 svnlook/main.c:1909
msgid "Missing repository path argument"
msgstr "저장소 경로가 지정되지 않았습니다."
@@ -7634,7 +7600,8 @@
msgstr ""
"일반적인 사용법: svnlook SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]\n"
"주의: --revision'과 '--transaction' 을 취하는 하위 명령들은 이 옵션들 없이\n"
-" 실행될 수 있습니다. 이 경우 가장 최신의 리비전에 대하여 명령을 수행합니다.\n"
+" 실행될 수 있습니다. 이 경우 가장 최신의 리비전에 대하여 명령을 수행합니"
+"다.\n"
"'svnlook help <subcommand>'와 같은 형식으로 각각의 도움말을 볼 수 있습니다.\n"
"\n"
"가능한 하위 명령 목록:\n"
@@ -7678,8 +7645,10 @@
msgstr "잘못된 리비전 번호가 지정되었습니다."
#: svnlook/main.c:2103
-msgid "The '--transaction' (-t) and '--revision' (-r) arguments can not co-exist"
-msgstr "'--transaction' (-t) 과 '--revision' (-r) 인자는 동시에 사용 불가능합니다."
+msgid ""
+"The '--transaction' (-t) and '--revision' (-r) arguments can not co-exist"
+msgstr ""
+"'--transaction' (-t) 과 '--revision' (-r) 인자는 동시에 사용 불가능합니다."
#: svnlook/main.c:2172
msgid "Repository argument required\n"
@@ -7715,8 +7684,7 @@
msgid "run in foreground (useful for debugging)"
msgstr "포어그라운드로 실행 (디버깅용)"
-#: svnserve/main.c:109
-#: svnversion/main.c:181
+#: svnserve/main.c:109 svnversion/main.c:181
msgid "display this help"
msgstr "이 도움말을 출력함"
@@ -7903,3 +7871,8 @@
msgid "'%s' not versioned, and not exported\n"
msgstr "'%s' 는 관리대상이 아니며, 익스포트 되지 않았습니다\n"
+#~ msgid ""
+#~ "No deletion changes for path '%s' in transaction '%s' of filesystem '%s'"
+#~ msgstr ""
+#~ "어떤 삭제도 변경되지 않았습니다. (경로 '%s', 트랜잭션 '%s', 파일 시스템 '%"
+#~ "s')"
diff --git a/subversion/po/nb.po b/subversion/po/nb.po
index cf3928d..33359f1 100644
--- a/subversion/po/nb.po
+++ b/subversion/po/nb.po
@@ -57,24 +57,24 @@
msgstr ""
"Project-Id-Version: subversion 1.1.0\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
-"POT-Creation-Date: 2005-07-29 17:40+0200\n"
-"PO-Revision-Date: 2005-07-29 18:12+0200\n"
+"POT-Creation-Date: 2005-08-05 05:32+0200\n"
+"PO-Revision-Date: 2005-08-05 05:40+0200\n"
"Last-Translator: Subversion Developers <dev@subversion.tigris.org>\n"
"Language-Team: Norwegian <dev@subversion.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: clients/cmdline/blame-cmd.c:248 clients/cmdline/ls-cmd.c:294
+#: clients/cmdline/blame-cmd.c:236 clients/cmdline/ls-cmd.c:264
msgid "'verbose' option invalid in XML mode"
msgstr "«verbose»-valget ugyldig i XML-modus"
-#: clients/cmdline/blame-cmd.c:260 clients/cmdline/ls-cmd.c:306
+#: clients/cmdline/blame-cmd.c:248 clients/cmdline/ls-cmd.c:276
#: clients/cmdline/status-cmd.c:192
msgid "'incremental' option only valid in XML mode"
msgstr "«incremental»-valget er bare gyldig i XML-modus"
-#: clients/cmdline/blame-cmd.c:319
+#: clients/cmdline/blame-cmd.c:307
#, c-format
msgid "Skipping binary file: '%s'\n"
msgstr "Hopper over binær fil: «%s»\n"
@@ -358,11 +358,11 @@
msgid " (from %s:%ld)"
msgstr " (fra %s:%ld)"
-#: clients/cmdline/log-cmd.c:446
+#: clients/cmdline/log-cmd.c:432
msgid "When specifying working copy paths, only one target may be given"
msgstr "Ved spesifisering av arbeidskopistier kan bare ett mål bli angitt"
-#: clients/cmdline/log-cmd.c:458
+#: clients/cmdline/log-cmd.c:444
msgid "Only relative paths can be specified after a URL"
msgstr "Bare relative stier kan bli spesifisert etter en URL"
@@ -1830,111 +1830,111 @@
msgid "Passphrase for '%s': "
msgstr "Adgangsfrase/-setning for «%s»: "
-#: clients/cmdline/propdel-cmd.c:78 clients/cmdline/propedit-cmd.c:85
-#: clients/cmdline/proplist-cmd.c:72 clients/cmdline/propset-cmd.c:111
-msgid "No URL target available"
-msgstr "Intet URL-mål er tilgjengelig"
-
-#: clients/cmdline/propdel-cmd.c:84 clients/cmdline/propedit-cmd.c:91
-#: clients/cmdline/proplist-cmd.c:78 clients/cmdline/propset-cmd.c:116
-msgid "Either a URL or versioned item is required"
-msgstr "Enten en URL eller et versjonert objekt kreves"
-
-#: clients/cmdline/propdel-cmd.c:93
+#: clients/cmdline/propdel-cmd.c:77
#, c-format
msgid "property '%s' deleted from repository revision %ld\n"
msgstr "Egenskap «%s» slettet fra depot-revisjon %ld\n"
-#: clients/cmdline/propdel-cmd.c:102
+#: clients/cmdline/propdel-cmd.c:86
#, c-format
msgid "Cannot specify revision for deleting versioned property '%s'"
msgstr "Kan ikke angi revisjon for sletting av versjonert egenskap «%s»"
-#: clients/cmdline/propdel-cmd.c:132
+#: clients/cmdline/propdel-cmd.c:116
#, c-format
msgid "property '%s' deleted (recursively) from '%s'.\n"
msgstr "Egenskapen «%s» slettet (rekursivt) fra «%s».\n"
-#: clients/cmdline/propdel-cmd.c:133
+#: clients/cmdline/propdel-cmd.c:117
#, c-format
msgid "property '%s' deleted from '%s'.\n"
msgstr "Egenskapen «%s» slettet fra «%s».\n"
-#: clients/cmdline/propedit-cmd.c:117 clients/cmdline/propedit-cmd.c:241
+#: clients/cmdline/propedit-cmd.c:101 clients/cmdline/propedit-cmd.c:225
#: clients/cmdline/propset-cmd.c:85
msgid "Bad encoding option: prop value not stored as UTF8"
msgstr "Feil kodingsparameter: Egenskapsverdi er ikke lagret som UTF8"
-#: clients/cmdline/propedit-cmd.c:126
+#: clients/cmdline/propedit-cmd.c:110
#, c-format
msgid "Set new value for property '%s' on revision %ld\n"
msgstr "Satte ny verdi for egenskapen «%s» på revisjon %ld\n"
-#: clients/cmdline/propedit-cmd.c:132
+#: clients/cmdline/propedit-cmd.c:116
#, c-format
msgid "No changes to property '%s' on revision %ld\n"
msgstr "Ingen endringer for egenskapen «%s» på revisjon %ld\n"
-#: clients/cmdline/propedit-cmd.c:140
+#: clients/cmdline/propedit-cmd.c:124
#, c-format
msgid "Cannot specify revision for editing versioned property '%s'"
msgstr "Kan ikke angi revisjon for redigering på versjonert egenskap «%s»"
-#: clients/cmdline/propedit-cmd.c:166 clients/cmdline/propset-cmd.c:174
+#: clients/cmdline/propedit-cmd.c:150 clients/cmdline/propset-cmd.c:158
msgid "Explicit target argument required"
msgstr "Eksplisitt målargument kreves"
-#: clients/cmdline/propedit-cmd.c:189
+#: clients/cmdline/propedit-cmd.c:173
#, c-format
msgid "Editing property on non-local target '%s' not yet supported"
msgstr ""
"Redigering av egenskap på ikke-lokalt mål «%s» er foreløpig ikke støttet"
-#: clients/cmdline/propedit-cmd.c:216 clients/cmdline/switch-cmd.c:138
+#: clients/cmdline/propedit-cmd.c:200 clients/cmdline/switch-cmd.c:138
#, c-format
msgid "'%s' does not appear to be a working copy path"
msgstr "«%s» ser ikke ut som en arbeidskopi-sti"
-#: clients/cmdline/propedit-cmd.c:248
+#: clients/cmdline/propedit-cmd.c:232
#, c-format
msgid "Set new value for property '%s' on '%s'\n"
msgstr "Satte ny verdi for egenskap «%s» på «%s»\n"
-#: clients/cmdline/propedit-cmd.c:255
+#: clients/cmdline/propedit-cmd.c:239
#, c-format
msgid "No changes to property '%s' on '%s'\n"
msgstr "Ingen endring for egenskap «%s» på «%s»\n"
-#: clients/cmdline/proplist-cmd.c:87
+#: clients/cmdline/proplist-cmd.c:71
#, c-format
msgid "Unversioned properties on revision %ld:\n"
msgstr "Ikke-versjonerte egenskaper på revisjon %ld:\n"
-#: clients/cmdline/props.c:42
-msgid "Must specify revision explicitly when operating on a revision property"
-msgstr "Revisjon må spesifiseres under arbeide med revisjonsegenskaper"
+#: clients/cmdline/props.c:51
+msgid ""
+"Must specify the revision as a number, a date or 'HEAD' when operating on a "
+"revision property"
+msgstr "Revisjonen må spesifiseres som et nummer, en dato eller «HEAD» når det opereres på en revisjonsegenskap"
-#: clients/cmdline/propset-cmd.c:127
+#: clients/cmdline/props.c:58
+msgid "Wrong number of targets specified"
+msgstr "Feil antall mål angitt"
+
+#: clients/cmdline/props.c:67
+msgid "Either a URL or versioned item is required"
+msgstr "Enten en URL eller et versjonert objekt kreves"
+
+#: clients/cmdline/propset-cmd.c:111
#, c-format
msgid "property '%s' set on repository revision %ld\n"
msgstr "Egenskapen «%s» satt på depotrevisjon %ld\n"
-#: clients/cmdline/propset-cmd.c:135
+#: clients/cmdline/propset-cmd.c:119
#, c-format
msgid "Cannot specify revision for setting versioned property '%s'"
msgstr "Kan ikke angi revisjon for setting av versjonert egenskap «%s»"
-#: clients/cmdline/propset-cmd.c:167
+#: clients/cmdline/propset-cmd.c:151
#, c-format
msgid "Explicit target required ('%s' interpreted as prop value)"
msgstr "Eksplisitt mål påkrevd («%s» tolket som egenskapsverdi)"
-#: clients/cmdline/propset-cmd.c:200
+#: clients/cmdline/propset-cmd.c:184
#, c-format
msgid "property '%s' set (recursively) on '%s'\n"
msgstr "Egenskapen «%s» satt (rekursivt) på «%s»\n"
-#: clients/cmdline/propset-cmd.c:201
+#: clients/cmdline/propset-cmd.c:185
#, c-format
msgid "property '%s' set on '%s'\n"
msgstr "Egenskapen «%s» satt på «%s»\n"
@@ -1943,7 +1943,7 @@
msgid "Try 'svn revert --recursive' instead?"
msgstr "Prøve «svn revert --recursive» i stedet?"
-#: clients/cmdline/status.c:278
+#: clients/cmdline/status.c:261
#, c-format
msgid "'%s' has lock token, but no lock owner"
msgstr "«%s» har en låsnøkkel, men ingen eier av låsen"
@@ -1953,7 +1953,7 @@
msgid "'%s' to '%s' is not a valid relocation"
msgstr "«%s» til «%s» er ikke en gyldig relokalisering"
-#: clients/cmdline/util.c:57
+#: clients/cmdline/util.c:58
#, c-format
msgid ""
"\n"
@@ -1962,7 +1962,7 @@
"\n"
"La inn revisjon %ld.\n"
-#: clients/cmdline/util.c:125
+#: clients/cmdline/util.c:126
msgid ""
"None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and "
"no 'editor-cmd' run-time configuration option was found"
@@ -1970,53 +1970,53 @@
"Ingen av miljøvariablene SVN_EDITOR, VISUAL eller EDITOR er satt, og "
"innstillingen «editor-cmd» ble heller ikke funnet"
-#: clients/cmdline/util.c:152
+#: clients/cmdline/util.c:153
msgid "Can't get working directory"
msgstr "Kan ikke hente arbeidskatalog"
-#: clients/cmdline/util.c:163
+#: clients/cmdline/util.c:164
#, c-format
msgid "Can't change working directory to '%s'"
msgstr "Kan ikke forandre arbeidskatalog til «%s»"
-#: clients/cmdline/util.c:189
+#: clients/cmdline/util.c:190
#, c-format
msgid "Can't write to '%s'"
msgstr "Kan ikke skrive til «%s»"
-#: clients/cmdline/util.c:204 clients/cmdline/util.c:228
+#: clients/cmdline/util.c:205 clients/cmdline/util.c:229
#: libsvn_fs_fs/fs_fs.c:1082 libsvn_fs_fs/fs_fs.c:3568 libsvn_subr/io.c:2359
#, c-format
msgid "Can't stat '%s'"
msgstr "Finner ikke status for «%s»"
-#: clients/cmdline/util.c:219
+#: clients/cmdline/util.c:220
#, c-format
msgid "system('%s') returned %d"
msgstr "system(«%s») returnerte %d"
-#: clients/cmdline/util.c:284
+#: clients/cmdline/util.c:285
msgid "Can't restore working directory"
msgstr "Kan ikke gjenopprette arbeidskatalog"
-#: clients/cmdline/util.c:324
+#: clients/cmdline/util.c:325
msgid "Log message contains a zero byte"
msgstr "Loggmeldingen inneholder en null-byte"
-#: clients/cmdline/util.c:384
+#: clients/cmdline/util.c:385
msgid "Your commit message was left in a temporary file:"
msgstr "Din loggmelding er lagt i en midlertidig fil:"
-#: clients/cmdline/util.c:436
+#: clients/cmdline/util.c:437
msgid "--This line, and those below, will be ignored--"
msgstr "--Denne linjen og de som er under vil bli ignorert--"
-#: clients/cmdline/util.c:549
+#: clients/cmdline/util.c:550
msgid "Cannot invoke editor to get log message when non-interactive"
msgstr ""
"Kan ikke starte tekstbehandler for å hente loggmelding når ikke-interaktiv"
-#: clients/cmdline/util.c:562
+#: clients/cmdline/util.c:563
msgid ""
"Could not use external editor to fetch log message; consider setting the "
"$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) "
@@ -2026,7 +2026,7 @@
"vurdere å sette miljøvariabelen $SVN_EDITOR eller bruke valgene --message (-"
"m) eller --file (-F)"
-#: clients/cmdline/util.c:597
+#: clients/cmdline/util.c:598
msgid ""
"\n"
"Log message unchanged or not specified\n"
@@ -2036,11 +2036,11 @@
"Loggmeldingen er uforandret eller ikke spesifisert\n"
"Avbryt (a), fortsett (c), rediger (e)\n"
-#: clients/cmdline/util.c:650
+#: clients/cmdline/util.c:651
msgid "Use --force to override this restriction"
msgstr "Bruk --force for å komme rundt denne begrensningen"
-#: clients/cmdline/util.c:672 include/svn_error_codes.h:229
+#: clients/cmdline/util.c:673 include/svn_error_codes.h:229
#: libsvn_subr/cmdline.c:278 libsvn_subr/cmdline.c:295
msgid "Write error"
msgstr "Feil ved skriving"
@@ -2815,12 +2815,12 @@
msgid "A log message was given where none was necessary"
msgstr "En loggmelding ble gitt der ingen var nødvendig"
-#: libsvn_client/add.c:370
+#: libsvn_client/add.c:371
#, c-format
msgid "Error during recursive add of '%s'"
msgstr "Feil under rekursiv tillegging av «%s»"
-#: libsvn_client/add.c:381
+#: libsvn_client/add.c:382
#, c-format
msgid "Can't close directory '%s'"
msgstr "Kan ikke lukke katalogen «%s»"
@@ -2985,9 +2985,9 @@
#: libsvn_client/prop_commands.c:446 libsvn_client/prop_commands.c:602
#: libsvn_client/prop_commands.c:951 libsvn_client/ra.c:180
#: libsvn_client/revisions.c:89 libsvn_client/status.c:250
-#: libsvn_client/switch.c:104 libsvn_wc/adm_ops.c:2260
-#: libsvn_wc/adm_ops.c:2286 libsvn_wc/adm_ops.c:2323 libsvn_wc/copy.c:448
-#: libsvn_wc/entries.c:1497 libsvn_wc/entries.c:1989 libsvn_wc/props.c:286
+#: libsvn_client/switch.c:104 libsvn_wc/adm_ops.c:2261
+#: libsvn_wc/adm_ops.c:2287 libsvn_wc/adm_ops.c:2324 libsvn_wc/copy.c:448
+#: libsvn_wc/entries.c:1498 libsvn_wc/entries.c:1990 libsvn_wc/props.c:286
#: libsvn_wc/props.c:1124 libsvn_wc/questions.c:171
#, c-format
msgid "'%s' is not under version control"
@@ -3246,8 +3246,8 @@
msgid "'%s' already exists"
msgstr "«%s» finnes allerede"
-#: libsvn_client/export.c:686 libsvn_wc/update_editor.c:1633
-#: libsvn_wc/update_editor.c:2406
+#: libsvn_client/export.c:686 libsvn_wc/update_editor.c:1634
+#: libsvn_wc/update_editor.c:2407
#, c-format
msgid "Checksum mismatch for '%s'; expected: '%s', actual: '%s'"
msgstr "Kontrollsum for «%s» er feil. Forventet: «%s», gjeldende: «%s»"
@@ -3638,103 +3638,103 @@
msgid "set repository uuid"
msgstr "sett depot-uuid"
-#: libsvn_fs_base/dag.c:313
+#: libsvn_fs_base/dag.c:239
#, c-format
msgid "Corrupt DB: initial transaction id not '0' in filesystem '%s'"
msgstr ""
"Ødelagt database: Innledende transaksjons-ID er ikke «0» i filsystem «%s»"
-#: libsvn_fs_base/dag.c:321
+#: libsvn_fs_base/dag.c:247
#, c-format
msgid "Corrupt DB: initial copy id not '0' in filesystem '%s'"
msgstr "Ødelagt database: Innledende kopi-ID er ikke «0» i filsystem «%s»"
-#: libsvn_fs_base/dag.c:330
+#: libsvn_fs_base/dag.c:256
#, c-format
msgid "Corrupt DB: initial revision number is not '0' in filesystem '%s'"
msgstr ""
"Ødelagt database: Innledende revisjonsnummer er ikke «0» i filsystem «%s»"
-#: libsvn_fs_base/dag.c:378 libsvn_fs_base/dag.c:555 libsvn_fs_fs/dag.c:386
+#: libsvn_fs_base/dag.c:304 libsvn_fs_base/dag.c:481 libsvn_fs_fs/dag.c:386
msgid "Attempted to create entry in non-directory parent"
msgstr "Forsøkte å opprette post i forelder som ikke er en katalog"
-#: libsvn_fs_base/dag.c:549 libsvn_fs_fs/dag.c:380
+#: libsvn_fs_base/dag.c:475 libsvn_fs_fs/dag.c:380
#, c-format
msgid "Attempted to create a node with an illegal name '%s'"
msgstr "Forsøkte å opprette en node med ulovlig navn «%s»"
-#: libsvn_fs_base/dag.c:561 libsvn_fs_base/dag.c:795 libsvn_fs_fs/dag.c:392
+#: libsvn_fs_base/dag.c:487 libsvn_fs_base/dag.c:721 libsvn_fs_fs/dag.c:392
msgid "Attempted to clone child of non-mutable node"
msgstr "Forsøkte å klone barn av ikke-foranderlig node"
-#: libsvn_fs_base/dag.c:568
+#: libsvn_fs_base/dag.c:494
msgid "Attempted to create entry that already exists"
msgstr "Forsøkte å opprette post som allerede finnes"
-#: libsvn_fs_base/dag.c:619 libsvn_fs_fs/dag.c:454
+#: libsvn_fs_base/dag.c:545 libsvn_fs_fs/dag.c:454
msgid "Attempted to set entry in non-directory node"
msgstr "Forsøkte å sette post i node som ikke er en katalog"
-#: libsvn_fs_base/dag.c:625 libsvn_fs_fs/dag.c:460
+#: libsvn_fs_base/dag.c:551 libsvn_fs_fs/dag.c:460
msgid "Attempted to set entry in immutable node"
msgstr "Forsøkte å sette post i uforanderlig node"
-#: libsvn_fs_base/dag.c:689
+#: libsvn_fs_base/dag.c:615
#, c-format
msgid "Can't set proplist on *immutable* node-revision %s"
msgstr "Kan ikke sette egenskapsliste i *uforanderlig* noderevisjon %s"
-#: libsvn_fs_base/dag.c:801
+#: libsvn_fs_base/dag.c:727
#, c-format
msgid "Attempted to make a child clone with an illegal name '%s'"
msgstr "Forsøkte å klone et barn med det ulovlige navnet «%s»"
-#: libsvn_fs_base/dag.c:926
+#: libsvn_fs_base/dag.c:852
#, c-format
msgid "Attempted to delete entry '%s' from *non*-directory node"
msgstr "Forsøkte å slette posten «%s» fra node som *ikke* er en katalog"
-#: libsvn_fs_base/dag.c:932
+#: libsvn_fs_base/dag.c:858
#, c-format
msgid "Attempted to delete entry '%s' from immutable directory node"
msgstr "Forsøkte å slette posten «%s» fra uforanderlig katalognode"
-#: libsvn_fs_base/dag.c:939
+#: libsvn_fs_base/dag.c:865
#, c-format
msgid "Attempted to delete a node with an illegal name '%s'"
msgstr "Forsøkte å slette en node med det ulovlige navnet «%s»"
-#: libsvn_fs_base/dag.c:954 libsvn_fs_base/dag.c:987
+#: libsvn_fs_base/dag.c:880 libsvn_fs_base/dag.c:913
#, c-format
msgid "Delete failed: directory has no entry '%s'"
msgstr "Sletting feilet: Katalogen har ingen post «%s»"
-#: libsvn_fs_base/dag.c:1036
+#: libsvn_fs_base/dag.c:962
msgid "Attempted removal of immutable node"
msgstr "Forsøkte å fjerne uforanderlig node"
-#: libsvn_fs_base/dag.c:1156
+#: libsvn_fs_base/dag.c:1082
msgid "Attempted to get textual contents of a *non*-file node"
msgstr "Forsøkte å hente tekstinnhold fra en *ikke*-filnode"
-#: libsvn_fs_base/dag.c:1191
+#: libsvn_fs_base/dag.c:1117
msgid "Attempted to get length of a *non*-file node"
msgstr "Forsøkte å finne lengden på en *ikke*-filnode"
-#: libsvn_fs_base/dag.c:1217
+#: libsvn_fs_base/dag.c:1143
msgid "Attempted to get checksum of a *non*-file node"
msgstr "Forsøkte å lese kontrollsum fra en *ikke*-filnode"
-#: libsvn_fs_base/dag.c:1248 libsvn_fs_base/dag.c:1302
+#: libsvn_fs_base/dag.c:1174 libsvn_fs_base/dag.c:1228
msgid "Attempted to set textual contents of a *non*-file node"
msgstr "Forsøkte å sette tekstinnhold på en *ikke*-filnode"
-#: libsvn_fs_base/dag.c:1254 libsvn_fs_base/dag.c:1308
+#: libsvn_fs_base/dag.c:1180 libsvn_fs_base/dag.c:1234
msgid "Attempted to set textual contents of an immutable node"
msgstr "Forsøkte å sette tekstinnhold på en uforanderlig node"
-#: libsvn_fs_base/dag.c:1331
+#: libsvn_fs_base/dag.c:1257
#, c-format
msgid ""
"Checksum mismatch, rep '%s':\n"
@@ -3745,12 +3745,12 @@
" forventet: %s\n"
" faktisk: %s\n"
-#: libsvn_fs_base/dag.c:1386
+#: libsvn_fs_base/dag.c:1312
#, c-format
msgid "Attempted to open non-existent child node '%s'"
msgstr "Forsøkte å åpne ikke-eksisterende barnenode «%s»"
-#: libsvn_fs_base/dag.c:1392
+#: libsvn_fs_base/dag.c:1318
#, c-format
msgid "Attempted to open node with an illegal name '%s'"
msgstr "Forsøkte å åpne node med det ulovlige navnet «%s»"
@@ -4067,7 +4067,7 @@
msgid "Failure opening '%s'"
msgstr "Feil under åpning av «%s»"
-#: libsvn_fs_base/tree.c:1407
+#: libsvn_fs_base/tree.c:1407 libsvn_fs_fs/tree.c:1155
msgid "Cannot compare property value between two different filesystems"
msgstr "Kan ikke sammenligne egenskapsverdi mellom to forskjellige filsystemer"
@@ -4075,51 +4075,42 @@
msgid "Corrupt DB: faulty predecessor count"
msgstr "Ødelagt database: Galt forfedreantall"
-#: libsvn_fs_base/tree.c:1817 libsvn_fs_base/tree.c:2206
-#: libsvn_fs_base/tree.c:2301 libsvn_fs_base/tree.c:2397
-#: libsvn_fs_fs/tree.c:1192
+#: libsvn_fs_base/tree.c:1796 libsvn_fs_fs/tree.c:1192
#, c-format
msgid "Unexpected immutable node at '%s'"
msgstr "Uventet uforanderlig node i «%s»"
-#: libsvn_fs_base/tree.c:1868
-#, c-format
-msgid ""
-"No deletion changes for path '%s' in transaction '%s' of filesystem '%s'"
-msgstr ""
-"Ingen sletteforandringer for sti «%s» i transaksjon «%s» i filsystem «%s»"
-
-#: libsvn_fs_base/tree.c:1887 libsvn_fs_fs/tree.c:1215
+#: libsvn_fs_base/tree.c:1817 libsvn_fs_fs/tree.c:1215
#, c-format
msgid "Conflict at '%s'"
msgstr "Konflikt i «%s»"
-#: libsvn_fs_base/tree.c:1936 libsvn_fs_base/tree.c:2847
+#: libsvn_fs_base/tree.c:1867 libsvn_fs_base/tree.c:2570
#: libsvn_fs_fs/tree.c:1264 libsvn_fs_fs/tree.c:1753
msgid "Bad merge; ancestor, source, and target not all in same fs"
msgstr ""
"Feilaktig fletting; opprinnelse, kilde og mål er ikke alle i det samme "
"filsystemet"
-#: libsvn_fs_base/tree.c:1952 libsvn_fs_fs/tree.c:1280
+#: libsvn_fs_base/tree.c:1883 libsvn_fs_fs/tree.c:1280
#, c-format
msgid "Bad merge; target '%s' has id '%s', same as ancestor"
msgstr "Feilaktig fletting; målet «%s» har ID «%s», samme som opprinnelse"
-#: libsvn_fs_base/tree.c:2654
+#: libsvn_fs_base/tree.c:2377
#, c-format
msgid "Transaction '%s' out of date with respect to revision '%s'"
msgstr "Transaksjonen «%s» er utdatert i forhold til revisjon «%s»"
-#: libsvn_fs_base/tree.c:3030 libsvn_fs_fs/tree.c:1892
+#: libsvn_fs_base/tree.c:2753 libsvn_fs_fs/tree.c:1892
msgid "The root directory cannot be deleted"
msgstr "Rotkatalogen kan ikke slettes"
-#: libsvn_fs_base/tree.c:3189 libsvn_fs_fs/tree.c:1939
+#: libsvn_fs_base/tree.c:2912 libsvn_fs_fs/tree.c:1939
msgid "Copy from mutable tree not currently supported"
msgstr "Kopi fra foranderlig tre er foreløpig ikke støttet"
-#: libsvn_fs_base/tree.c:3684 libsvn_fs_fs/tree.c:2363
+#: libsvn_fs_base/tree.c:3407 libsvn_fs_fs/tree.c:2363
#, c-format
msgid ""
"Base checksum mismatch on '%s':\n"
@@ -4130,11 +4121,11 @@
" forventet: %s\n"
" faktisk: %s\n"
-#: libsvn_fs_base/tree.c:3937 libsvn_fs_fs/tree.c:2599
-msgid "Asking contents changed in two different filesystems"
-msgstr "Forespurt innhold forandret i to forskjellige filsystemer"
+#: libsvn_fs_base/tree.c:3660 libsvn_fs_fs/tree.c:2599
+msgid "Cannot compare file contents between two different filesystems"
+msgstr "Kan ikke sammenligne filinnhold mellom to forskjellige filsystemer"
-#: libsvn_fs_base/tree.c:3946 libsvn_fs_base/tree.c:3951
+#: libsvn_fs_base/tree.c:3669 libsvn_fs_base/tree.c:3674
#: libsvn_fs_fs/tree.c:2608 libsvn_fs_fs/tree.c:2613
#: libsvn_repos/rev_hunt.c:540
#, c-format
@@ -4378,10 +4369,6 @@
msgid "Transaction cleanup failed"
msgstr "Transaksjonsopprydning feilet"
-#: libsvn_fs_fs/tree.c:1155
-msgid "Asking props changed in two different filesystems"
-msgstr "Forespurte egenskaper forandret seg i to forskjellige filsystemer"
-
#: libsvn_ra/ra_loader.c:212
#, c-format
msgid "Mismatched RA version for '%s': found %d.%d.%d%s, expected %d.%d.%d%s"
@@ -5420,7 +5407,7 @@
msgid "Config error: invalid boolean value '%s'"
msgstr "Feil i oppsettet: Ugyldig booleansk verdi «%s»"
-#: libsvn_subr/config.c:833
+#: libsvn_subr/config.c:882
#, c-format
msgid "Config error: invalid integer value '%s'"
msgstr "Feil i oppsettet: Ugyldig heltallsverdi «%s»"
@@ -6061,15 +6048,15 @@
msgid "Error opening local file"
msgstr "Feil under åpning av lokal fil"
-#: libsvn_wc/adm_files.c:196
+#: libsvn_wc/adm_files.c:202
msgid "Bad type indicator"
msgstr "Ugyldig typeindikator"
-#: libsvn_wc/adm_files.c:404
+#: libsvn_wc/adm_files.c:410
msgid "APR_APPEND not supported for adm files"
msgstr "APR_APPEND er ikke støttet for administrasjonsfiler"
-#: libsvn_wc/adm_files.c:447
+#: libsvn_wc/adm_files.c:453
msgid ""
"Your .svn/tmp directory may be missing or corrupt; run 'svn cleanup' and try "
"again"
@@ -6077,64 +6064,64 @@
"Din .svn/tmp-katalog mangler kanskje eller er ødelagt. Kjør «svn cleanup» "
"og prøv igjen"
-#: libsvn_wc/adm_files.c:622 libsvn_wc/adm_files.c:698 libsvn_wc/lock.c:377
-#: libsvn_wc/lock.c:630
+#: libsvn_wc/adm_files.c:628 libsvn_wc/adm_files.c:704 libsvn_wc/lock.c:378
+#: libsvn_wc/lock.c:631
#, c-format
msgid "'%s' is not a working copy"
msgstr "«%s» er ikke en arbeidskopi"
-#: libsvn_wc/adm_files.c:629 libsvn_wc/adm_files.c:705
-#: libsvn_wc/adm_files.c:769
+#: libsvn_wc/adm_files.c:635 libsvn_wc/adm_files.c:711
+#: libsvn_wc/adm_files.c:775
msgid "No such thing as 'base' working copy properties!"
msgstr "Det er ingenting som heter «base»-egenskaper for arbeidskopier!"
-#: libsvn_wc/adm_files.c:838 libsvn_wc/util.c:51
+#: libsvn_wc/adm_files.c:844 libsvn_wc/util.c:51
#, c-format
msgid "'%s' is not a directory"
msgstr "«%s» er ikke en katalog"
-#: libsvn_wc/adm_files.c:892
+#: libsvn_wc/adm_files.c:898
#, c-format
msgid "No entry for '%s'"
msgstr "Ingen post for «%s»"
-#: libsvn_wc/adm_files.c:904
+#: libsvn_wc/adm_files.c:910
#, c-format
msgid "Revision %ld doesn't match existing revision %ld in '%s'"
msgstr "Revisjon %ld samsvarer ikke med den eksisterende revisjonen %ld i «%s»"
-#: libsvn_wc/adm_files.c:913
+#: libsvn_wc/adm_files.c:919
#, c-format
msgid "URL '%s' doesn't match existing URL '%s' in '%s'"
msgstr "Adressen «%s» samsvarer ikke med den eksisterende adressen «%s» i «%s»"
-#: libsvn_wc/adm_ops.c:222
+#: libsvn_wc/adm_ops.c:223
#, c-format
msgid "Unrecognized node kind: '%s'"
msgstr "Ukjent nodetype: «%s»"
-#: libsvn_wc/adm_ops.c:442 libsvn_wc/update_editor.c:945
-#: libsvn_wc/update_editor.c:1346
+#: libsvn_wc/adm_ops.c:443 libsvn_wc/update_editor.c:946
+#: libsvn_wc/update_editor.c:1347
#, c-format
msgid "Error writing log file for '%s'"
msgstr "Feil under skriving av loggfil for «%s»"
-#: libsvn_wc/adm_ops.c:976
+#: libsvn_wc/adm_ops.c:977
#, c-format
msgid "'%s' not found"
msgstr "Fant ikke «%s»"
-#: libsvn_wc/adm_ops.c:980
+#: libsvn_wc/adm_ops.c:981
#, c-format
msgid "Unsupported node kind for path '%s'"
msgstr "Nodetypen i filstien «%s» er ikke støttet"
-#: libsvn_wc/adm_ops.c:1010
+#: libsvn_wc/adm_ops.c:1011
#, c-format
msgid "'%s' is already under version control"
msgstr "«%s» er allerede under versjonskontroll"
-#: libsvn_wc/adm_ops.c:1022
+#: libsvn_wc/adm_ops.c:1023
#, c-format
msgid ""
"Can't replace '%s' with a node of a differing type; commit the deletion, "
@@ -6143,53 +6130,53 @@
"Kan ikke erstatte «%s» med en annen nodetype. Send inn slettingen, oppdater "
"forelderen og legg deretter til «%s»"
-#: libsvn_wc/adm_ops.c:1038
+#: libsvn_wc/adm_ops.c:1039
#, c-format
msgid "Can't find parent directory's entry while trying to add '%s'"
msgstr ""
"Kan ikke finne foreldrekatalogens oppføring under forsøk på å legge til «%s»"
-#: libsvn_wc/adm_ops.c:1043
+#: libsvn_wc/adm_ops.c:1044
#, c-format
msgid "Can't add '%s' to a parent directory scheduled for deletion"
msgstr "Kan ikke legge til «%s» når foreldrekatalogen er klarert for sletting"
-#: libsvn_wc/adm_ops.c:1059
+#: libsvn_wc/adm_ops.c:1060
#, c-format
msgid "The URL '%s' has different repository root than its parent"
msgstr "URLen «%s» har en forskjellig depotrot enn sin forelder"
-#: libsvn_wc/adm_ops.c:1333 libsvn_wc/adm_ops.c:1338 libsvn_wc/adm_ops.c:1374
+#: libsvn_wc/adm_ops.c:1334 libsvn_wc/adm_ops.c:1339 libsvn_wc/adm_ops.c:1375
#, c-format
msgid "Error restoring props for '%s'"
msgstr "Feil ved gjenoppretting av egenskaper for «%s»"
-#: libsvn_wc/adm_ops.c:1348
+#: libsvn_wc/adm_ops.c:1349
#, c-format
msgid "Error removing props for '%s'"
msgstr "Feil ved sletting av egenskaper for «%s»"
-#: libsvn_wc/adm_ops.c:1420
+#: libsvn_wc/adm_ops.c:1421
#, c-format
msgid "Error restoring text for '%s'"
msgstr "Feil ved gjenoppretting av tekst for «%s»"
-#: libsvn_wc/adm_ops.c:1521
+#: libsvn_wc/adm_ops.c:1522
#, c-format
msgid "Cannot revert: '%s' is not under version control"
msgstr "Kan ikke tilbakestille: «%s» er ikke under versjonskontroll"
-#: libsvn_wc/adm_ops.c:1549
+#: libsvn_wc/adm_ops.c:1550
#, c-format
msgid "Cannot revert '%s': unsupported entry node kind"
msgstr "Kan ikke tilbakestille «%s»: Nodetypen er ikke støttet"
-#: libsvn_wc/adm_ops.c:1560
+#: libsvn_wc/adm_ops.c:1561
#, c-format
msgid "Cannot revert '%s': unsupported node kind in working copy"
msgstr "Kan ikke tilbakestille «%s»: Nodetypen i arbeidskopien er ikke støttet"
-#: libsvn_wc/adm_ops.c:1608
+#: libsvn_wc/adm_ops.c:1609
msgid ""
"Cannot revert addition of current directory; please try again from the "
"parent directory"
@@ -6197,12 +6184,12 @@
"Kan ikke tilbakestille tillegging av gjeldende katalog. Prøv igjen med "
"foreldrekatalogen"
-#: libsvn_wc/adm_ops.c:1630
+#: libsvn_wc/adm_ops.c:1631
#, c-format
msgid "Unknown or unexpected kind for path '%s'"
msgstr "Ukjent eller uventet type av filstien «%s»:"
-#: libsvn_wc/adm_ops.c:1833
+#: libsvn_wc/adm_ops.c:1834
#, c-format
msgid "File '%s' has local modifications"
msgstr "Filen «%s» har lokale endringer"
@@ -6251,63 +6238,63 @@
msgid "Cannot copy to '%s' as it is scheduled for deletion"
msgstr "Kan ikke kopiere til «%s» fordi den er klargjort for sletting"
-#: libsvn_wc/entries.c:126
+#: libsvn_wc/entries.c:127
#, c-format
msgid "Error writing entries file for '%s'"
msgstr "Feil under skriving av postfil for «%s»"
-#: libsvn_wc/entries.c:221
+#: libsvn_wc/entries.c:222
#, c-format
msgid "Entry for '%s' has invalid repository root"
msgstr "Posten «%s» har ugyldig depotrot"
-#: libsvn_wc/entries.c:243
+#: libsvn_wc/entries.c:244
#, c-format
msgid "Entry '%s' has invalid node kind"
msgstr "Posten «%s» har ugyldig nodetype"
-#: libsvn_wc/entries.c:268 libsvn_wc/entries.c:318 libsvn_wc/entries.c:358
-#: libsvn_wc/entries.c:385 libsvn_wc/entries.c:412
+#: libsvn_wc/entries.c:269 libsvn_wc/entries.c:319 libsvn_wc/entries.c:359
+#: libsvn_wc/entries.c:386 libsvn_wc/entries.c:413
#, c-format
msgid "Entry '%s' has invalid '%s' value"
msgstr "Oppføringen «%s» har ugyldig «%s»-verdi"
-#: libsvn_wc/entries.c:626
+#: libsvn_wc/entries.c:627
msgid "Missing default entry"
msgstr "Mangler standardoppføring"
-#: libsvn_wc/entries.c:631
+#: libsvn_wc/entries.c:632
msgid "Default entry has no revision number"
msgstr "Standardoppføringen mangler revisjonsnummer"
-#: libsvn_wc/entries.c:636
+#: libsvn_wc/entries.c:637
msgid "Default entry is missing URL"
msgstr "Standardoppføringen mangler adresse"
-#: libsvn_wc/entries.c:724
+#: libsvn_wc/entries.c:725
#, c-format
msgid "XML parser failed in '%s'"
msgstr "XML-behandler feilet i «%s»"
-#: libsvn_wc/entries.c:812
+#: libsvn_wc/entries.c:813
#, c-format
msgid "Corrupt working copy: '%s' has no default entry"
msgstr "Ødelagt arbeidskopi: «%s» mangler standardoppføring"
-#: libsvn_wc/entries.c:829
+#: libsvn_wc/entries.c:830
#, c-format
msgid "Corrupt working copy: directory '%s' has an invalid schedule"
msgstr ""
"Ødelagt arbeidskopi: Katalogen «%s» er klargjort for en ugyldig oppgave"
-#: libsvn_wc/entries.c:863
+#: libsvn_wc/entries.c:864
#, c-format
msgid "Corrupt working copy: '%s' in directory '%s' has an invalid schedule"
msgstr ""
"Ødelagt arbeidskopi: «%s» i katalogen «%s» er klargjort for en ugyldig "
"oppgave"
-#: libsvn_wc/entries.c:872
+#: libsvn_wc/entries.c:873
#, c-format
msgid ""
"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
@@ -6316,7 +6303,7 @@
"Ødelagt arbeidskopi: «%s» i katalogen «%s» (som er klargjort for å bli lagt "
"til) er ikke selv klargjort for dette"
-#: libsvn_wc/entries.c:880
+#: libsvn_wc/entries.c:881
#, c-format
msgid ""
"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
@@ -6325,7 +6312,7 @@
"Ødelagt arbeidskopi: «%s» i katalogen «%s» (som er klargjort for sletting) "
"er ikke selv klargjort for dette"
-#: libsvn_wc/entries.c:888
+#: libsvn_wc/entries.c:889
#, c-format
msgid ""
"Corrupt working copy: '%s' in directory '%s' (which is scheduled for "
@@ -6334,17 +6321,17 @@
"Ødelagt arbeidskopi: «%s» i katalogen «%s» (som er klargjort for å bli "
"byttet ut) er ikke selv klargjort for dette"
-#: libsvn_wc/entries.c:1203
+#: libsvn_wc/entries.c:1204
#, c-format
msgid "No default entry in directory '%s'"
msgstr "Standardoppføring mangler i katalogen «%s»"
-#: libsvn_wc/entries.c:1258
+#: libsvn_wc/entries.c:1259
#, c-format
msgid "Error writing to '%s'"
msgstr "Feil under skriving til «%s»"
-#: libsvn_wc/entries.c:1524
+#: libsvn_wc/entries.c:1525
#, c-format
msgid ""
"Can't add '%s' to deleted directory; try undeleting its parent directory "
@@ -6353,7 +6340,7 @@
"Kan ikke legge «%s» til en slettet katalog. Prøv å gjenopprette "
"foreldrekatalogen først"
-#: libsvn_wc/entries.c:1530
+#: libsvn_wc/entries.c:1531
#, c-format
msgid ""
"Can't replace '%s' in deleted directory; try undeleting its parent directory "
@@ -6362,188 +6349,188 @@
"Kan ikke slette «%s» i en slettet katalog. Prøv å gjenopprette "
"foreldrekatalogen først"
-#: libsvn_wc/entries.c:1539
+#: libsvn_wc/entries.c:1540
#, c-format
msgid "'%s' is marked as absent, so it cannot be scheduled for addition"
msgstr ""
"«%s» er merket som fraværende, så den kan ikke forberedes for å bli lagt til"
-#: libsvn_wc/entries.c:1568
+#: libsvn_wc/entries.c:1569
#, c-format
msgid "Entry '%s' is already under version control"
msgstr "Oppføringen «%s» er allerede under versjonskontroll"
-#: libsvn_wc/entries.c:1660
+#: libsvn_wc/entries.c:1661
#, c-format
msgid "Entry '%s' has illegal schedule"
msgstr "Oppføringen «%s» er forberedt for å gjøre en ulovlig oppgave"
-#: libsvn_wc/entries.c:1801
+#: libsvn_wc/entries.c:1802
#, c-format
msgid "No such entry: '%s'"
msgstr "Post ikke funnet: «%s»"
-#: libsvn_wc/entries.c:1912
+#: libsvn_wc/entries.c:1913
#, c-format
msgid "Directory '%s' has no THIS_DIR entry"
msgstr "Katalogen «%s» har ingen THIS_DIR-oppføring"
-#: libsvn_wc/entries.c:2001
+#: libsvn_wc/entries.c:2002
#, c-format
msgid "'%s' has an unrecognized node kind"
msgstr "«%s» har en ukjent nodetype"
-#: libsvn_wc/entries.c:2037
+#: libsvn_wc/entries.c:2038
#, c-format
msgid "Unexpectedly found '%s': path is marked 'missing'"
msgstr "Fant «%s» uventet: Filstien er merket som savnet"
-#: libsvn_wc/lock.c:158 libsvn_wc/lock.c:359
+#: libsvn_wc/lock.c:159 libsvn_wc/lock.c:360
#, c-format
msgid "Working copy '%s' locked"
msgstr "Arbeidskopien «%s» er låst"
-#: libsvn_wc/lock.c:279
+#: libsvn_wc/lock.c:280
#, c-format
msgid "Path '%s' ends in '%s', which is unsupported for this operation"
msgstr ""
"Filstien «%s» slutter på «%s» som ikke er støttet til denne operasjonen"
-#: libsvn_wc/lock.c:678
+#: libsvn_wc/lock.c:679
#, c-format
msgid "Working copy '%s' is missing or not locked"
msgstr "Arbeidskopien «%s» mangler eller er ikke låst"
-#: libsvn_wc/lock.c:1078
+#: libsvn_wc/lock.c:1079
#, c-format
msgid "Write-lock stolen in '%s'"
msgstr "Skrivelåsen er stjålet i «%s»"
-#: libsvn_wc/lock.c:1086
+#: libsvn_wc/lock.c:1087
#, c-format
msgid "No write-lock in '%s'"
msgstr "Ingen skrivelås i «%s»"
-#: libsvn_wc/lock.c:1108
+#: libsvn_wc/lock.c:1109
#, c-format
msgid "Lock file '%s' is not a regular file"
msgstr "Låsfilen «%s» er ikke en vanlig fil"
-#: libsvn_wc/log.c:182
+#: libsvn_wc/log.c:183
msgid "Can't move source to dest"
msgstr "Kan ikke flytte kilden til målet"
-#: libsvn_wc/log.c:338
+#: libsvn_wc/log.c:339
#, c-format
msgid "In directory '%s'"
msgstr "I katalogen «%s»"
-#: libsvn_wc/log.c:364
+#: libsvn_wc/log.c:365
#, c-format
msgid "Missing 'left' attribute in '%s'"
msgstr "Mangler «venstre»-attributt i «%s»"
-#: libsvn_wc/log.c:371
+#: libsvn_wc/log.c:372
#, c-format
msgid "Missing 'right' attribute in '%s'"
msgstr "Mangler «høyre»-attributt i «%s»"
-#: libsvn_wc/log.c:414
+#: libsvn_wc/log.c:415
#, c-format
msgid "Missing 'dest' attribute in '%s'"
msgstr "Mangler «mål»-attributt i «%s»"
-#: libsvn_wc/log.c:474
+#: libsvn_wc/log.c:475
#, c-format
msgid "Missing 'timestamp' attribute in '%s'"
msgstr "Mangler «tidsmerke»-attributt i «%s»"
-#: libsvn_wc/log.c:550 libsvn_wc/log.c:583
+#: libsvn_wc/log.c:551 libsvn_wc/log.c:584
#, c-format
msgid "Error checking path '%s'"
msgstr "Feil under kontroll av filstien «%s»"
-#: libsvn_wc/log.c:557 libsvn_wc/log.c:590
+#: libsvn_wc/log.c:558 libsvn_wc/log.c:591
#, c-format
msgid "Error getting 'affected time' on '%s'"
msgstr "Feil under henting av endringstid på «%s»"
-#: libsvn_wc/log.c:601
+#: libsvn_wc/log.c:602
#, c-format
msgid "Error modifying entry for '%s'"
msgstr "Feil under endring av oppføring for «%s»"
-#: libsvn_wc/log.c:627
+#: libsvn_wc/log.c:628
#, c-format
msgid "Error removing lock from entry for '%s'"
msgstr "Feil ved fjerning av lås fra post for «%s»"
-#: libsvn_wc/log.c:758
+#: libsvn_wc/log.c:759
#, c-format
msgid "Missing 'revision' attribute for '%s'"
msgstr "Mangler «revisjon»-attributt for «%s»"
-#: libsvn_wc/log.c:772
+#: libsvn_wc/log.c:773
#, c-format
msgid "Log command for directory '%s' is mislocated"
msgstr "Loggkommando for katalogen «%s» er feilplassert"
-#: libsvn_wc/log.c:939 libsvn_wc/log.c:1011
+#: libsvn_wc/log.c:940 libsvn_wc/log.c:1012
#, c-format
msgid "Error checking existence of '%s'"
msgstr "Feil mens eksistensen av «%s» ble undersøkt"
-#: libsvn_wc/log.c:950 libsvn_wc/log.c:1022
+#: libsvn_wc/log.c:951 libsvn_wc/log.c:1023
#, c-format
msgid "Error comparing '%s' and '%s'"
msgstr "Feil under sammenligning av «%s» og «%s»"
-#: libsvn_wc/log.c:962
+#: libsvn_wc/log.c:963
#, c-format
msgid "Error getting 'affected time' for '%s'"
msgstr "Feil under henting av endringstid for «%s»"
-#: libsvn_wc/log.c:1033 libsvn_wc/log.c:1120
+#: libsvn_wc/log.c:1034 libsvn_wc/log.c:1121
#, c-format
msgid "Error getting 'affected time' of '%s'"
msgstr "Feil under henting av siste endringstid på «%s»"
-#: libsvn_wc/log.c:1091
+#: libsvn_wc/log.c:1092
#, c-format
msgid "Error replacing text-base of '%s'"
msgstr "Feil under bytting av tekstbasen for «%s»"
-#: libsvn_wc/log.c:1160 libsvn_wc/log.c:1209
+#: libsvn_wc/log.c:1161 libsvn_wc/log.c:1210
#, c-format
msgid "Error modifying entry of '%s'"
msgstr "Feil under endring av oppføringen på «%s»"
-#: libsvn_wc/log.c:1268
+#: libsvn_wc/log.c:1269
#, c-format
msgid "Log entry missing 'name' attribute (entry '%s' for directory '%s')"
msgstr ""
"Loggoppføringen mangler «navn»-attributt (oppføring «%s» for katalogen «%s»)"
-#: libsvn_wc/log.c:1330
+#: libsvn_wc/log.c:1331
#, c-format
msgid "Unrecognized logfile element '%s' in '%s'"
msgstr "Ukjent loggfilelement «%s» i «%s»"
-#: libsvn_wc/log.c:1341
+#: libsvn_wc/log.c:1342
#, c-format
msgid "Error processing command '%s' in '%s'"
msgstr "Feil under utføring av kommandoen «%s» i «%s»"
-#: libsvn_wc/log.c:1463
+#: libsvn_wc/log.c:1464
msgid "Couldn't open log"
msgstr "Klarte ikke åpne loggen"
-#: libsvn_wc/log.c:1474
+#: libsvn_wc/log.c:1475
#, c-format
msgid "Error reading administrative log file in '%s'"
msgstr "Feil under lesing av administrativ loggfil i «%s»"
-#: libsvn_wc/log.c:1568
+#: libsvn_wc/log.c:1569
#, c-format
msgid "'%s' is not a working copy directory"
msgstr "«%s» er ikke en arbeidskopikatalog"
@@ -6587,7 +6574,7 @@
msgid "Can't find entry '%s' in '%s'"
msgstr "Finner ikke oppføringen «%s» i «%s»"
-#: libsvn_wc/props.c:323 libsvn_wc/props.c:1161 libsvn_wc/update_editor.c:2341
+#: libsvn_wc/props.c:323 libsvn_wc/props.c:1161 libsvn_wc/update_editor.c:2342
#, c-format
msgid "Error writing log for '%s'"
msgstr "Feil under skriving av loggfil for «%s»"
@@ -6707,24 +6694,24 @@
msgid "'%s' has unknown value for svn:eol-style property"
msgstr "«%s» har en ukjent verdi for egenskapen svn:eol-style"
-#: libsvn_wc/update_editor.c:386
+#: libsvn_wc/update_editor.c:387
#, c-format
msgid "No '.' entry in: '%s'"
msgstr "Ingen «.»-oppføring i: «%s»"
-#: libsvn_wc/update_editor.c:862
+#: libsvn_wc/update_editor.c:863
#, c-format
msgid "Won't delete locally modified directory '%s'"
msgstr "Vil ikke slette lokalt endret katalog «%s»"
-#: libsvn_wc/update_editor.c:1048
+#: libsvn_wc/update_editor.c:1049
#, c-format
msgid "Failed to add directory '%s': object of the same name already exists"
msgstr ""
"Klarte ikke å legge til katalogen «%s»: En oppføring med samme navn finnes "
"allerede"
-#: libsvn_wc/update_editor.c:1056
+#: libsvn_wc/update_editor.c:1057
#, c-format
msgid ""
"Failed to add directory '%s': object of the same name as the administrative "
@@ -6733,14 +6720,14 @@
"Klarte ikke å legge til katalogen «%s»: Oppføring med det samme navnet som "
"den administrative katalogen"
-#: libsvn_wc/update_editor.c:1070
+#: libsvn_wc/update_editor.c:1071
#, c-format
msgid "Failed to add directory '%s': copyfrom arguments not yet supported"
msgstr ""
"Klarte ikke å legge til katalogen «%s»: «copyfrom»-argumenter er foreløpig "
"ikke støttet"
-#: libsvn_wc/update_editor.c:1091
+#: libsvn_wc/update_editor.c:1092
#, c-format
msgid ""
"Failed to add directory '%s': object of the same name is already scheduled "
@@ -6749,11 +6736,11 @@
"Klarte ikke å legge til katalogen «%s»: En oppføring med samme navn er "
"allerede forberedt for tillegging"
-#: libsvn_wc/update_editor.c:1314
+#: libsvn_wc/update_editor.c:1315
msgid "Couldn't do property merge"
msgstr "Klarte ikke å flette egenskaper"
-#: libsvn_wc/update_editor.c:1408
+#: libsvn_wc/update_editor.c:1409
#, c-format
msgid ""
"Failed to mark '%s' absent: item of the same name is already scheduled for "
@@ -6762,14 +6749,14 @@
"Klarte ikke å merke «%s» som fraværende: Oppføring med samme navn er "
"allerede forberedt for tillegging"
-#: libsvn_wc/update_editor.c:1500
+#: libsvn_wc/update_editor.c:1501
#, c-format
msgid "Failed to add file '%s': object of the same name already exists"
msgstr ""
"Klarte ikke å legge til filen «%s»: En oppføring med samme navn finnes "
"allerede"
-#: libsvn_wc/update_editor.c:1521
+#: libsvn_wc/update_editor.c:1522
#, c-format
msgid ""
"Failed to add file '%s': object of the same name is already scheduled for "
@@ -6778,26 +6765,26 @@
"Klarte ikke å legge til filen «%s»: En oppføring med samme navn er allerede "
"forberedt for tillegging"
-#: libsvn_wc/update_editor.c:1529
+#: libsvn_wc/update_editor.c:1530
#, c-format
msgid "File '%s' in directory '%s' is not a versioned resource"
msgstr "Filen «%s» i katalogen «%s» er ikke en versjonert ressurs"
-#: libsvn_wc/update_editor.c:1650
+#: libsvn_wc/update_editor.c:1651
#, c-format
msgid "Checksum mismatch for '%s'; recorded: '%s', actual: '%s'"
msgstr "Feil kontrollsum for «%s». Lagret: «%s», gjeldende: «%s»"
-#: libsvn_wc/update_editor.c:1956
+#: libsvn_wc/update_editor.c:1957
msgid "Move failed"
msgstr "Flytting feilet"
-#: libsvn_wc/update_editor.c:2883
+#: libsvn_wc/update_editor.c:2884
#, c-format
msgid "'%s' has no ancestry information"
msgstr "«%s» mangler informasjon om opprinnelse"
-#: libsvn_wc/update_editor.c:2971
+#: libsvn_wc/update_editor.c:2972
#, c-format
msgid "Copyfrom-url '%s' has different repository root than '%s'"
msgstr "Kilde-URL «%s» har forskjellig depotrot enn «%s»"
@@ -7965,16 +7952,30 @@
msgid "'%s' not versioned, and not exported\n"
msgstr "«%s» er verken versjonert eller eksportert\n"
-#~ msgid "Finished"
-#~ msgstr "Ferdig"
-
-#~ msgid "'%s' is already a file/something else"
-#~ msgstr "«%s» er allerede en fil eller noe annet"
-
-#~ msgid "Error writing to stream: unexpected EOF"
-#~ msgstr "Feil under skriving til strøm, forventet EOF"
-
#~ msgid "Can't get default file perms for file at '%s' (file close error)"
#~ msgstr ""
#~ "Klarer ikke å få tak i standard filrettigheter for filen i «%s» (feil "
#~ "under lukking av fil)"
+
+#~ msgid "Error writing to stream: unexpected EOF"
+#~ msgstr "Feil under skriving til strøm, forventet EOF"
+
+#~ msgid "'%s' is already a file/something else"
+#~ msgstr "«%s» er allerede en fil eller noe annet"
+
+#~ msgid "Finished"
+#~ msgstr "Ferdig"
+
+#~ msgid "No URL target available"
+#~ msgstr "Intet URL-mål er tilgjengelig"
+
+#~ msgid ""
+#~ "No deletion changes for path '%s' in transaction '%s' of filesystem '%s'"
+#~ msgstr ""
+#~ "Ingen sletteforandringer for sti «%s» i transaksjon «%s» i filsystem «%s»"
+
+#~ msgid "Asking contents changed in two different filesystems"
+#~ msgstr "Forespurt innhold forandret i to forskjellige filsystemer"
+
+#~ msgid "Asking props changed in two different filesystems"
+#~ msgstr "Forespurte egenskaper forandret seg i to forskjellige filsystemer"
diff --git a/subversion/svnserve/serve.c b/subversion/svnserve/serve.c
index 4e864b7..e77f3a6 100644
--- a/subversion/svnserve/serve.c
+++ b/subversion/svnserve/serve.c
@@ -752,11 +752,11 @@
ccb.date = &date;
ccb.author = &author;
/* ### Note that svn_repos_get_commit_editor actually wants a decoded URL. */
- SVN_CMD_ERR(svn_repos_get_commit_editor2
+ SVN_CMD_ERR(svn_repos_get_commit_editor3
(&editor, &edit_baton, b->repos, NULL,
svn_path_uri_decode(b->repos_url, pool),
b->fs_path, b->user,
- log_msg, commit_done, &ccb, pool));
+ log_msg, commit_done, &ccb, NULL, NULL, pool));
SVN_ERR(svn_ra_svn_write_cmd_response(conn, pool, ""));
SVN_ERR(svn_ra_svn_drive_editor(conn, pool, editor, edit_baton, &aborted));
if (!aborted)
diff --git a/subversion/tests/libsvn_repos/repos-test.c b/subversion/tests/libsvn_repos/repos-test.c
index e99669d..1ed3dcb 100644
--- a/subversion/tests/libsvn_repos/repos-test.c
+++ b/subversion/tests/libsvn_repos/repos-test.c
@@ -1293,6 +1293,271 @@
return SVN_NO_ERROR;
}
+
+
+/* Callback for the commit editor tests that relays requests to
+ authz. */
+svn_error_t *commit_authz_cb (svn_repos_authz_access_t required,
+ svn_boolean_t *allowed,
+ svn_fs_root_t *root,
+ const char *path,
+ void *baton,
+ apr_pool_t *pool)
+{
+ svn_authz_t *authz_file = baton;
+
+ return svn_repos_authz_check_access (authz_file, "test", path,
+ "plato", required, allowed,
+ pool);
+}
+
+
+
+/* Test that the commit editor is taking authz into account
+ properly */
+svn_error_t *
+commit_editor_authz (const char **msg,
+ svn_boolean_t msg_only,
+ svn_test_opts_t *opts,
+ apr_pool_t *pool)
+{
+ svn_repos_t *repos;
+ svn_fs_t *fs;
+ svn_fs_txn_t *txn;
+ svn_fs_root_t *txn_root;
+ svn_revnum_t youngest_rev;
+ void *edit_baton;
+ void *root_baton, *dir_baton, *dir2_baton, *file_baton;
+ svn_error_t *err;
+ const svn_delta_editor_t *editor;
+ svn_authz_t *authz_file;
+ apr_pool_t *subpool = svn_pool_create (pool);
+ const char *authz_contents;
+
+ *msg = "test authz in the commit editor";
+
+ if (msg_only)
+ return SVN_NO_ERROR;
+
+ /* The Test Plan
+ *
+ * We create a greek tree repository, then create a commit editor
+ * and try to perform various operations that will run into authz
+ * callbacks. Check that all operations are properly
+ * authorized/denied when necessary. We don't try to be exhaustive
+ * in the kinds of authz lookups. We just make sure that the editor
+ * replies to the calls in a way that proves it is doing authz
+ * lookups.
+ *
+ * Note that this use of the commit editor is not kosher according
+ * to the generic editor API (we aren't allowed to continue editing
+ * after an error, nor are we allowed to assume that errors are
+ * returned by the operations which caused them). But it should
+ * work fine with this particular editor implementation.
+ */
+
+ /* Create a filesystem and repository. */
+ SVN_ERR (svn_test__create_repos (&repos, "test-repo-commit-authz",
+ opts->fs_type, subpool));
+ fs = svn_repos_fs (repos);
+
+ /* Prepare a txn to receive the greek tree. */
+ SVN_ERR (svn_fs_begin_txn (&txn, fs, 0, subpool));
+ SVN_ERR (svn_fs_txn_root (&txn_root, txn, subpool));
+ SVN_ERR (svn_test__create_greek_tree (txn_root, subpool));
+ SVN_ERR (svn_repos_fs_commit_txn (NULL, repos, &youngest_rev, txn, subpool));
+
+ /* Load the authz rules for the greek tree. */
+ authz_contents =
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/]"
+ APR_EOL_STR
+ "plato = r"
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/A]"
+ APR_EOL_STR
+ "plato = rw"
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/A/alpha]"
+ APR_EOL_STR
+ "plato = "
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/A/C]"
+ APR_EOL_STR
+ APR_EOL_STR
+ "plato = "
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/A/D]"
+ APR_EOL_STR
+ "plato = rw"
+ APR_EOL_STR
+ APR_EOL_STR
+ "[/A/D/G]"
+ APR_EOL_STR
+ "plato = r"
+ ;
+
+ SVN_ERR (authz_get_handle (&authz_file, authz_contents, subpool));
+
+ /* Create a new commit editor in which we're going to play with
+ authz */
+ SVN_ERR (svn_repos_get_commit_editor3 (&editor, &edit_baton, repos,
+ NULL, "file://test", "/",
+ "plato", "test commit", NULL,
+ NULL, commit_authz_cb, authz_file,
+ subpool));
+
+ /* Start fiddling. First get the root, which is readonly. All
+ write operations fail because of the root's permissions. */
+ SVN_ERR (editor->open_root (edit_baton, 1, subpool, &root_baton));
+
+ /* Test denied file deletion. */
+ err = editor->delete_entry ("/iota", SVN_INVALID_REVNUM, root_baton, subpool);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test authorized file open. */
+ SVN_ERR (editor->open_file ("/iota", root_baton, SVN_INVALID_REVNUM,
+ subpool, &file_baton));
+
+ /* Test unauthorized file prop set. */
+ err = editor->change_file_prop (file_baton, "svn:test",
+ svn_string_create ("test", subpool),
+ subpool);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test denied file addition. */
+ err = editor->add_file ("/alpha", root_baton, NULL, SVN_INVALID_REVNUM,
+ subpool, &file_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test denied file copy. */
+ err = editor->add_file ("/alpha", root_baton, "file://test/A/B/lambda",
+ youngest_rev, subpool, &file_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test denied directory addition. */
+ err = editor->add_directory ("/I", root_baton, NULL,
+ SVN_INVALID_REVNUM, subpool, &dir_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test denied directory copy. */
+ err = editor->add_directory ("/J", root_baton, "file://test/A/D",
+ youngest_rev, subpool, &dir_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Open directory /A, to which we have read/write access. */
+ SVN_ERR (editor->open_directory ("/A", root_baton,
+ SVN_INVALID_REVNUM,
+ pool, &dir_baton));
+
+ /* Test denied file addition. Denied because of a conflicting rule
+ on the file path itself. */
+ err = editor->add_file ("/A/alpha", dir_baton, NULL,
+ SVN_INVALID_REVNUM, subpool, &file_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test authorized file addition. */
+ SVN_ERR (editor->add_file ("/A/B/theta", dir_baton, NULL,
+ SVN_INVALID_REVNUM, subpool,
+ &file_baton));
+
+ /* Test authorized file deletion. */
+ SVN_ERR (editor->delete_entry ("/A/mu", SVN_INVALID_REVNUM, dir_baton,
+ subpool));
+
+ /* Test authorized directory creation. */
+ SVN_ERR (editor->add_directory ("/A/E", dir_baton, NULL,
+ SVN_INVALID_REVNUM, subpool,
+ &dir2_baton));
+
+ /* Test authorized copy of a tree. */
+ SVN_ERR (editor->add_directory ("/A/J", dir_baton, "file://test/A/D",
+ youngest_rev, subpool,
+ &dir2_baton));
+
+ /* Test denied access to a directory. */
+ err = editor->open_directory ("/A/C", dir_baton, SVN_INVALID_REVNUM,
+ subpool, &dir2_baton);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNREADABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNREADABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Open /A/D. This should be granted. */
+ SVN_ERR (editor->open_directory ("/A/D", dir_baton, SVN_INVALID_REVNUM,
+ subpool, &dir_baton));
+
+ /* Test denied recursive deletion. */
+ err = editor->delete_entry ("/A/D/G", SVN_INVALID_REVNUM, dir_baton,
+ subpool);
+ if (err == SVN_NO_ERROR || err->apr_err != SVN_ERR_AUTHZ_UNWRITABLE)
+ return svn_error_createf (SVN_ERR_TEST_FAILED, err,
+ "Got %s error instead of expected "
+ "SVN_ERR_AUTHZ_UNWRITABLE",
+ err ? "unexpected" : "no");
+ svn_error_clear (err);
+
+ /* Test authorized recursive deletion. */
+ SVN_ERR (editor->delete_entry ("/A/D/H", SVN_INVALID_REVNUM,
+ dir_baton, subpool));
+
+ /* Test authorized propset (open the file first). */
+ SVN_ERR (editor->open_file ("/A/D/gamma", dir_baton, SVN_INVALID_REVNUM,
+ subpool, &file_baton));
+ SVN_ERR (editor->change_file_prop (file_baton, "svn:test",
+ svn_string_create("test", subpool),
+ subpool));
+
+ /* Done. */
+ editor->abort_edit (edit_baton, subpool);
+ svn_pool_destroy (subpool);
+
+ return SVN_NO_ERROR;
+}
+
+
/* The test table. */
@@ -1305,5 +1570,6 @@
SVN_TEST_PASS (node_locations),
SVN_TEST_PASS (rmlocks),
SVN_TEST_PASS (authz),
+ SVN_TEST_PASS (commit_editor_authz),
SVN_TEST_NULL
};
diff --git a/www/faq.html b/www/faq.html
index db2582b..1f2021b 100644
--- a/www/faq.html
+++ b/www/faq.html
@@ -634,7 +634,7 @@
maintain a tool called cvs2svn. You can find it at <a
href="http://cvs2svn.tigris.org/">http://cvs2svn.tigris.org/</a>. Be
sure to read the <a
-href="http://svn.collab.net/repos/cvs2svn/trunk/README">README</a>.
+href="http://cvs2svn.tigris.org/cvs2svn.html">cvs2svn documentation</a>.
</p>
<p>If cvs2svn.py does not work for you, (e.g. your repository
diff --git a/www/hacking.html b/www/hacking.html
index 0c1ee33..6c54204 100644
--- a/www/hacking.html
+++ b/www/hacking.html
@@ -1430,14 +1430,15 @@
<h2>Crediting</h2>
<p>It is very important to record code contributions in a consistent
-and parseable way. This allows us to write scripts which help us
-figure out who has been actively contributing and how, so we can spot
-potential new committers quickly. The Subversion project uses
-human-readable but machine-parseable fields in log messages for this,
-as described below.</p>
+and parseable way. This allows us to write scripts to figure out who
+has been actively contributing — and what they have
+contributed — so we can spot potential new committers
+quickly. The Subversion project uses human-readable but
+machine-parseable fields in log messages to accomplish this.</p>
<p>When committing a patch written by someone else, use
-"Patch by: " at the beginning of a line:</p>
+"Patch by: " at the beginning of a line to indicate the
+author:</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
@@ -1448,24 +1449,29 @@
(frobnicate_file): Check that file exists before frobnicating.
</pre>
-<p>If multiple people wrote the patch, name them all, one person per
-line, making sure to start each continuation line with whitespace. If
-you (the committer) were one of the people, list yourself as "me".
-Thus:</p>
+<p>If multiple individuals wrote the patch, list them each on a
+separate line — making sure to start each continuation
+line with whitespace. Non-committers should be listed by name, if
+known, and e-mail. Committers may be listed similarly, or by their
+canonical usernames from COMMITTERS (the leftmost column).
+Additionally, "me" is an acceptable shorthand for the person actually
+committing the change.</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
Patch by: J. Random <jrandom@example.com>
Enrico Caruso <codingtenor@codingtenor.com>
+ jcommitter
me
* subversion/libsvn_ra_ansible/get_editor.c
(frobnicate_file): Check that file exists before frobnicating.
</pre>
-<p>If someone pointed out a problem or suggested the fix, but didn't
-actually write the patch, use "Suggested by: ":</p>
+<p>If someone pointed out a problem or suggested the fix, but did not
+actually write the patch, indicate the contribution with
+"Suggested by: ":</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
@@ -1476,7 +1482,7 @@
(frobnicate_file): Check that file exists before frobnicating.
</pre>
-<p>If someone helped review the change, use "Review by: "</p>
+<p>If someone reviewed the change, use "Review by: ":</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
@@ -1485,14 +1491,10 @@
* subversion/libsvn_ra_ansible/get_editor.c
(frobnicate_file): Check that file exists before frobnicating.
-
</pre>
-<p>(As with "Patch by: ", you can name multiple people in
-"Review by: " or "Suggested by: " via
-whitespace-prefixed continuation lines.)</p>
-
-<p>Multiple fields in the same log message are fine, for example:</p>
+<p>A field may have multiple lines, and a log message may contain any
+combination of fields:</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
@@ -1502,13 +1504,17 @@
me
Suggested by: J. Random <jrandom@example.com>
Review by: Eagle Eyes <eeyes@example.com>
+ jcommitter
* subversion/libsvn_ra_ansible/get_editor.c
(frobnicate_file): Check that file exists before frobnicating.
</pre>
-<p>To give further details about a contribution, use a parenthetical
-aside immediately after that field, for example:</p>
+<p>Further details about a contribution should be listed in a
+parenthetical aside immediately after the corresponding field. Such
+an aside always applies to the field right above it; in the following
+example, the fields have been spaced out for readability, but note
+that the spacing is optional and not necessary for parseability:</p>
<pre>
Fix issue #1729: Don't crash because of a missing file.
@@ -1516,20 +1522,14 @@
Patch by: J. Random <jrandom@example.com>
(Tweaked by me.)
+ Review by: Eagle Eyes <eeyes@example.com>
+ jcommitter
+ (Eagle Eyes caught an off-by-one-error in the basename extraction.)
+
* subversion/libsvn_ra_ansible/get_editor.c
(frobnicate_file): Check that file exists before frobnicating.
</pre>
-<p>It is understood that a parenthetical aside immediately following a
-field applies to that field, and that "me" refers to person who
-committed this revision. You don't have to write "me", you can use
-your name instead, if you're not tired of typing it. Also, although
-the examples above use full name and email address, you can use a
-committer's username to refer to that committer from any field. For
-example, "Philip Martin <philip@codematters.co.uk>" and "philip"
-would be equivalent. See the leftmost column of the COMMITTERS file
-for canonical usernames.</p>
-
<p>Currently, these three fields</p>
<pre>
@@ -1540,15 +1540,14 @@
<p>are the only officially-supported crediting fields (where
"supported" means scripts know to look for them), and they are widely
-used in Subversion log messages. Future fields would probably also be
-of the form "VERB by: ", and from time to time someone may
-use a field that sounds official but really
-isn't — there are a few instances of
-"Reported by: ", for example. These are okay, but try to
-use an official field, or a parenthetical aside, in preference to
-making up your own field. Also, don't use "Reported by: "
-when the reporter is already recorded in an issue; instead, just refer
-to the issue.</p>
+used in Subversion log messages. Future fields will probably be of
+the form "VERB by: ", and from time to time someone may use
+a field that sounds official but really is not — for
+example, there are a few instances of "Reported by: ".
+These are okay, but try to use an official field, or a parenthetical
+aside, in preference to creating your own. Also, don't use
+"Reported by: " when the reporter is already recorded in an
+issue; instead, simply refer to the issue.</p>
<p>Look over Subversion's existing log messages to see how to use
these fields in practice. This command from the top of your trunk
@@ -1558,12 +1557,12 @@
svn log | contrib/client-side/search-svnlog.pl "(Patch|Review|Suggested) by: "
</pre>
-<p>Note that the "Approved by: " field seen in some commits
-is totally unrelated to these crediting fields (and is rarely parsed
-by scripts). It is simply the standard syntax for indicating either
-who approved a partial committer's commit outside their usual area, or
-(in the case of merges to release branches) who voted for the change
-to be merged.</p>
+<p><b>Note:</b> The "Approved by: " field seen in some
+commit messages is totally unrelated to these crediting fields, and is
+generally not parsed by scripts. It is simply the standard syntax for
+indicating either who approved a partial committer's commit outside
+their usual area, or (in the case of merges to release branches) who
+voted for the change to be merged.</p>
</div>