diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs index 0209324cd5..9d11e0f57d 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/Commands/AutostartCommands.cs @@ -146,10 +146,27 @@ namespace ICSharpCode.Svn.Commands } internal static bool CanBeVersionControlledDirectory(string directory) + { + return FindWorkingCopyRoot(directory) != null; + } + + static string FindWorkingCopyRoot(string directory) { if (OverlayIconManager.SubversionDisabled) - return false; - return Directory.Exists(Path.Combine(directory, ".svn")) || Directory.Exists(Path.Combine(directory, "_svn")); + return null; + try { + if (!Path.IsPathRooted(directory)) + return null; + } catch (ArgumentException) { + return null; + } + DirectoryInfo info = new DirectoryInfo(directory); + while (info != null) { + if (Directory.Exists(Path.Combine(info.FullName, ".svn"))) + return info.FullName; + info = info.Parent; + } + return null; } void FileSaved(object sender, FileNameEventArgs e) @@ -196,8 +213,8 @@ namespace ICSharpCode.Svn.Commands break; } } - } catch (Exception ex) { - MessageService.ShowError("File add exception: " + ex); + } catch (SvnClientException ex) { + MessageService.ShowError(ex.Message); } } diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/Gui/ProjectBrowserVisitor/OverlayIconManager.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/Gui/ProjectBrowserVisitor/OverlayIconManager.cs index 4fb827e0dc..82fc0b3e7f 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/Gui/ProjectBrowserVisitor/OverlayIconManager.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/Gui/ProjectBrowserVisitor/OverlayIconManager.cs @@ -192,12 +192,7 @@ namespace ICSharpCode.Svn } } - try { - return client.SingleStatus(fileName).TextStatus; - } catch (SvnClientException ex) { - LoggingService.Warn("Error getting status of " + fileName, ex); - return StatusKind.None; - } + return client.SingleStatus(fileName).TextStatus; } } diff --git a/src/AddIns/VersionControl/SubversionAddIn/Src/SvnClientWrapper.cs b/src/AddIns/VersionControl/SubversionAddIn/Src/SvnClientWrapper.cs index 84158c9048..5e46d9f93a 100644 --- a/src/AddIns/VersionControl/SubversionAddIn/Src/SvnClientWrapper.cs +++ b/src/AddIns/VersionControl/SubversionAddIn/Src/SvnClientWrapper.cs @@ -246,7 +246,18 @@ namespace ICSharpCode.Svn statusCache.Add(filename, result); return result; } catch (SvnException ex) { - throw new SvnClientException(ex); + switch (ex.SvnErrorCode) { + case SvnErrorCode.SVN_ERR_WC_UPGRADE_REQUIRED: + result = new Status { TextStatus = StatusKind.None }; + break; + case SvnErrorCode.SVN_ERR_WC_NOT_WORKING_COPY: + result = new Status { TextStatus = StatusKind.Unversioned }; + break; + default: + throw new SvnClientException(ex); + } + statusCache.Add(filename, result); + return result; } finally { AfterOperation(); } diff --git a/src/Libraries/SharpSvn/Licenses/OpenSsl-License.txt b/src/Libraries/SharpSvn/Licenses/OpenSsl-License.txt index a2c4adcbe6..e47d101f10 100644 --- a/src/Libraries/SharpSvn/Licenses/OpenSsl-License.txt +++ b/src/Libraries/SharpSvn/Licenses/OpenSsl-License.txt @@ -12,7 +12,7 @@ --------------- /* ==================================================================== - * Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/src/Libraries/SharpSvn/Licenses/Putty-License.txt b/src/Libraries/SharpSvn/Licenses/Putty-License.txt index 1960cc2b0f..c11866445c 100644 --- a/src/Libraries/SharpSvn/Licenses/Putty-License.txt +++ b/src/Libraries/SharpSvn/Licenses/Putty-License.txt @@ -1,9 +1,9 @@ -PuTTY is copyright 1997-2007 Simon Tatham. +PuTTY is copyright 1997-2011 Simon Tatham. Portions copyright Robert de Bath, Joris van Rantwijk, Delian Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, Markus -Kuhn, and CORE SDI S.A. +Kuhn, Colin Watson, and CORE SDI S.A. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files diff --git a/src/Libraries/SharpSvn/Licenses/SharpSvn-License.txt b/src/Libraries/SharpSvn/Licenses/SharpSvn-License.txt index 7f3448f9b5..2bdc426a79 100644 --- a/src/Libraries/SharpSvn/Licenses/SharpSvn-License.txt +++ b/src/Libraries/SharpSvn/Licenses/SharpSvn-License.txt @@ -1,4 +1,4 @@ - Copyright 2007-2008 The SharpSvn Project + Copyright (c) 2007-2010 The SharpSvn Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/Libraries/SharpSvn/Licenses/Subversion-License.txt b/src/Libraries/SharpSvn/Licenses/Subversion-License.txt index 276dbe2476..d967ea3354 100644 --- a/src/Libraries/SharpSvn/Licenses/Subversion-License.txt +++ b/src/Libraries/SharpSvn/Licenses/Subversion-License.txt @@ -1,47 +1,262 @@ -/* ================================================================ - * Copyright (c) 2000-2009 CollabNet. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by - * CollabNet (http://www.Collab.Net/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The hosted project names must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact info@collab.net. - * - * 5. Products derived from this software may not use the "Tigris" name - * nor may "Tigris" appear in their names without prior written - * permission of CollabNet. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL COLLABNET OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of CollabNet. - */ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +SUBVERSION SUBCOMPONENTS: + +Subversion includes a number of subcomponents with separate copyright +notices and license terms. Your use of the source code for the these +subcomponents is subject to the terms and conditions of the following +licenses. + +For portions of the Python bindings test suite at +subversion/bindings/swig/python/tests/trac/: + + I. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + + II. Copyright (C) 2003, 2004, 2005 Edgewall Software + Copyright (C) 2003, 2004, 2005 Jonas Borgström + Copyright (C) 2005 Christopher Lenz + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + the documentation and/or other materials provided with the + distribution. + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/Libraries/SharpSvn/Licenses/ZLib-License.txt b/src/Libraries/SharpSvn/Licenses/ZLib-License.txt index 758cc50020..d4219bf889 100644 --- a/src/Libraries/SharpSvn/Licenses/ZLib-License.txt +++ b/src/Libraries/SharpSvn/Licenses/ZLib-License.txt @@ -1,56 +1,52 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.2.3 is a general purpose data compression library. All the code is +zlib 1.2.5 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) -and rfc1952.txt (gzip format). These documents are also available in other -formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html +and rfc1952.txt (gzip format). All functions of the compression library are documented in the file zlib.h -(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example +(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example of the library is given in the file example.c which also tests that the library -is working correctly. Another example is given in the file minigzip.c. The +is working correctly. Another example is given in the file minigzip.c. The compression library itself is composed of all source files except example.c and minigzip.c. To compile all files and run the test program, follow the instructions given at -the top of Makefile. In short "make test; make install" should work for most -machines. For Unix: "./configure; make test; make install". For MSDOS, use one -of the special makefiles such as Makefile.msc. For VMS, use make_vms.com. +the top of Makefile.in. In short "./configure; make test", and if that goes +well, "make install" should work for most flavors of Unix. For Windows, use one +of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use +make_vms.com. Questions about zlib should be sent to , or to Gilles Vollant - for the Windows DLL version. The zlib home page is -http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem, -please check this site to verify that you have the latest version of zlib; -otherwise get the latest version and check whether the problem still exists or -not. + for the Windows DLL version. The zlib home page is +http://zlib.net/ . Before reporting a problem, please check this site to +verify that you have the latest version of zlib; otherwise get the latest +version and check whether the problem still exists or not. -PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking -for help. +PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help. -Mark Nelson wrote an article about zlib for the Jan. 1997 -issue of Dr. Dobb's Journal; a copy of the article is available in -http://dogma.net/markn/articles/zlibtool/zlibtool.htm +Mark Nelson wrote an article about zlib for the Jan. 1997 +issue of Dr. Dobb's Journal; a copy of the article is available at +http://marknelson.us/1997/01/01/zlib-engine/ . -The changes made in version 1.2.3 are documented in the file ChangeLog. +The changes made in version 1.2.5 are documented in the file ChangeLog. -Unsupported third party contributions are provided in directory "contrib". +Unsupported third party contributions are provided in directory contrib/ . -A Java implementation of zlib is available in the Java Development Kit -http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html -See the zlib home page http://www.zlib.org for details. +zlib is available in Java using the java.util.zip package, documented at +http://java.sun.com/developer/technicalArticles/Programming/compression/ . -A Perl interface to zlib written by Paul Marquess is in the -CPAN (Comprehensive Perl Archive Network) sites -http://www.cpan.org/modules/by-module/Compress/ +A Perl interface to zlib written by Paul Marquess is available +at CPAN (Comprehensive Perl Archive Network) sites, including +http://search.cpan.org/~pmqs/IO-Compress-Zlib/ . A Python interface to zlib written by A.M. Kuchling is available in Python 1.5 and later versions, see -http://www.python.org/doc/lib/module-zlib.html +http://www.python.org/doc/lib/module-zlib.html . -A zlib binding for TCL written by Andreas Kupries is -availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html +zlib is built into tcl: http://wiki.tcl.tk/4610 . An experimental package to read and write files in .zip format, written on top of zlib by Gilles Vollant , is available in the @@ -74,25 +70,21 @@ Notes for some targets: - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with other compilers. Use "make test" to check your compiler. -- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. +- gzdopen is not supported on RISCOS or BEOS. - For PalmOs, see http://palmzlib.sourceforge.net/ -- When building a shared, i.e. dynamic library on Mac OS X, the library must be - installed before testing (do "make install" before "make test"), since the - library location is specified in the library. - Acknowledgments: - The deflate format used by zlib was defined by Phil Katz. The deflate - and zlib specifications were written by L. Peter Deutsch. Thanks to all the - people who reported problems and suggested various improvements in zlib; - they are too numerous to cite here. + The deflate format used by zlib was defined by Phil Katz. The deflate and + zlib specifications were written by L. Peter Deutsch. Thanks to all the + people who reported problems and suggested various improvements in zlib; they + are too numerous to cite here. Copyright notice: - (C) 1995-2004 Jean-loup Gailly and Mark Adler + (C) 1995-2010 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -113,13 +105,11 @@ Copyright notice: Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu -If you use the zlib library in a product, we would appreciate *not* -receiving lengthy legal documents to sign. The sources are provided -for free but without warranty of any kind. The library has been -entirely written by Jean-loup Gailly and Mark Adler; it does not -include third-party code. +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. -If you redistribute modified sources, we would appreciate that you include -in the file ChangeLog history information documenting your changes. Please -read the FAQ for more information on the distribution of modified source -versions. +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. diff --git a/src/Libraries/SharpSvn/SharpPlink-Win32.svnExe b/src/Libraries/SharpSvn/SharpPlink-Win32.svnExe index 82d6633892..ebccd6d869 100644 Binary files a/src/Libraries/SharpSvn/SharpPlink-Win32.svnExe and b/src/Libraries/SharpSvn/SharpPlink-Win32.svnExe differ diff --git a/src/Libraries/SharpSvn/SharpSvn-DB44-20-win32.dll b/src/Libraries/SharpSvn/SharpSvn-DB44-20-win32.dll index b02101b822..a0fb431f11 100644 Binary files a/src/Libraries/SharpSvn/SharpSvn-DB44-20-win32.dll and b/src/Libraries/SharpSvn/SharpSvn-DB44-20-win32.dll differ diff --git a/src/Libraries/SharpSvn/SharpSvn-Sasl21-23-win32.dll b/src/Libraries/SharpSvn/SharpSvn-Sasl21-23-win32.dll index eda9a114ac..9d4963faaf 100644 Binary files a/src/Libraries/SharpSvn/SharpSvn-Sasl21-23-win32.dll and b/src/Libraries/SharpSvn/SharpSvn-Sasl21-23-win32.dll differ diff --git a/src/Libraries/SharpSvn/SharpSvn.UI.dll b/src/Libraries/SharpSvn/SharpSvn.UI.dll index 227f145a9e..71cb60fb37 100644 Binary files a/src/Libraries/SharpSvn/SharpSvn.UI.dll and b/src/Libraries/SharpSvn/SharpSvn.UI.dll differ diff --git a/src/Libraries/SharpSvn/SharpSvn.UI.xml b/src/Libraries/SharpSvn/SharpSvn.UI.xml index b616a41fd7..2a03bf2101 100644 --- a/src/Libraries/SharpSvn/SharpSvn.UI.xml +++ b/src/Libraries/SharpSvn/SharpSvn.UI.xml @@ -5,9 +5,9 @@ - + - + @@ -371,7 +371,7 @@ Gets or sets the UI service. - The UI service allows redirecting dialog processing to the specific UI service. + The UI service allows redirecting dialog processing to the specific UI service. (You should use this within .Net development environments (Like MS Visual Studio) implementing this interface) The UI service. @@ -423,9 +423,9 @@ - + - + @@ -441,5 +441,19 @@ The client to bind. The parent window. + + + Binds the specified client to the user interface defined by args + + The client to bind. + The args. + + + + Binds the specified client to the user interface defined by args + + The client to bind. + The parent window. + diff --git a/src/Libraries/SharpSvn/SharpSvn.dll b/src/Libraries/SharpSvn/SharpSvn.dll index 5d534bce97..cdbbc563da 100644 Binary files a/src/Libraries/SharpSvn/SharpSvn.dll and b/src/Libraries/SharpSvn/SharpSvn.dll differ diff --git a/src/Libraries/SharpSvn/SharpSvn.xml b/src/Libraries/SharpSvn/SharpSvn.xml index d1c641efef..bd64a3284f 100644 --- a/src/Libraries/SharpSvn/SharpSvn.xml +++ b/src/Libraries/SharpSvn/SharpSvn.xml @@ -4,33 +4,33 @@ "SharpSvn" - - Writes the specified message to the result writer and appends a - - - Writes the progress message to the result writer - The default implementation calls with the specified message + + Extended Parameter container of + - - Writes the specified message to the result writer + +An @a entry was found at @a path. + + + Gets the of the command - - Subversion Client Context wrapper; base class of objects using client context - + + The depth to walk for entries; reeds all entries in path when depth is unknown (default) - - Extended Parameter container of and - + + Gets or sets a boolean indicating whether to return deleted or absent entries - - Gets the list of changelist-names + + Gets or sets a boolean indicating whether to retrieve real property +and content changes. If set to false only marker changes are sent. (Changes on "" +property and empty file deltas - - Extended Parameter container of - + + Gets or sets the maximum version the client knows about. Deltas will be +based on this version - - Extended Parameter container of 's Changed method + + Extended Parameter container of .ReplayRevision @@ -87,149 +87,20 @@ latest. Display modified and latest, with conflict markers - - Creates the comparer used to compare the tokens. Defaults to Comparer<TToken>::Default - - - Gets the comparer used to compare the tokens - The instance returned is creatd by - - - Gets a boolean indicating whether the merge result contains differences - - - Gets a boolean indicating whether the merge result contains conflicts - - - Extended Parameter container of and - - - - Extended Parameter container of - - - - Extended Parameter container of - - - - Extended Parameter container of 's GetSuggestedMergeSources method - - - - Gets the list of changelist-names - - - Extended Parameter container for SvnClient.PropertyList - - - - Extended Parameter container for SvnClient.List + + Extended parameter container for Cleanup Extended Parameter container of 's RecoverRepository method - - Extended Parameter container of 's GetAppliedMergeInfo method - - - - Gets or sets a boolean indicating whether to retrieve real property -and content changes. If set to false only marker changes are sent. (Changes on "" -property and empty file deltas - - - Gets or sets the maximum version the client knows about. Deltas will be -based on this version - - - Extended Parameter container of .ReplayRevision - - - - Gets or sets a boolean that if set to true tells copy not to process -externals definitions as part of this operation. - - - Always copies the result to below the target (this behaviour is always used if multiple targets are provided) - - - Creates parent directories if required - - - Extended Parameter container of SvnClient.Copy(SvnTarget^,String^,SvnCopyArgs^)" /> and - - - - - Gets the list of changelist-names - - - Extended Parameter container of - - - - Gets the list of changelist-names - - - Gets or sets a boolean indicating whether externals should be ignored - -If IgnoreExternals is not set, then recurse into externals -definitions (if any exist) after handling the main target. This -calls the client notification function (in @a ctx) with the @c -svn_wc_notify_status_external action before handling each externals -definition, and with @c svn_wc_notify_status_completed -after each. - - - - Gets or sets a boolean indicating whether ignored files should be retrieved - If RetrieveIgnoredEntries is set add files or directories that match ignore patterns. - - - Gets or sets a boolean indicating whether the repository should be contacted to retrieve aut of date information - -If Update is set, contact the repository and augment the -status structures with information about out-of-dateness (with -respect to @a revision). Also, if @a result_rev is not @c NULL, -set @a *result_rev to the actual revision against which the -working copy was compared (result_rev is not meaningful unless -update is set - - - - Gets or sets a boolean indicating whether all status properties should be retrieved - -If @a get_all is set, retrieve all entries; otherwise, -retrieve only "interesting" entries (local mods and/or -out of date - - - - Extended Parameter container for SvnClient.Status - - - - -If TRUE, recurse up path's directory and look for -a versioned directory. If found, add all intermediate paths between it -and path. If not found, fail with SVN_ERR_CLIENT_NO_VERSIONED_PARENTS. - - - - If force is not set and path is already under version control, return the error -SVN_ERR_ENTRY_EXISTS. If force is set, do not error on already-versioned items. When used -on a directory in conjunction with the recursive flag, this has the effect of scheduling -for addition unversioned files and directories scattered deep within a versioned tree. - - - Extended Parameter container of + + Extended Parameter container of - - Extended Parameter container of 's CreateRepository method + + Extended Parameter container of 's Patch command @@ -239,108 +110,601 @@ for addition unversioned files and directories scattered deep within a versioned Extended Parameter container of - - Gets or sets a value indicating whether to clean the database logfiles after the hotcopy + + If Force is not set then this operation will fail if any path contains locally modified +and/or unversioned items. If Force is set such items will be deleted. - - Extended Parameter container of 's CreateRepository method + + Extended Parameter container of and - + Gets the list of changelist-names - - Extended Parameter container of 's GetProperty + + Extended Parameter container of - -An @a entry was found at @a path. - - - Gets the of the command - - - The depth to walk for entries; reeds all entries in path when depth is unknown (default) - - - Gets or sets a boolean indicating whether to return deleted or absent entries - - - Creates parent directories if required + + Gets the list of changelist-names - - Extended Parameter container of and - + + Extended Parameter container of - - Extended Parameter container of 's DeleteRepository method + + Extended Parameter container of and - - Extended Parameter container of and + + Extended Parameter container of 's Changed method - - Formats a DateTime in Subversions string format - - - Tries to parse a Svn property into a value - - - Gets a list of TortoiseSvn defined directory properties, which are applied recursively on all directories below the set root - - - -Properties whose values are interpreted as booleans (such as -svn:executable, svn:needs_lock, and svn:special) always fold their -value to this. - - - - All Subversion property names start with this - - - Gets a list of TortoiseSvn defined directory properties, which are applied recursively on all directories below the set root - - - A full combination of the first four keywords. - - - A compressed combination of the other four keywords. - - - Short version of HeadURL - - - The URL for the head revision of this file. - - - Short version of LastChangedBy - - - Who most recently committed to this file. + +The callback invoked by info retrievers. Each invocation + * describes @a local_abspath with the information present in @a info. + * Use @a scratch_pool for all temporary allocation. + * + * @since New in 1.7. + + + +An exclusive lock, if present. Could be either local or remote. + + +The author of the last_changed_rev. + + +The date of the last_changed_rev. + + +The last revision in which this object changed. + + +The size of the file in the repository (untranslated, + * e.g. without adjustment of line endings and keyword + * expansion). Only applicable for file -- not directory -- URLs. + * For working copy paths, @a size will be #SVN_INVALID_FILESIZE. + + +The node's kind. + + +The revision of the object. If the target is a working-copy + * path, then this is its current working revision number. If the target + * is a URL, then this is the repository revision that it lives in. + + +The repository's UUID. + + +The root URL of the repository. + + +Where the item lives in the repository. + + + A structure which describes various system-generated metadata about + a working-copy path or URL. + + @note Fields may be added to the end of this structure in future + versions. Therefore, users shouldn't allocate structures of this + type, to preserve binary compatibility. + + @since New in 1.7. + + + +Set @a lock_tokens to a hash mapping const char * URL +to const char * lock tokens for every path at or under +@a local_abspath in @a wc_ctx which has such a lock token set on it. +Allocate the hash and all items therein from @a result_pool. + + + +Recursively clear the dav cache (wcprops) in @a wc_ctx for the tree +rooted at @a local_abspath. + + + +For use by entries.c and entries-dump.c to read old-format working copies. + + + +Call @a receiver_func, passing @a receiver_baton, an absolute path, and + * a hash table mapping const char * names onto const + * svn_string_t * values for all the regular properties of the node + * at @a local_abspath and any node beneath @a local_abspath within the + * specified @a depth. @a receiver_fun must not be NULL. + * + * If @a propname is not NULL, the passed hash table will only contain + * the property @a propname. + * + * If @a base_props is @c TRUE, get the unmodified BASE properties + * from the working copy, instead of getting the current (or "WORKING") + * properties. + * + * If @a pristine is not @c TRUE, and @a base_props is FALSE show local + * modifications to the properties. + * + * If a node has no properties, @a receiver_func is not called for the node. + * + * If @a changelists are non-NULL and non-empty, filter by them. + * + * Use @a wc_ctx to access the working copy, and @a scratch_pool for + * temporary allocations. + * + * If the node at @a local_abspath does not exist, + * #SVN_ERR_WC_PATH_NOT_FOUND is returned. + * + * @since New in 1.7. + + + +A callback invoked by svn_wc__prop_list_recursive(). + * It is equivalent to svn_proplist_receiver_t declared in svn_client.h, + * but kept private within the svn_wc__ namespace because it is used within + * the bowels of libsvn_wc which don't include svn_client.h. + * + * @since New in 1.7. + + + Calculates the schedule and copied status of a node as that would + have been stored in an svn_wc_entry_t instance. + + If not @c NULL, @a schedule and @a copied are set to their calculated + values. + + + +Call function @a func while holding a write lock on + * @a local_abspath. The @a baton, and @a result_pool and + * @a scratch_pool, is passed @a func. + * + * If @a lock_anchor is TRUE, determine if @a local_abspath has an anchor + * that should be locked instead. + * + * Use @a wc_ctx for working copy access. + * The lock is guaranteed to be released after @a func returns. + + + +A callback invoked by the svn_wc__call_with_write_lock() function. + + + Recursively release write locks for @a local_abspath, using @a wc_ctx + for working copy access. Only locks held by @a wc_ctx are released. + Locks are not removed if work queue items are present. + + If @a local_abspath is not the root of an owned SVN_ERR_WC_NOT_LOCKED + is returned. + + + + Acquire a recursive write lock for @a local_abspath. If @a lock_anchor + is true, determine if @a local_abspath has an anchor that should be locked + instead; otherwise, @a local_abspath must be a versioned directory. + Store the obtained lock in @a wc_ctx. + + If @a lock_root_abspath is not NULL, store the root of the lock in + @a *lock_root_abspath. If @a lock_root_abspath is NULL, then @a + lock_anchor must be FALSE. + + Returns @c SVN_ERR_WC_LOCKED if an existing lock is encountered, in + which case any locks acquired will have been released. + + If @a lock_anchor is TRUE and @a lock_root_abspath is not NULL, @a + lock_root_abspath will be set even when SVN_ERR_WC_LOCKED is returned. + + + + A hack to remove the last entry from libsvn_client. This simply fetches an + some values from WC-NG, and puts the needed bits into the output parameters, + allocated in @a result_pool. + + All output arguments can be NULL to indicate that the + caller is not interested in the specific result. + + @a local_abspath and @a wc_ctx are what you think they are. + + + + Fetch lock information (if any) for @a local_abspath using @a wc_ctx: + + Set @a *lock_token to the lock token (or NULL) + Set @a *lock_owner to the owner of the lock (or NULL) + Set @a *lock_comment to the comment associated with the lock (or NULL) + Set @a *lock_date to the timestamp of the lock (or 0) + + Any of the aforementioned return values may be NULL to indicate + that the caller doesn't care about those values. + + If @a local_abspath is not in the working copy, return @c + SVN_ERR_WC_PATH_NOT_FOUND. + + + +This whole function is for legacy, and it sucks. It does not really + * make sense to get the copy-from revision number without the copy-from + * URL, but higher level code currently wants that. This should go away. + * (This function serves to get away from entry_t->revision without having to + * change the public API.) + * + * Get the base revision of @a local_abspath using @a wc_ctx. If @a + * local_abspath is not in the working copy, return @c + * SVN_ERR_WC_PATH_NOT_FOUND. + * + * Return the revision number of the base for this node's next commit, + * reflecting any local tree modifications affecting this node. + * + * If this node has no uncommitted changes, return the same as + * svn_wc__node_get_base_rev(). + * + * If this node is moved-here or copied-here (possibly as part of a replace), + * return the revision of the copy/move source. Do the same even when the node + * has been removed from a recursive copy (subpath excluded from the copy). + * + * Else, if this node is locally added, return SVN_INVALID_REVNUM, or if this + * node is locally deleted or replaced, return the revert-base revision. + + + + Get the base revision of @a local_abspath using @a wc_ctx. If + @a local_abspath is not in the working copy, return + @c SVN_ERR_WC_PATH_NOT_FOUND. + + In @a *base_revision, return the revision of the revert-base, i.e. the + revision that this node was checked out at or last updated/switched to, + regardless of any uncommitted changes (delete, replace and/or + copy-here/move-here). For a locally added/copied/moved-here node that is + not part of a replace, return @c SVN_INVALID_REVNUM. + + + + Set @a *has_working to whether @a local_abspath has a working node (which + might shadow BASE nodes) + + This is a check similar to status = added or status = deleted. + + + + Set @a *is_added to whether @a local_abspath is added, using + @a wc_ctx. If @a local_abspath is not in the working copy, return + @c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary + allocations. + + NOTE: "added" in this sense, means it was added, copied-here, or + moved-here. This function provides NO information on whether this + addition has replaced another node. + + To be clear, this does NOT correspond to svn_wc_schedule_add. + + + +Set @a *is_excluded to whether the status of @a local_abspath is +#svn_wc__db_status_excluded, using @a wc_ctx. +If @a local_abspath is not in the working copy, return +@c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary +allocations. + + + +Set @a *is_not_present to whether the status of @a local_abspath is +#svn_wc__db_status_not_present, using @a wc_ctx. +If @a local_abspath is not in the working copy, return +@c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary +allocations. + + + +Set @a *is_server_excluded to whether @a local_abspath has been +excluded by the server, using @a wc_ctx. If @a local_abspath is not +in the working copy, return @c SVN_ERR_WC_PATH_NOT_FOUND. +Use @a scratch_pool for all temporary allocations. + + + +Set @a *is_deleted to TRUE if @a local_abspath is deleted, using +@a wc_ctx. If @a local_abspath is not in the working copy, return +@c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary +allocations. + + + + Set @a *repos_relpath to the corresponding repos_relpath for @a + local_abspath, using @a wc_ctx. If the node is added, return the + repos_relpath it will have in the repository. + + If @a local_abspath is not in the working copy, return @c + SVN_ERR_WC_PATH_NOT_FOUND. + + + + Retrieves the origin of the node as it is known in the repository. For + added nodes this retrieves where the node is copied from, and the repository + location for other nodes. + + All output arguments may be NULL. + + If @a is_copy is not NULL, sets @a *is_copy to TRUE if the origin is a copy + of the original node. + + If not NULL, sets @a revision, @a repos_relpath, @a repos_root_url and + @a repos_uuid to the original (if a copy) or their current values. + + If @a scan_deleted is TRUE, determine the origin of the deleted node. If + @a scan_deleted is FALSE, return NULL, SVN_INVALID_REVNUM or FALSE for + deleted nodes. + + Allocate the result in @a result_pool. Perform temporary allocations in + @a scratch_pool + + + Set @a *url to the corresponding url for @a local_abspath, using @a wc_ctx. + If the node is added, return the url it will have in the repository. + + If @a local_abspath is not in the working copy, return + @c SVN_ERR_WC_PATH_NOT_FOUND. + + + + Get the changed revision, date and author for @a local_abspath using @a + wc_ctx. Allocate the return values in @a result_pool; use @a scratch_pool + for temporary allocations. Any of the return pointers may be @c NULL, in + which case they are not set. + + If @a local_abspath is not in the working copy, return + @c SVN_ERR_WC_PATH_NOT_FOUND. + + + +Get the depth of @a local_abspath using @a wc_ctx. If @a local_abspath is +not in the working copy, return @c SVN_ERR_WC_PATH_NOT_FOUND. + + + + Fetch the repository root information for a given @a local_abspath into + @a *repos_root_url and @a repos_uuid. Use @a wc_ctx to access the working copy + for @a local_abspath, @a scratch_pool for all temporary allocations, + @a result_pool for result allocations. Note: the result may be NULL if the + given node has no repository root associated with it (e.g. locally added). + + Either input value may be NULL, indicating no interest. + + + +Like svn_wc__node_get_children2(), except also include any path that was +a child of a deleted directory that existed at @a dir_abspath, even if +that directory is now scheduled to be replaced by the working node at +@a dir_abspath. + + + + Set @a *children to a new array of the immediate children of the working + node at @a dir_abspath. The elements of @a *children are (const char *) + absolute paths. + + Include children that are scheduled for deletion. Iff @a show_hidden + is true, also include children that are 'excluded' or 'server-excluded' or + 'not-present'. + + Return every path that refers to a child of the working node at + @a dir_abspath. Do not include a path just because it was a child of a + deleted directory that existed at @a dir_abspath if that directory is now + sheduled to be replaced by the working node at @a dir_abspath. + + Allocate @a *children in @a result_pool. Use @a wc_ctx to access the + working copy, and @a scratch_pool for all temporary allocations. + + + +The following are temporary APIs to aid in the transition from wc-1 to +wc-ng. Use them for new development now, but they may be disappearing +before the 1.7 release. + + + +Set @a *wcroot_abspath to the local abspath of the root of the + * working copy in which @a local_abspath resides. + + + +Like svn_wc_is_wc_root(), but it doesn't consider switched subdirs or + * deleted entries as working copy roots. + + + +Record the tree conflict described by @a conflict in the WC for + * @a conflict->local_abspath. Use @a scratch_pool for all temporary + * allocations. + + + +Set @a *tree_conflict to a newly allocated @c + * svn_wc_conflict_description_t structure describing the tree + * conflict state of @a victim_abspath, or to @c NULL if @a victim_abspath + * is not in a state of tree conflict. @a wc_ctx is a working copy context + * used to access @a victim_path. Allocate @a *tree_conflict in @a result_pool, + * use @a scratch_pool for temporary allocations. + + + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_wc_private.h + @brief The Subversion Working Copy Library - Internal routines + + Requires: + - A working copy + + Provides: + - Ability to manipulate working copy's versioned data. + - Ability to manipulate working copy's administrative files. + + Used By: + - Clients. + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_types.h + @brief Subversion's data types + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_wc.h + @brief Subversion's working copy library + + Requires: + - A working copy + + Provides: + - Ability to manipulate working copy's versioned data. + - Ability to manipulate working copy's administrative files. + + Used By: + - Clients. + + Notes: + The 'path' parameters to most of the older functions can be + absolute or relative (relative to current working + directory). If there are any cases where they are + relative to the path associated with the + 'svn_wc_adm_access_t *adm_access' baton passed along with the + path, those cases should be explicitly documented, and if they + are not, please fix it. All new functions introduced since + Subversion 1.7 require absolute paths, unless explicitly + documented otherwise. + + Starting with Subversion 1.7, several arguments are re-ordered + to be more consistent through the api. The common ordering used + is: + + Firsts: + - Output arguments + Then: + - Working copy context + - Local abspath + Followed by: + - Function specific arguments + - Specific callbacks with their batons + Finally: + - Generic callbacks (with baton) from directly functional to + just observing: + - svn_wc_conflict_resolver_func2_t + - svn_wc_external_update_t + - svn_cancel_func_t + - svn_wc_notify_func2_t + - Result pool + - Scratch pool. + + + + If this value is TRUE and RetrieveRemoteStatus it TRUE, shows what an update with KeepDepth TRUE would do. (Shows excluded nodes as additions) - - Short version of LastChangedDate + + Gets the list of changelist-names - - The most recent date (repository time) when this file was changed. + + Gets or sets a boolean indicating whether externals should be ignored + +If IgnoreExternals is not set, then recurse into externals +definitions (if any exist) after handling the main target. This +calls the client notification function (in @a ctx) with the @c +svn_wc_notify_status_external action before handling each externals +definition, and with @c svn_wc_notify_status_completed +after each. + - - Medium version of LastChangedRevision, matching the one CVS uses + + Gets or sets a boolean indicating whether ignored files should be retrieved + If RetrieveIgnoredEntries is set add files or directories that match ignore patterns. - - Short version of LastChangedRevision + + Gets or sets a boolean indicating whether the repository should be contacted to retrieve out of date information + +If Update is set, contact the repository and augment the +status structures with information about out-of-dateness (with +respect to @a revision). Also, if @a result_rev is not @c NULL, +set @a *result_rev to the actual revision against which the +working copy was compared (result_rev is not meaningful unless +update is set + - - The most recent revision in which this file was changed + + Gets or sets a boolean indicating whether all status properties should be retrieved + +If @a get_all is set, retrieve all entries; otherwise, +retrieve only "interesting" entries (local mods and/or +out of date + - - The maximum size of an expanded or un-expanded keyword. + + Extended Parameter container for SvnClient.Status + - - Extended Parameter container of + + Extended Parameter container of 's GetRevisionPropertyList + + + + Extended Parameter container of and @@ -386,6 +750,11 @@ value to this. Looks up a localized string similar to This function is not available from managed code. . + + + + + Looks up a localized string similar to The session is already open. @@ -621,11 +990,6 @@ value to this. Looks up a localized string similar to A fatal error occurred within the subversion API - (Use Ctrl+C to copy message). - - - - - Looks up a localized string similar to Depth must be Empty, Files or Infinity in 1.4 compatible compilation. @@ -636,6 +1000,16 @@ value to this. Looks up a localized string similar to The collection must at least contain one item. + + + + + Looks up a localized string similar to Can't parse command '{0}'. + + + + + Looks up a localized string similar to Can only resolve head, number and date revisions. @@ -677,17 +1051,22 @@ value to this. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -696,17 +1075,22 @@ value to this. @copyright ==================================================================== - Copyright (c) 2006-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -727,6 +1111,17 @@ The type of a pack notification function. @a shard is the shard being * the corresponding baton for the notification function, and @a pool can * be used for temporary allocations, but will be cleared between invocations. + + +The kind of action being taken by 'pack'. + + +packing of the shard revprops has completed + @since New in 1.7. + + +packing of the shard revprops has commenced + @since New in 1.7. packing of the shard is completed @@ -743,13 +1138,41 @@ packing of the shard has commenced +Similar to svn_fs_get_locks2(), but with @a depth always passed as + * svn_depth_infinity, and with the following known problem (which is + * not present in svn_fs_get_locks2()): + * + * @note On Berkeley-DB-backed filesystems in Subversion 1.6 and + * prior, the @a get_locks_func callback will be invoked from within a + * Berkeley-DB transaction trail. Implementors of the callback are, + * as a result, forbidden from calling any svn_fs API functions which + * might themselves attempt to start a new Berkeley DB transaction + * (which is most of this svn_fs API). Yes, this is a nasty + * implementation detail to have to be aware of. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Report locks on or below @a path in @a fs using the @a * get_locks_func / @a get_locks_baton. Use @a pool for necessary * allocations. * + * @a depth limits the reported locks to those associated with paths + * within the specified depth of @a path, and must be one of the + * following values: #svn_depth_empty, #svn_depth_files, + * #svn_depth_immediates, or #svn_depth_infinity. + * * If the @a get_locks_func callback implementation returns an error, * lock iteration will terminate and that error will be returned by * this function. + * + * @note Over the course of this function's invocation, locks might be + * added, removed, or modified by concurrent processes. Callers need + * to anticipate and gracefully handle the transience of this + * information. + * + * @since New in 1.7. @@ -770,14 +1193,14 @@ If @a path is locked in @a fs, set @a *lock to an svn_lock_t which Remove the lock on @a path represented by @a token in @a fs. * - * If @a token doesn't point to a lock, return @c SVN_ERR_FS_BAD_LOCK_TOKEN. - * If @a token points to an expired lock, return @c SVN_ERR_FS_LOCK_EXPIRED. - * If @a fs has no username associated with it, return @c SVN_ERR_FS_NO_USER + * If @a token doesn't point to a lock, return #SVN_ERR_FS_BAD_LOCK_TOKEN. + * If @a token points to an expired lock, return #SVN_ERR_FS_LOCK_EXPIRED. + * If @a fs has no username associated with it, return #SVN_ERR_FS_NO_USER * unless @a break_lock is specified. * * If @a token points to a lock, but the username of @a fs's access - * context doesn't match the lock's owner, return @c - * SVN_ERR_FS_LOCK_OWNER_MISMATCH. If @a break_lock is TRUE, however, don't + * context doesn't match the lock's owner, return + * #SVN_ERR_FS_LOCK_OWNER_MISMATCH. If @a break_lock is TRUE, however, don't * return error; allow the lock to be "broken" in any case. In the latter * case, @a token shall be @c NULL. * @@ -798,8 +1221,8 @@ Generate a unique lock-token using @a fs. Return in @a *token, * @since New in 1.2. A lock represents one user's exclusive right to modify a path in a * filesystem. In order to create or destroy a lock, a username must - * be associated with the filesystem's access context (see @c - * svn_fs_access_t). + * be associated with the filesystem's access context (see + * #svn_fs_access_t). * * When a lock is created, a 'lock-token' is returned. The lock-token * is a unique URI that represents the lock (treated as an opaque @@ -825,8 +1248,8 @@ Lock @a path in @a fs, and set @a *lock to a lock * @warning You may prefer to use svn_repos_fs_lock() instead, * which see. * - * @a fs must have a username associated with it (see @c - * svn_fs_access_t), else return @c SVN_ERR_FS_NO_USER. Set the + * @a fs must have a username associated with it (see + * #svn_fs_access_t), else return #SVN_ERR_FS_NO_USER. Set the * 'owner' field in the new lock to the fs username. * * @a comment is optional: it's either an xml-escapable UTF8 string @@ -836,7 +1259,7 @@ Lock @a path in @a fs, and set @a *lock to a lock * generic DAV client; only mod_dav_svn's autoversioning feature needs * to use it. If in doubt, pass 0. * - * If path is already locked, then return @c SVN_ERR_FS_PATH_ALREADY_LOCKED, + * If path is already locked, then return #SVN_ERR_FS_PATH_ALREADY_LOCKED, * unless @a steal_lock is TRUE, in which case "steal" the existing * lock, even if the FS access-context's username does not match the * current lock's owner: delete the existing lock on @a path, and @@ -854,8 +1277,8 @@ Lock @a path in @a fs, and set @a *lock to a lock * * If @a current_rev is a valid revnum, then do an out-of-dateness * check. If the revnum is less than the last-changed-revision of @a - * path (or if @a path doesn't exist in HEAD), return @c - * SVN_ERR_FS_OUT_OF_DATE. + * path (or if @a path doesn't exist in HEAD), return + * #SVN_ERR_FS_OUT_OF_DATE. * * @note At this time, only files can be locked. @@ -863,7 +1286,7 @@ Lock @a path in @a fs, and set @a *lock to a lock If not @c NULL, associate @a *uuid with @a fs. Otherwise (if @a * uuid is @c NULL), generate a new UUID for @a fs. Use @a pool for - * any scratchwork. + * any scratch work. @@ -882,11 +1305,23 @@ Set @a *stream_p to a pointer to a delta stream that will turn the + Similar to svn_fs_change_rev_prop2(), but with @a old_value_p passed as + @c NULL. + + @deprecated Provided for backward compatibility with the 1.6 API. + + + Change a revision's property's value, or add/delete a property. * * - @a fs is a filesystem, and @a rev is the revision in that filesystem * whose property should change. * - @a name is the name of the property to change. + * - if @a old_value_p is not @c NULL, then changing the property will fail with + * error #SVN_ERR_FS_PROP_BASEVALUE_MISMATCH if the present value of the + * property is not @a *old_value_p. (This is an atomic test-and-set). + * @a *old_value_p may be @c NULL, representing that the property must be not + * already set. * - @a value is the new value of the property, or zero if the property should * be removed altogether. * @@ -895,12 +1330,14 @@ Change a revision's property's value, or add/delete a property. * via transactions. * * Do any necessary temporary allocation in @a pool. + * + * @since New in 1.7. Set @a *table_p to the entire property list of revision @a rev in * filesystem @a fs, as an APR hash table allocated in @a pool. The table - * maps char * property names to @c svn_string_t * values; the names + * maps char * property names to #svn_string_t * values; the names * and values are allocated in @a pool. @@ -953,7 +1390,7 @@ Write data directly to the file @a path in @a root. @a root must be the * written to the stream. It is ignored if NULL, but if not null, it * must match the checksum of the result; if it does not, then the @a * *contents_p call which detects the mismatch will return the error - * @c SVN_ERR_CHECKSUM_MISMATCH. + * #SVN_ERR_CHECKSUM_MISMATCH. * * Do any necessary temporary allocation in @a pool. * @@ -983,7 +1420,7 @@ Apply a text delta to the file @a path in @a root. @a root must be the * checksum of the base text against which svndiff data is being * applied; if not, svn_fs_apply_textdelta() or the @a *contents_p call * which detects the mismatch will return the error - * @c SVN_ERR_CHECKSUM_MISMATCH (if there is no base text, there may + * #SVN_ERR_CHECKSUM_MISMATCH (if there is no base text, there may * still be an error if @a base_checksum is neither NULL nor the * checksum of the empty string). * @@ -991,7 +1428,7 @@ Apply a text delta to the file @a path in @a root. @a root must be the * results from this delta application. It is ignored if NULL, but if * not NULL, it must match the checksum of the result; if it does not, * then the @a *contents_p call which detects the mismatch will return - * the error @c SVN_ERR_CHECKSUM_MISMATCH. + * the error #SVN_ERR_CHECKSUM_MISMATCH. * * The caller must send all delta windows including the terminating * NULL window to @a *contents_p before making further changes to the @@ -1013,7 +1450,7 @@ Set @a *contents to a readable generic stream that will yield the * contents of the file @a path in @a root. Allocate the stream in * @a pool. You can only use @a *contents for as long as the underlying * filesystem is open. If @a path is not a file, return - * @c SVN_ERR_FS_NOT_FILE. + * #SVN_ERR_FS_NOT_FILE. * * If @a root is the root of a transaction, it is possible that the * contents of the file @a path will change between calls to @@ -1112,19 +1549,12 @@ Delete the node named @a path in @a root. If the node being deleted is * the root of a transaction, not of a revision. Use @a pool for * temporary allocation. * - * This function may be more efficient than making the equivalent - * series of calls to svn_fs_delete(), because it takes advantage of the - * fact that, to delete an immutable subtree, shared with some - * committed revision, you need only remove the directory entry. The - * dumb algorithm would recurse into the subtree and end up cloning - * each non-empty directory it contains, only to delete it later. - * - * If return @c SVN_ERR_FS_NO_SUCH_ENTRY, then the basename of @a path is + * If return #SVN_ERR_FS_NO_SUCH_ENTRY, then the basename of @a path is * missing from its parent, that is, the final target of the deletion * is missing. * * Attempting to remove the root dir also results in an error, - * @c SVN_ERR_FS_ROOT_DIR, even if the dir is empty. + * #SVN_ERR_FS_ROOT_DIR, even if the dir is empty. @@ -1139,7 +1569,7 @@ Create a new directory named @a path in @a root. The new directory has Set @a *entries_p to a newly allocated APR hash table containing the * entries of the directory at @a path in @a root. The keys of the table * are entry names, as byte strings, excluding the final NULL - * character; the table's values are pointers to @c svn_fs_dirent_t + * character; the table's values are pointers to #svn_fs_dirent_t * structures. Allocate the table and its contents in @a pool. @@ -1170,7 +1600,7 @@ Merge changes between two nodes into a third node. * * If there are differences between @a ancestor and @a source that conflict * with changes between @a ancestor and @a target, this function returns an - * @c SVN_ERR_FS_CONFLICT error. + * #SVN_ERR_FS_CONFLICT error. * * If the merge is successful, @a target is left in the merged state, and * the base root of @a target's txn is set to the root node of @a source. @@ -1199,10 +1629,10 @@ Retrieve mergeinfo for multiple nodes. * * If @a include_descendants is TRUE, then additionally return the * mergeinfo for any descendant of any element of @a paths which has - * the @c SVN_PROP_MERGEINFO property explicitly set on it. (Note + * the #SVN_PROP_MERGEINFO property explicitly set on it. (Note * that inheritance is only taken into account for the elements in @a * paths; descendants of the elements in @a paths which get their - * mergeinfo via inheritance are not included in @a *mergeoutput.) + * mergeinfo via inheritance are not included in @a *catalog.) * * Do any necessary temporary allocation in @a pool. * @@ -1228,11 +1658,12 @@ Set @a *root_p and @a *path_p to the revision root and path of the Discover a node's copy ancestry, if any. * * If the node at @a path in @a root was copied from some other node, set - * @a *rev_p and @a *path_p to the revision and path of the other node, - * allocating @a *path_p in @a pool. + * @a *rev_p and @a *path_p to the revision and path (expressed as an + * absolute filesystem path) of the other node, allocating @a *path_p + * in @a pool. * * Else if there is no copy ancestry for the node, set @a *rev_p to - * @c SVN_INVALID_REVNUM and @a *path_p to NULL. + * #SVN_INVALID_REVNUM and @a *path_p to NULL. * * If an error is returned, the values of @a *rev_p and @a *path_p are * undefined, but otherwise, if one of them is set as described above, @@ -1292,7 +1723,7 @@ Change a node's property's value, or add/delete a property. Set @a *table_p to the entire property list of @a path in @a root, * as an APR hash table allocated in @a pool. The resulting table maps - * property names to pointers to @c svn_string_t objects containing the + * property names to pointers to #svn_string_t objects containing the * property value. @@ -1314,9 +1745,9 @@ Set @a *created_path to the path at which @a path under @a root was Set @a *revision to the revision in which the line of history * represented by @a path under @a root originated. Use @a pool for * any temporary allocations. If @a root is a transaction root, @a - * *revision will be set to @c SVN_INVALID_REVNUM for any nodes newly + * *revision will be set to #SVN_INVALID_REVNUM for any nodes newly * added in that transaction (brand new files or directories created - * using @c svn_fs_make_dir or @c svn_fs_make_file). + * using #svn_fs_make_dir or #svn_fs_make_file). * * @since New in 1.5. @@ -1324,7 +1755,7 @@ Set @a *revision to the revision in which the line of history Set @a *revision to the revision in which @a path under @a root was * created. Use @a pool for any temporary allocations. @a *revision will - * be set to @c SVN_INVALID_REVNUM for uncommitted nodes (i.e. modified nodes + * be set to #SVN_INVALID_REVNUM for uncommitted nodes (i.e. modified nodes * under a transaction root). Note that the root of an unmodified transaction * is not itself considered to be modified; in that case, return the revision * upon which the transaction was based. @@ -1397,12 +1828,12 @@ An opaque node history object. @} Set @a *kind_p to the type of node present at @a path under @a - * root. If @a path does not exist under @a root, set @a *kind_p to @c - * svn_node_none. Use @a pool for temporary allocation. + * root. If @a path does not exist under @a root, set @a *kind_p to + * #svn_node_none. Use @a pool for temporary allocation. -Same as svn_fs_paths_changed2(), only with @c svn_fs_path_change_t * values +Same as svn_fs_paths_changed2(), only with #svn_fs_path_change_t * values * in the hash (and thus no kind or copyfrom data). * * @deprecated Provided for backward compatibility with the 1.5 API. @@ -1411,23 +1842,23 @@ Same as svn_fs_paths_changed2(), only with @c svn_fs_path_change_t * values Determine what has changed under a @a root. * - * Allocate and return a hash @a *changed_paths_p containing descriptions + * Allocate and return a hash @a *changed_paths2_p containing descriptions * of the paths changed under @a root. The hash is keyed with - * const char * paths, and has @c svn_fs_path_change2_t * values. + * const char * paths, and has #svn_fs_path_change2_t * values. * * Callers can assume that this function takes time proportional to * the amount of data output, and does not need to do tree crawls; * however, it is possible that some of the @c node_kind fields in the - * @c svn_fs_path_change2_t * values will be @c svn_node_unknown or + * #svn_fs_path_change2_t * values will be #svn_node_unknown or * that and some of the @c copyfrom_known fields will be FALSE. * - * Use @c pool for all allocations, including the hash and its values. + * Use @a pool for all allocations, including the hash and its values. * * @since New in 1.6. - Allocate an @c svn_fs_path_change2_t structure in @a pool, initialize and + Allocate an #svn_fs_path_change2_t structure in @a pool, initialize and return it. Set the @c node_rev_id field of the created struct to @a node_rev_id, and @@ -1450,7 +1881,7 @@ kind of change node revision id of changed path -Similar to @c svn_fs_path_change2_t, but without kind and copyfrom +Similar to #svn_fs_path_change2_t, but without kind and copyfrom * information. * * @deprecated Provided for backwards compatibility with the 1.5 API. @@ -1462,7 +1893,7 @@ Copyfrom revision and path; this is only valid if copyfrom_known what node kind is the path? - (Note: it is legal for this to be @c svn_node_unknown.) + (Note: it is legal for this to be #svn_node_unknown.) were there property mods? @@ -1484,6 +1915,35 @@ Change descriptor. * should not directly allocate structures of this type. * * @since New in 1.6. + + +@} +Directory entry names and directory paths. + * + * Here are the rules for directory entry names, and directory paths: + * + * A directory entry name is a Unicode string encoded in UTF-8, and + * may not contain the NULL character (U+0000). The name should be in + * Unicode canonical decomposition and ordering. No directory entry + * may be named '.', '..', or the empty string. Given a directory + * entry name which fails to meet these requirements, a filesystem + * function returns an SVN_ERR_FS_PATH_SYNTAX error. + * + * A directory path is a sequence of zero or more directory entry + * names, separated by slash characters (U+002f), and possibly ending + * with slash characters. Sequences of two or more consecutive slash + * characters are treated as if they were a single slash. If a path + * ends with a slash, it refers to the same node it would without the + * slash, but that node must be a directory, or else the function + * returns an SVN_ERR_FS_NOT_DIRECTORY error. + * + * A path consisting of the empty string, or a string containing only + * slashes, refers to the root directory. + * + * @defgroup svn_fs_directories Filesystem directories + * @{ + +The kind of change that occurred on the path. ignore all previous change items for path (internal-use only) @@ -1502,13 +1962,13 @@ path modified in txn If @a root is the root of a revision, return the revision number. - * Otherwise, return @c SVN_INVALID_REVNUM. + * Otherwise, return #SVN_INVALID_REVNUM. If @a root is the root of a transaction, return the number of the - * revision on which is was based when created. Otherwise, return @c - * SVN_INVALID_REVNUM. + * revision on which is was based when created. Otherwise, return + * #SVN_INVALID_REVNUM. * * @since New in 1.5. @@ -1528,38 +1988,42 @@ Return @c TRUE iff @a root is a transaction root. Return the filesystem to which @a root belongs. -Free the root directory @a root. Simply clearing or destroying the - * pool @a root was allocated in will have the same effect as calling - * this function. +Free the root directory @a root; this only needs to be used if you want to + * free the memory associated with @a root earlier than the time you destroy + * the pool passed to the function that created it (svn_fs_revision_root() or + * svn_fs_txn_root()). -Set @a *root_p to the root directory of @a txn. Allocate @a *root_p in - * @a pool. +Set @a *root_p to the root directory of @a txn. Allocate @a *root_p in a + * private subpool of @a pool; the root can be destroyed earlier than @a pool by + * calling #svn_fs_close_root. -Set @a *root_p to the root directory of revision @a rev in filesystem - * @a fs. Allocate @a *root_p in @a pool. +Set @a *root_p to the root directory of revision @a rev in filesystem @a fs. + * Allocate @a *root_p in a private subpool of @a pool; the root can be + * destroyed earlier than @a pool by calling #svn_fs_close_root. @} Roots. * - * An @c svn_fs_root_t object represents the root directory of some + * An #svn_fs_root_t object represents the root directory of some * revision or transaction in a filesystem. To refer to particular - * node, you provide a root, and a directory path relative that root. + * node or node revision, you provide a root, and a directory path + * relative to that root. * * @defgroup svn_fs_roots Filesystem roots * @{ The Filesystem Root object. - + Change, add, and/or delete transaction property values in * transaction @a txn. @a props is an array of svn_prop_t - * elements. This is equivalent to calling svn_fs_change_txp_prop + * elements. This is equivalent to calling svn_fs_change_txn_prop() * multiple times with the @c name and @c value fields of each * successive svn_prop_t, but may be more efficient. * (Properties not mentioned are left alone.) Do any necessary @@ -1578,7 +2042,7 @@ Change a transactions @a txn's property's value, or add/delete a Set @a *table_p to the entire property list of transaction @a txn, as * an APR hash table allocated in @a pool. The resulting table maps property - * names to pointers to @c svn_string_t objects containing the property value. + * names to pointers to #svn_string_t objects containing the property value. @@ -1597,7 +2061,7 @@ Set @a *names_p to an array of const char * ids which are the Open the transaction named @a name in the filesystem @a fs. Set @a *txn * to the transaction. * - * If there is no such transaction, @c SVN_ERR_FS_NO_SUCH_TRANSACTION is + * If there is no such transaction, #SVN_ERR_FS_NO_SUCH_TRANSACTION is * the error returned. * * Allocate the new transaction in @a pool; when @a pool is freed, the new @@ -1615,7 +2079,7 @@ Set @a *name_p to the name of the transaction @a txn, as a Cleanup the dead transaction in @a fs whose ID is @a txn_id. Use * @a pool for all allocations. If the transaction is not yet dead, - * the error @c SVN_ERR_FS_TRANSACTION_NOT_DEAD is returned. (The + * the error #SVN_ERR_FS_TRANSACTION_NOT_DEAD is returned. (The * caller probably forgot to abort the transaction, or the cleanup * step of that abort failed for some reason.) @@ -1640,7 +2104,7 @@ Commit @a txn. * repository's hook configurations. * * If the transaction conflicts with other changes committed to the - * repository, return an @c SVN_ERR_FS_CONFLICT error. Otherwise, create + * repository, return an #SVN_ERR_FS_CONFLICT error. Otherwise, create * a new filesystem revision containing the changes made in @a txn, * storing that new revision number in @a *new_rev, and return zero. * @@ -1652,15 +2116,16 @@ Commit @a txn. * * If the commit succeeds, @a txn is invalid. * - * If the commit fails, @a txn is still valid; you can make more - * operations to resolve the conflict, or call svn_fs_abort_txn() to - * abort the transaction. + * If the commit fails for any reason, @a *new_rev is an invalid + * revision number, an error other than #SVN_NO_ERROR is returned and + * @a txn is still valid; you can make more operations to resolve the + * conflict, or call svn_fs_abort_txn() to abort the transaction. * * @note Success or failure of the commit of @a txn is determined by * examining the value of @a *new_rev upon this function's return. If * the value is a valid revision number, the commit was successful, * even though a non-@c NULL function return value may indicate that - * something else went wrong. + * something else went wrong in post commit FS processing. @@ -1691,7 +2156,7 @@ Do on-the-fly lock checks. That is, an fs routine may throw error transaction will be closed (neither committed nor aborted). @a flags determines transaction enforcement behaviors, and is composed - from the constants SVN_FS_TXN_* (@c SVN_FS_TXN_CHECK_OOD etc.). + from the constants SVN_FS_TXN_* (#SVN_FS_TXN_CHECK_OOD etc.). @note If you're building a txn for committing, you probably don't want to call this directly. Instead, call @@ -1801,7 +2266,7 @@ The type of a Subversion transaction object. Return a Subversion string containing the unparsed form of the - * node or node revision id @a id. Allocate the string containing the + * node revision id @a id. Allocate the string containing the * unparsed form in @a pool. @@ -1814,18 +2279,18 @@ Return a Subversion string containing the unparsed form of the -Return non-zero IFF the nodes associated with @a id1 and @a id2 are - * related, else return zero. +Return TRUE if node revisions @a id1 and @a id2 are related (part of the + * same node), else return FALSE. -Return -1, 0, or 1 if node revisions @a a and @a b are unrelated, - * equivalent, or otherwise related (respectively). +Return -1, 0, or 1 if node revisions @a a and @a b are respectively + * unrelated, equivalent, or otherwise related (part of the same node). @} -Filesystem Nodes. +Filesystem Nodes and Node-Revisions. * * In a Subversion filesystem, a `node' corresponds roughly to an * `inode' in a Unix filesystem: @@ -1838,9 +2303,11 @@ Filesystem Nodes. * different name. So a node's identity isn't bound to a particular * filename. * - * A `node revision' refers to a node's contents at a specific point in - * time. Changing a node's contents always creates a new revision of that - * node. Once created, a node revision's contents never change. + * A `node revision' refers to one particular version of a node's contents, + * that existed over a specific period of time (one or more repository + * revisions). Changing a node's contents always creates a new revision of + * that node, which is to say creates a new `node revision'. Once created, + * a node revision's contents never change. * * When we create a node, its initial contents are the initial revision of * the node. As users make changes to the node over time, we create new @@ -1850,15 +2317,29 @@ Filesystem Nodes. * the filesystem. Instead, we just remove the reference to the node * from the directory. * + * Each node revision is a part of exactly one node, and appears only once + * in the history of that node. It is uniquely identified by a node + * revision id, #svn_fs_id_t. Its node revision id also identifies which + * node it is a part of. + * + * @note: Often when we talk about `the node' within the context of a single + * revision (or transaction), we implicitly mean `the node as it appears in + * this revision (or transaction)', or in other words `the node revision'. + * + * @note: Commonly, a node revision will have the same content as some other + * node revisions in the same node and in different nodes. The FS libraries + * allow different node revisions to share the same data without storing a + * separate copy of the data. + * * @defgroup svn_fs_nodes Filesystem nodes * @{ -An object representing a node-id. +An object representing a node-revision id. Same as svn_fs_access_add_lock_token2(), but with @a path set to value 1. - @deprecated Provided for backward compatibility with the 1.1 API. + @deprecated Provided for backward compatibility with the 1.5 API. @@ -1890,7 +2371,7 @@ Associate @a access_ctx with an open @a fs. -Set @a *access_ctx to a new @c svn_fs_access_t object representing +Set @a *access_ctx to a new #svn_fs_access_t object representing * @a username, allocated in @a pool. @a username is presumed to * have been authenticated by the caller. * @@ -2078,8 +2559,8 @@ Perform any necessary non-catastrophic recovery on the Subversion Upgrade the Subversion filesystem located in the directory @a path - to the latest version supported by this library. Return @c - SVN_ERR_FS_UNSUPPORTED_UPGRADE and make no changes to the + to the latest version supported by this library. Return + #SVN_ERR_FS_UNSUPPORTED_UPGRADE and make no changes to the filesystem if the requested upgrade is not supported. Use @a pool for necessary allocations. @@ -2106,7 +2587,7 @@ Perform any necessary non-catastrophic recovery on the Subversion they open separate filesystem objects. @note You probably don't want to use this directly. Take a look at - svn_repos_open() instead. + svn_repos_open2() instead. @since New in 1.1. @@ -2124,7 +2605,7 @@ Perform any necessary non-catastrophic recovery on the Subversion pool's. It's a good idea to allocate @a fs_config from @a pool or one of its ancestors. - If @a fs_config contains a value for @c SVN_FS_CONFIG_FS_TYPE, that + If @a fs_config contains a value for #SVN_FS_CONFIG_FS_TYPE, that value determines the filesystem type for the new filesystem. Currently defined values are: @@ -2132,7 +2613,7 @@ Perform any necessary non-catastrophic recovery on the Subversion SVN_FS_TYPE_FSFS Native-filesystem implementation If @a fs_config is @c NULL or does not contain a value for - @c SVN_FS_CONFIG_FS_TYPE then the default filesystem type will be used. + #SVN_FS_CONFIG_FS_TYPE then the default filesystem type will be used. This will typically be BDB for version 1.1 and FSFS for later versions, though the caller should not rely upon any particular default if they wish to ensure that a filesystem of a specific type is created. @@ -2164,6 +2645,14 @@ The type of a warning callback function. @a baton is the value specified @name Filesystem configuration options @{ +Enable / disable text delta caching for a FSFS repository. + * + * @since New in 1.7. + +Enable / disable full-text caching for a FSFS repository. + * + * @since New in 1.7. + @since New in 1.1. @since New in 1.1. @since New in 1.1. @@ -2214,23 +2703,171 @@ An object representing a Subversion filesystem. @copyright ==================================================================== - Copyright (c) 2002-2009 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @file svn_auth.h @brief Subversion's authentication system + + + Dispose of @a patch_file. + Use @a scratch_pool for all temporary allocations. + + @since New in 1.7. + + + + Return the next @a *patch in @a patch_file. + If no patch can be found, set @a *patch to NULL. + If @a reverse is TRUE, invert the patch while parsing it. + If @a ignore_whitespace is TRUE, allow patches with no leading + whitespace to be parsed. + Allocate results in @a result_pool. + Use @a scratch_pool for all other allocations. + + @since New in 1.7. + + +Indicates whether the patch is being interpreted in reverse. + + +Represents the operation performed on the file. + + +A hash table keyed by property names containing svn_prop_patch_t +object for each property parsed from the patch. + + +An array containing an svn_diff_hunk_t object for each hunk parsed +from the patch. + + +The old and new file names as retrieved from the patch file. +These paths are UTF-8 encoded and canonicalized, but otherwise +left unchanged from how they appeared in the patch file. + + + Data type to manage parsing of patches. + API users should not allocate structures of this type directly. + + @since New in 1.7. + + +An array containing an svn_diff_hunk_t object for each hunk parsed +from the patch associated with our property name + + +Represents the operation performed on the property + + + Data type to manage parsing of properties in patches. + API users should not allocate structures of this type directly. + + @since New in 1.7. + + +Return the number of lines of trailing context of @a hunk, + * i.e. the number of lines starting with ' ' after the last line + * that starts with a '+' or '-'. + * @since New in 1.7. + + +Return the number of lines of leading context of @a hunk, + * i.e. the number of lines starting with ' ' before the first line + * that starts with a '+' or '-'. + * @since New in 1.7. + + +Return the number of lines in the modified @a hunk text, + * as parsed from the hunk header. + * @since New in 1.7. + + +Return the line offset of the modified @a hunk text, + * as parsed from the hunk header. + * @since New in 1.7. + + +Return the number of lines in the original @a hunk text, + * as parsed from the hunk header. + * @since New in 1.7. + + +Return the line offset of the original hunk text, + * as parsed from the hunk header. + * @since New in 1.7. + + +Reset the modified text of @a hunk so it can be read again from the start. + * @since New in 1.7. + + +Reset the original text of @a hunk so it can be read again from the start. + * @since New in 1.7. + + +Reset the diff text of @a hunk so it can be read again from the start. + * @since New in 1.7. + + + Like svn_diff_hunk_readline_original_text(), but it returns lines from + the modified text of the hunk. + + @see svn_diff_hunk_t + @since New in 1.7. + + + + Allocate @a *stringbuf in @a result_pool, and read into it one line + of the original text of @a hunk. + The line-terminator is detected automatically and stored in @a *eol + if @a eol is not NULL. + If EOF is reached, set @a *eof to TRUE, and set @a *eol to NULL if the + hunk text does not end with a newline character and @a eol is not NULL. + Temporary allocations will be performed in @a scratch_pool. + + @see svn_diff_hunk_t + @since New in 1.7. + + + + Allocate @a *stringbuf in @a result_pool, and read into it one line + of the diff text of @a hunk. The first line returned is the hunk header. + Any subsequent lines are unidiff data (starting with '+', '-', or ' '). + If the @a hunk is being interpreted in reverse (i.e. the reverse + parameter of svn_diff_parse_next_patch() was @c TRUE), the diff + text will be returned in reversed form. + The line-terminator is detected automatically and stored in @a *eol + if @a eol is not NULL. + If EOF is reached, set @a *eof to TRUE, and set @a *eol to NULL if the + hunk does not end with a newline character and @a eol is not NULL. + Temporary allocations will be performed in @a scratch_pool. + + @since New in 1.7. + + + + Describes what operation has been performed on a file. + + @since New in 1.7. + Similar to svn_diff_mem_string_output_merge2, but with @a @@ -2263,15 +2900,28 @@ Output the @a diff generated by svn_diff_mem_string_diff3() in diff3 +Similar to svn_diff_mem_string_output_unified2() but with + * @a with_diff_header always set to TRUE and @a hunk_delimiter always + * set to NULL. + * + * @since New in 1.5. + + + Outputs the @a diff object generated by svn_diff_mem_string_diff() * in unified diff format on @a output_stream, using @a original * and @a modified for the text in the output. - * Outputs the header and markers in @a header_encoding. + * A diff header is only written to the output if @a with_diff_header + * is TRUE. + * + * Outputs the header and hunk delimiters in @a header_encoding. + * A @a hunk_delimiter can optionally be specified. + * If @a hunk_delimiter is NULL, use the default hunk delimiter "@@". * * @a original_header and @a modified header are * used to fill the field after the "---" and "+++" header markers. * - * @since New in 1.5. + * @since New in 1.7. @@ -2282,7 +2932,7 @@ Generate @a diff output from the @a original, @a modified and @a latest -Generate @a diff output from the @a orginal, @a modified and @a latest +Generate @a diff output from the @a original, @a modified and @a latest * in-memory strings. @a diff will be allocated in @a pool. * * @since New in 1.5. @@ -2337,7 +2987,7 @@ Similar to svn_diff_file_output_unified2(), but with @a header_encoding Similar to svn_diff_file_output_unified3(), but with @a relative_to_dir * set to NULL and @a show_c_function to false. * - * @deprecated Provided for backwards compatibility with the 1.3 API. + * @deprecated Provided for backwards compatibility with the 1.4 API. @@ -2361,7 +3011,7 @@ A convenience function to produce unified diff output from the -Simliar to svn_file_diff4_2(), but with @a options set to a struct with +Similar to svn_file_diff4_2(), but with @a options set to a struct with * default options. * * @deprecated Provided for backwards compatibility with the 1.3 API. @@ -2439,7 +3089,7 @@ Allocate a @c svn_diff_file_options_t structure in @a pool, initializing -Whether the '@@' lines of the unified diff output should include a prefix +Whether the "@@" lines of the unified diff output should include a prefix * of the nearest preceding line that starts with a character that might be * the initial character of a C language identifier. The default is * @c FALSE. @@ -2586,46 +3236,81 @@ Determine if a diff object contains conflicts. If it does, return +Like svn_diff_diff4_2() but using #svn_diff_fns_t instead of + * #svn_diff_fns2_t. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Given a vtable of @a diff_fns/@a diff_baton for reading datasources, * return a diff object in @a *diff that represents a difference between * two datasources: "original" and "latest", adjusted to become a full * difference between "original", "modified" and "latest" using "ancestor". * Do all allocation in @a pool. + * + * @since New in 1.7. +Like svn_diff_diff3_2() but using #svn_diff_fns_t instead of + * #svn_diff_fns2_t. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Given a vtable of @a diff_fns/@a diff_baton for reading datasources, * return a diff object in @a *diff that represents a difference between * three datasources: "original", "modified", and "latest". Do all * allocation in @a pool. + * + * @since New in 1.7. +Like svn_diff_diff_2() but using #svn_diff_fns_t instead of + * #svn_diff_fns2_t. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Given a vtable of @a diff_fns/@a diff_baton for reading datasources, * return a diff object in @a *diff that represents a difference between * an "original" and "modified" datasource. Do all allocation in @a pool. + * + * @since New in 1.7. + + + +Like #svn_diff_fns2_t except with datasource_open() instead of + * datasources_open(). + * + * @deprecated Provided for backward compatibility with the 1.6 API. - + Free *all* tokens from memory, they're no longer needed. - + Free @a token from memory, the diff algorithm is done with it. - + Get the next "token" from the datasource of type @a datasource. * Return a "token" in @a *token. Return a hash of "token" in @a *hash. * Leave @a token and @a hash untouched when the datasource is exhausted. - + Close the datasource of type @a datasource. - -Open the datasource of type @a datasource. + +Open the datasources of type @a datasources. - -A vtable for reading data from the three datasources. + +A vtable for reading data from the three datasources. + * @since New in 1.7. There are four types of datasources. In GNU diff3 terminology, @@ -2653,68 +3338,154 @@ An opaque type that represents a difference between either two or * svn_diff_diff3() and svn_diff_diff4(), and consumed by a number of * other routines. + + +@} + Set @a kind to the #svn_node_kind_t of @a abspath. Use @a wc_ctx + to access the working copy, and @a scratch_pool for all temporary + allocations. + + If @a abspath is not under version control, set @a kind to #svn_node_none. + If it is versioned but hidden and @a show_hidden is @c FALSE, also return + #svn_node_none. + + ### What does hidden really mean? + ### What happens when show_hidden is TRUE? + + If the node's info is incomplete, it may or may not have a known node kind + set. If the kind is not known (yet), set @a kind to #svn_node_unknown. + Otherwise return the node kind even though the node is marked incomplete. + + @since New in 1.7. + + + +Remove the local node for @a local_abspath from the working copy and + * add an excluded node placeholder in its place. + * + * This feature is only supported for unmodified nodes. An + * #SVN_ERR_UNSUPPORTED_FEATURE error is returned if the node can't be + * excluded in its current state. + * + * @a wc_ctx contains a tree lock, for the local path to the working copy + * which will be used as the root of this operation + * + * If @a notify_func is not @c NULL, call it with @a notify_baton to + * report changes as they are made. + * + * If @a cancel_func is not @c NULL, call it with @a cancel_baton at + * various points to determine if the client has canceled the operation. + * + * + * @since New in 1.7 + -Crop @a target according to @a depth. +Similar to svn_wc_crop_tree2(), but uses an access baton and target. + * + * svn_wc_crop_tree() also allows #svn_depth_exclude, which is now + * handled via svn_wc_exclude() + * + * @a target is a basename in @a anchor or "" for @a anchor itself. + * + * @since New in 1.6 + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Crop @a local_abspath according to @a depth. * * Remove any item that exceeds the boundary of @a depth (relative to - * @a target) from revision control. Leave modified items behind + * @a local_abspath) from revision control. Leave modified items behind * (unversioned), while removing unmodified ones completely. * - * If @a target starts out with a shallower depth than @a depth, do not - * upgrade it to @a depth (that would not be cropping); however, do + * @a depth can be svn_depth_empty, svn_depth_files or svn_depth_immediates. + * Excluding nodes is handled by svn_wc_exclude(). + * + * If @a local_abspath starts out with a shallower depth than @a depth, + * do not upgrade it to @a depth (that would not be cropping); however, do * check children and crop them appropriately according to @a depth. * - * Returns immediately with no error if @a target is not a directory, - * or if @a depth is not restrictive (e.g., @c svn_depth_infinity). + * Returns immediately with an #SVN_ERR_UNSUPPORTED_FEATURE error if @a + * local_abspath is not a directory, or if @a depth is not restrictive + * (e.g., #svn_depth_infinity). * - * @a anchor is an access baton, with a tree lock, for the local path to the - * working copy which will be used as the root of this operation. If - * @a target is not empty, it represents an entry in the @a anchor path; - * otherwise, the @a anchor path is the target. @a target may not be - * @c NULL. + * @a wc_ctx contains a tree lock, for the local path to the working copy + * which will be used as the root of this operation. * * If @a cancel_func is not @c NULL, call it with @a cancel_baton at - * various points to determine if the client has cancelled the operation. + * various points to determine if the client has canceled the operation. * * If @a notify_func is not @c NULL, call it with @a notify_baton to * report changes as they are made. * - * @note: svn_depth_exclude currently does nothing; passing it results - * in immediate success with no side effects. - * - * @since New in 1.6 + * @since New in 1.7 + + + + The callback type used by svn_client_get_changelists(). + + On each invocation, @a path is a newly discovered member of the + changelist, and @a baton is a private function closure. + + @since New in 1.5. - Set @a path's entry's 'changelist' attribute to @a changelist iff +Similar to svn_wc_set_changelist2(), but with an access baton and + * relative path. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Set @a local_abspath's 'changelist' attribute to @a changelist iff @a changelist is not @c NULL; otherwise, remove any current - changelist assignment from @a path. @a changelist may not be the - empty string. @a adm_access is an access baton set that contains - @a path. + changelist assignment from @a local_abspath. @a changelist may not + be the empty string. Recurse to @a depth. + + @a changelist_filter is an array of const char * changelist + names, used as a restrictive filter on items whose changelist + assignments are adjusted; that is, don't tweak the changeset of any + item unless it's currently a member of one of those changelists. + If @a changelist_filter is empty (or altogether @c NULL), no changelist + filtering occurs. If @a cancel_func is not @c NULL, call it with @a cancel_baton to - determine if the client has cancelled the operation. + determine if the client has canceled the operation. If @a notify_func is not @c NULL, call it with @a notify_baton to - report the change (using notification types @c - svn_wc_notify_changelist_set and @c svn_wc_notify_changelist_clear). + report the change (using notification types + #svn_wc_notify_changelist_set and #svn_wc_notify_changelist_clear). + + Use @a scratch_pool for temporary allocations. @note For now, directories are NOT allowed to be associated with changelists; there is confusion about whether they should behave - as depth-0 or depth-infinity objects. If @a path is a directory, - return @c SVN_ERR_UNSUPPORTED_FEATURE. + as depth-0 or depth-infinity objects. If @a local_abspath is a directory, + return an error. @note This metadata is purely a client-side "bookkeeping" convenience, and is entirely managed by the working copy. - @since New in 1.5. + @since New in 1.7. -Set @a *result_p to point to a new @c svn_wc_revision_status_t structure +Similar to svn_wc_revision_status2(), but with a (possibly) local + * path and no wc_ctx parameter. + * + * @since New in 1.4. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Set @a *result_p to point to a new #svn_wc_revision_status_t structure * containing a summary of the revision range and status of the working copy - * at @a wc_path (not including "externals"). + * at @a local_abspath (not including "externals"). @a local_abspath must + * be absolute. Return SVN_ERR_WC_PATH_NOT_FOUND if @a local_abspath is not + * a working copy path. * * Set @a (*result_p)->min_rev and @a (*result_p)->max_rev respectively to the * lowest and highest revision numbers in the working copy. If @a committed @@ -2722,29 +3493,33 @@ Set @a *result_p to point to a new @c svn_wc_revision_status_t structure * * Set @a (*result_p)->switched to indicate whether any item in the WC is * switched relative to its parent. If @a trail_url is non-NULL, use it to - * determine if @a wc_path itself is switched. It should be any trailing - * portion of @a wc_path's expected URL, long enough to include any parts + * determine if @a local_abspath itself is switched. It should be any trailing + * portion of @a local_abspath's expected URL, long enough to include any parts * that the caller considers might be changed by a switch. If it does not - * match the end of @a wc_path's actual URL, then report a "switched" + * match the end of @a local_abspath's actual URL, then report a "switched" * status. * * Set @a (*result_p)->modified to indicate whether any item is locally * modified. * * If @a cancel_func is non-NULL, call it with @a cancel_baton to determine - * if the client has cancelled the operation. + * if the client has canceled the operation. * - * Allocate *result_p in @a pool. + * Allocate *result_p in @a result_pool, use @a scratch_pool for temporary + * allocations. * - * @since New in 1.4 + * @a wc_ctx should be a valid working copy context. + * + * @since New in 1.7 -Whether any WC paths are at a depth other than @c svn_depth_infinity. +Whether any WC paths are at a depth other than #svn_depth_infinity. * @since New in 1.5. +@} A structure to report a summary of a working copy, including the * mix of revisions found within it, whether any parts are switched or * locally modified, and whether it is a sparse checkout. @@ -2757,18 +3532,43 @@ A structure to report a summary of a working copy, including the -Remove any lock from @a path. @a adm_access must contain a - * write-lock for @a path. If @a path has a lock and the locking - * so specifies, make the file read-only. Don't return an error if @a - * path didn't have a lock. Perform temporary allocations in @a pool. + Similar to svn_wc_remove_lock2(), but with a #svn_wc_adm_access_t / + relative path parameter pair. + + @deprecated Provided for backward compatibility with the 1.6 API. + @since New in 1.2. + + + +Remove any lock from @a local_abspath. If @a local_abspath has a + * lock and the locking so specifies, make the file read-only. Don't + * return an error if @a local_abspath didn't have a lock. Perform temporary + * allocations in @a scratch_pool. + * + * @since New in 1.7. + -Add @a lock to the working copy for @a path. @a adm_access must contain - * a write lock for @a path. If @a path is read-only, due to locking - * properties, make it writable. Perform temporary allocations in @a - * pool. + Similar to svn_wc_add_lock2(), but with a #svn_wc_adm_access_t / + relative path parameter pair. + + @deprecated Provided for backward compatibility with the 1.6 API. + @since New in 1.2. + + + +@} +@defgroup svn_wc_repos_locks Repository locks +@{ + +Add @a lock to the working copy for @a local_abspath. If @a + * local_abspath is read-only, due to locking properties, make it writable. + * Perform temporary allocations in @a scratch_pool. + * + * @since New in 1.7. + - + Return TRUE iff @a str matches any of the elements of @a list, a * list of zero or more ignore patterns. * @@ -2776,25 +3576,36 @@ Return TRUE iff @a str matches any of the elements of @a list, a -Get the list of ignore patterns from the @c svn_config_t's in the - * @a config hash and the local ignore patterns from the directory - * in @a adm_access, and store them in @a *patterns. - * Allocate @a *patterns and its contents in @a pool. +Similar to svn_wc_get_ignores2(), but with a #svn_wc_adm_access_t + * parameter in place of #svn_wc_context_t and @c local_abspath parameters. * * @since New in 1.3. + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Get the list of ignore patterns from the #svn_config_t's in the + * @a config hash and the local ignore patterns from the directory + * at @a local_abspath, using @a wc_ctx, and store them in @a *patterns. + * Allocate @a *patterns and its contents in @a result_pool, use @a + * scratch_pool for temporary allocations. + * + * @since New in 1.7. +@} +@defgroup svn_wc_ignore Ignoring unversioned files and directories +@{ + Get the run-time configured list of ignore patterns from the - * @c svn_config_t's in the @a config hash, and store them in @a *patterns. + * #svn_config_t's in the @a config hash, and store them in @a *patterns. * Allocate @a *patterns and its contents in @a pool. -Given a @a path with its accompanying @a entry, transmit all local - * property modifications using the appropriate @a editor method (in - * conjunction with @a baton). @a adm_access is an access baton set - * that contains @a path. Use @a pool for all allocations. +Similar to svn_wc_transmit_prop_deltas2(), but with a relative path, + * adm_access baton and tempfile. * * If a temporary file remains after this function is finished, the * path to that file is returned in @a *tempfile (so the caller can @@ -2802,6 +3613,16 @@ Given a @a path with its accompanying @a entry, transmit all local * * @note Starting version 1.5, no tempfile will ever be returned * anymore. If @a *tempfile is passed, its value is set to @c NULL. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Given a @a local_abspath, transmit all local property + * modifications using the appropriate @a editor method (in conjunction + * with @a baton). Use @a scratch_pool for any temporary allocation. + * + * @since New in 1.7. @@ -2811,33 +3632,52 @@ Similar to svn_wc_transmit_text_deltas2(), but with @a digest set to NULL. -Send the local modifications for versioned file @a path (with +Similar to svn_wc_transmit_text_deltas3(), but with a relative path + * and adm_access baton, and the checksum output is an MD5 digest instead of + * two svn_checksum_t objects. + * + * If @a tempfile is non-NULL, make a copy of @a path with keywords + * and eol translated to repository-normal form, and set @a *tempfile to the + * absolute path to this copy, allocated in @a result_pool. The copy will + * be in the temporary-text-base directory. Do not clean up the copy; + * caller can do that. (The purpose of handing back the tmp copy is that it + * is usually about to become the new text base anyway, but the installation + * of the new text base is outside the scope of this function.) + * + * @since New in 1.4. + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +@} +@defgroup svn_wc_deltas Text/Prop Deltas Using an Editor +@{ + +Send the local modifications for versioned file @a local_abspath (with * matching @a file_baton) through @a editor, then close @a file_baton - * afterwards. Use @a pool for any temporary allocation and - * @a adm_access as an access baton for @a path. - * - * This process creates a copy of @a path with keywords and eol - * untranslated. If @a tempfile is non-NULL, set @a *tempfile to the - * path to this copy. Do not clean up the copy; caller can do that. - * If @a digest is non-NULL, put the MD5 checksum of the - * temporary file into @a digest, which must point to @c APR_MD5_DIGESTSIZE - * bytes of storage. (The purpose of handing back the tmp copy is that - * it is usually about to become the new text base anyway, but the - * installation of the new text base is outside the scope of this - * function.) - * - * If @a fulltext, send the untranslated copy of @a path through @a editor - * as full-text; else send it as svndiff against the current text base. - * - * If sending a diff, and the recorded checksum for @a path's text-base - * does not match the current actual checksum, then remove the tmp + * afterwards. Use @a scratch_pool for any temporary allocation. + * + * If @a new_text_base_md5_checksum is non-NULL, set + * @a *new_text_base_md5_checksum to the MD5 checksum of (@a local_abspath + * translated to repository-normal form), allocated in @a result_pool. + * + * If @a new_text_base_sha1_checksum in non-NULL, store a copy of (@a + * local_abspath translated to repository-normal form) in the pristine text + * store, and set @a *new_text_base_sha1_checksum to its SHA-1 checksum. + * + * If @a fulltext, send the untranslated copy of @a local_abspath through + * @a editor as full-text; else send it as svndiff against the current text + * base. + * + * If sending a diff, and the recorded checksum for @a local_abspath's + * text-base does not match the current actual checksum, then remove the tmp * copy (and set @a *tempfile to NULL if appropriate), and return the - * error @c SVN_ERR_WC_CORRUPT_TEXT_BASE. + * error #SVN_ERR_WC_CORRUPT_TEXT_BASE. * * @note This is intended for use with both infix and postfix * text-delta styled editor drivers. * - * @since New in 1.4. + * @since New in 1.7. @@ -2845,17 +3685,18 @@ Returns a @a stream allocated in @a pool with access to the given * @a path taking the file properties from @a versioned_file using * @a adm_access. * - * When translation from normal form is requested - * (@c SVN_WC_TRANSLATE_FROM_NF is specified in @a flags), @a path - * is used as target path and stream read operations are not supported. - * Conversely, if translation to normal form is requested - * (@c SVN_WC_TRANSLATE_TO_NF is specified in @a flags), @a path is - * used as source path and stream write operations are not supported. + * If @a flags includes #SVN_WC_TRANSLATE_FROM_NF, the stream will + * translate from Normal Form to working copy form while writing to + * @a path; stream read operations are not supported. + * Conversely, if @a flags includes #SVN_WC_TRANSLATE_TO_NF, the stream will + * translate from working copy form to Normal Form while reading from + * @a path; stream write operations are not supported. * * The @a flags are the same constants as those used for - * svn_wc_translated_file(). + * svn_wc_translated_file2(). * * @since New in 1.5. + * @deprecated Provided for compatibility with the 1.6 API. @@ -2866,6 +3707,9 @@ Same as svn_wc_translated_file2, but will never clean up +@defgroup svn_wc_translate EOL conversion and keyword expansion +@{ + Set @a xlated_path to a translated copy of @a src * or to @a src itself if no translation is necessary. * That is, if @a versioned_file's properties indicate newline conversion or @@ -2873,29 +3717,34 @@ Set @a xlated_path to a translated copy of @a src * whose newlines and keywords are converted using the translation * as requested by @a flags. * + * If @a cancel_func is non-NULL, call it with @a cancel_baton to determine + * if the client has canceled the operation. + * * When translating to the normal form, inconsistent eol styles will be * repaired when appropriate for the given setting. When translating * from normal form, no EOL repair is performed (consistency is assumed). * This behaviour can be overridden by specifying - * @c SVN_WC_TRANSLATE_FORCE_EOL_REPAIR. + * #SVN_WC_TRANSLATE_FORCE_EOL_REPAIR. * * The caller can explicitly request a new file to be returned by setting the - * @c SVN_WC_TRANSLATE_FORCE_COPY flag in @a flags. + * #SVN_WC_TRANSLATE_FORCE_COPY flag in @a flags. * * This function is generally used to get a file that can be compared * meaningfully against @a versioned_file's text base, if * @c SVN_WC_TRANSLATE_TO_NF is specified, against @a versioned_file itself * if @c SVN_WC_TRANSLATE_FROM_NF is specified. * - * Output files are created in the temp file area belonging to - * @a versioned_file. By default they will be deleted at pool cleanup. - * - * If @c SVN_WC_TRANSLATE_NO_OUTPUT_CLEANUP is specified, the default - * pool cleanup handler to remove @a *xlated_path is not registered. + * If a new output file is created, it is created in the temp file area + * belonging to @a versioned_file. By default it will be deleted at pool + * cleanup. If @c SVN_WC_TRANSLATE_NO_OUTPUT_CLEANUP is specified, the + * default pool cleanup handler to remove @a *xlated_path is not registered. + * If the input file is returned as the output, its lifetime is not + * specified. * * If an error is returned, the effect on @a *xlated_path is undefined. * * @since New in 1.4 + * @deprecated Provided for compatibility with the 1.6 API @@ -2912,56 +3761,78 @@ Create a unique temporary file in administrative tmp/ area of * * The flags will be APR_WRITE | APR_CREATE | APR_EXCL and * optionally @c APR_DELONCLOSE (if the @a delete_when argument is - * set to @c svn_io_file_del_on_close). + * set to #svn_io_file_del_on_close). * * This means that as soon as @a fp is closed, the tmp file will vanish. * * @since New in 1.4 + * @deprecated For compatibility with 1.6 API + + + + Restores a missing node, @a local_abspath using the @a wc_ctx. Records + the new last modified time of the file for status processing. + + If @a use_commit_times is TRUE, then set restored files' timestamps + to their last-commit-times. + + Returns SVN_ERROR_WC_PATH_NOT_FOUND if LOCAL_ABSPATH is not versioned and + SVN_ERROR_WC_PATH_UNEXPECTED_STATUS if LOCAL_ABSPATH is in a status where + it can't be restored. + + @since New in 1.7. - Similar to svn_wc_revert2(), but takes an @c svn_wc_notify_func_t instead. + Similar to svn_wc_revert2(), but takes an #svn_wc_notify_func_t instead. @deprecated Provided for backward compatibility with the 1.1 API. - Similar to svn_wc_revert3(), but with @a changelists passed as @c + Similar to svn_wc_revert3(), but with @a changelist_filter passed as @c NULL, and @a depth set according to @a recursive: if @a recursive - is TRUE, @a depth is @c svn_depth_infinity; if FALSE, @a depth is - @c svn_depth_empty. + is TRUE, @a depth is #svn_depth_infinity; if FALSE, @a depth is + #svn_depth_empty. @note Most APIs map @a recurse==FALSE to @a depth==svn_depth_files; revert is deliberately different. - @deprecated Provided for backward compatibility with the 1.2 API. + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.4 API. - Revert changes to @a path. Perform necessary allocations in @a pool. +Similar to svn_wc_revert4() but takes a relative path and access baton. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Revert changes to @a local_abspath. Perform necessary allocations in + @a scratch_pool. - @a parent_access is an access baton for the directory containing @a - path, unless @a path is a working copy root (as determined by @c - svn_wc_is_wc_root), in which case @a parent_access refers to @a - path itself. + @a wc_ctx contains the necessary locks required for performing the + operation. - If @a depth is @c svn_depth_empty, revert just @a path (if a + If @a depth is #svn_depth_empty, revert just @a path (if a directory, then revert just the properties on that directory). - Else if @c svn_depth_files, revert @a path and any files + Else if #svn_depth_files, revert @a path and any files directly under @a path if it is directory. Else if - @c svn_depth_immediates, revert all of the preceding plus - properties on immediate subdirectories; else if @c svn_depth_infinity, + #svn_depth_immediates, revert all of the preceding plus + properties on immediate subdirectories; else if #svn_depth_infinity, revert path and everything under it fully recursively. - @a changelists is an array of const char * changelist + @a changelist_filter is an array of const char * changelist names, used as a restrictive filter on items reverted; that is, don't revert any item unless it's a member of one of those - changelists. If @a changelists is empty (or altogether @c NULL), + changelists. If @a changelist_filter is empty (or altogether @c NULL), no changelist filtering occurs. If @a cancel_func is non-NULL, call it with @a cancel_baton at various points during the reversion process. If it returns an - error (typically @c SVN_ERR_CANCELLED), return that error + error (typically #SVN_ERR_CANCELLED), return that error immediately. If @a use_commit_times is TRUE, then all reverted working-files @@ -2973,35 +3844,51 @@ Create a unique temporary file in administrative tmp/ area of notification is not needed. If @a path is not under version control, return the error - SVN_ERR_UNVERSIONED_RESOURCE. + #SVN_ERR_UNVERSIONED_RESOURCE. - @since New in 1.5. + @since New in 1.7. -Similar to svn_wc_relocate2(), but uses @c svn_wc_relocation_validator_t. +Similar to svn_wc_relocate2(), but uses #svn_wc_relocation_validator_t. * * @deprecated Provided for backwards compatibility with the 1.3 API. -Similar to svn_wc_relocate3(), but uses @c svn_wc_relocation_validator2_t. +Similar to svn_wc_relocate3(), but uses #svn_wc_relocation_validator2_t. * + * @since New in 1.4. * @deprecated Provided for backwards compatibility with the 1.4 API. -Change repository references at @a path that begin with @a from - * to begin with @a to instead. Perform necessary allocations in @a pool. - * If @a recurse is TRUE, do so. @a validator (and its baton, - * @a validator_baton), will be called for each newly generated URL. +Similar to svn_wc_relocate4(), but with a #svn_wc_adm_access_t / + * relative path parameter pair. * - * @a adm_access is an access baton for the directory containing - * @a path. + * @note As of the 1.7 API, @a path is required to be a working copy + * root directory, and @a recurse is required to be TRUE. * * @since New in 1.5. + * @deprecated Provided for limited backwards compatibility with the + * 1.6 API. + + + +Recursively change repository references at @a wcroot_abspath + * (which is the root directory of a working copy). The pre-change + * URL should begin with @a from, and the post-change URL will begin + * with @a to. @a validator (and its baton, @a validator_baton), will + * be called for the newly generated base URL and calculated repo + * root. + * + * @a wc_ctx is an working copy context. + * + * @a scratch_pool will be used for temporary allocations. + * + * @since New in 1.7. -Similar to @c svn_wc_relocation_validator2_t, but without +Similar to #svn_wc_relocation_validator2_t, but without * the @a root and @a pool arguments. @a uuid will not be NULL in this version * of the function. * @@ -3009,8 +3896,11 @@ Similar to @c svn_wc_relocation_validator2_t, but without -Similar to @c svn_wc_relocation_validator3_t, but without - * the @a root_url arguments. +Similar to #svn_wc_relocation_validator3_t, but with + * the @a root argument. + * + * If @a root is TRUE, then the implementation should make sure that @a url + * is the repository root. Else, it can be an URL inside the repository. * * @deprecated Provided for backwards compatibility with the 1.4 API. @@ -3024,12 +3914,43 @@ Relocation validation callback typedef. * @a baton is a closure object; it should be provided by the * implementation, and passed by the caller. * - * If @a root is TRUE, then the implementation should make sure that @a url - * is the repository root. Else, it can be an URL inside the repository. + * If @a root_url is passed, then the implementation should make sure that + * @a url is the repository root. * @a pool may be used for temporary allocations. * * @since New in 1.5. + + + Upgrade the working copy at @a local_abspath to the latest metadata + storage format. @a local_abspath should be an absolute path to the + root of the working copy. + + If @a cancel_func is non-NULL, invoke it with @a cancel_baton at + various points during the operation. If it returns an error + (typically #SVN_ERR_CANCELLED), return that error immediately. + + For each directory converted, @a notify_func will be called with + in @a notify_baton action #svn_wc_notify_upgrade_path and as path + the path of the upgraded directory. @a notify_func may be @c NULL + if this notification is not needed. + + If the old working copy doesn't contain a repository root and/or + repository uuid, @a repos_info_func (if non-NULL) will be called + with @a repos_info_baton to provide the missing information. + + @since New in 1.7. + + + +Callback for retrieving a repository root for a url from upgrade. + * + * Called by svn_wc_upgrade() when no repository root and/or repository + * uuid are recorded in the working copy. For normal Subversion 1.5 and + * later working copies, this callback will not be used. + * + * @since New in 1.7. + Similar to svn_wc_cleanup2(). @a optional_adm_access is an historic @@ -3039,37 +3960,75 @@ Relocation validation callback typedef. - Recurse from @a path, cleaning up unfinished log business. Perform - necessary allocations in @a pool. Any working copy locks under @a path - will be taken over and then cleared by this function. If @a diff3_cmd - is non-NULL, then use it as the diff3 command for any merging; otherwise, - use the built-in merge code. + Similar to svn_wc_cleanup3() but uses relative paths and creates its own + swn_wc_context_t. - WARNING: there is no mechanism that will protect locks that are still - being used. + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. - If @a cancel_func is non-NULL, invoke it with @a cancel_baton at - various points during the operation. If it returns an error - (typically @c SVN_ERR_CANCELLED), return that error immediately. + + + Recurse from @a local_abspath, cleaning up unfinished log business. Perform + any temporary allocations in @a scratch_pool. Any working copy locks under + @a local_abspath will be taken over and then cleared by this function. - @since New in 1.2. + WARNING: there is no mechanism that will protect locks that are still being + used. + + If @a cancel_func is non-NULL, invoke it with @a cancel_baton at various + points during the operation. If it returns an error (typically + #SVN_ERR_CANCELLED), return that error immediately. + + @since New in 1.7. -Returns a path to the pristine copy of @a path. Should use - * svn_wc_get_pristine_contents() instead. +Set @a *pristine_path to the path of the "normal" pristine text file for + * the versioned file @a path. + * + * If @a path does not have a pristine text, set @a *pristine_path to a path where + * nothing exists on disk (in a directory that does exist). + * + * @note: Before version 1.7, the behaviour in that case was to provide the + * path where the pristine text *would be* if it were present. The new + * behaviour is intended to provide backward compatibility for callers that + * open or test the provided path immediately, and not for callers that + * store the path for later use. * * @deprecated Provided for backwards compatibility with the 1.5 API. + * Callers should use svn_wc_get_pristine_contents() instead. -Given a @a path to a wc file, return a stream to the @a contents of - * the pristine copy of the file. This is needed so clients can do - * diffs. If the WC has no text-base, return a @c NULL instead of a - * stream. +Similar to svn_wc_get_pristine_contents2, but takes no working copy + * context and a path that can be relative * * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + +@} +Given a @a path to a wc file, return in @a *contents a readonly stream to + * the pristine contents of the file that would serve as base content for the + * next commit. That means: + * + * When there is no change in node history scheduled, i.e. when there are only + * local text-mods, prop-mods or a delete, return the last checked-out or + * updated-/switched-to contents of the file. + * + * If the file is simply added or replaced (no copy-/move-here involved), + * set @a *contents to @c NULL. + * + * When the file has been locally copied-/moved-here, return the contents of + * the copy/move source (even if the copy-/move-here replaces a locally + * deleted file). + * + * If @a local_abspath refers to an unversioned or non-existing path, return + * @c SVN_ERR_WC_PATH_NOT_FOUND. Use @a wc_ctx to access the working copy. + * @a contents may not be @c NULL (unlike @a *contents). + * + * @since New in 1.7. Similar to svn_wc_merge_props(), but no baseprops are given. @@ -3085,34 +4044,56 @@ Given a @a path to a wc file, return a stream to the @a contents of Same as svn_wc_merge_props2(), but with a @a conflict_func (and baton) of NULL. - @deprecated Provided for backward compatibility with the 1.3 API. - + @deprecated Provided for backward compatibility with the 1.4 API. -Given a @a path under version control, merge an array of @a +Similar to svn_wc_merge_props3, but takes an access baton and relative + * path, no cancel_function, and no left and right version. + * + * This function has the @a base_merge parameter which (when TRUE) will + * apply @a propchanges to this node's pristine set of properties. This + * functionality is not supported on newer APIs -- pristine information + * should only be changed through an update editor drive. + * + * Uses a svn_wc_conflict_resolver_func_t conflict resolver instead of a + * svn_wc_conflict_resolver_func2_t. + * + * For compatibility reasons this function returns + * #SVN_ERR_UNVERSIONED_RESOURCE, when svn_wc_merge_props3 would return either + * #SVN_ERR_WC_PATH_NOT_FOUND or #SVN_ERR_WC_PATH_UNEXPECTED_STATUS. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Given a @a local_abspath under version control, merge an array of @a * propchanges into the path's existing properties. @a propchanges is - * an array of @c svn_prop_t objects, and @a baseprops is a hash + * an array of #svn_prop_t objects, and @a baseprops is a hash * representing the original set of properties that @a propchanges is - * working against. @a adm_access is an access baton for the directory - * containing @a path. + * working against. @a wc_ctx contains a lock for @a local_abspath. * - * If @a base_merge is @c FALSE only the working properties will be changed, - * if it is @c TRUE both the base and working properties will be changed. + * Only the working properties will be changed. * * If @a state is non-NULL, set @a *state to the state of the properties * after the merge. * * If conflicts are found when merging working properties, they are * described in a temporary .prej file (or appended to an already-existing - * .prej file), and the entry is marked "conflicted". Base properties - * are changed unconditionally, if @a base_merge is @c TRUE, they never result - * in a conflict. + * .prej file), and the entry is marked "conflicted". * - * If @a path is not under version control, return the error - * SVN_ERR_UNVERSIONED_RESOURCE and don't touch anyone's properties. + * If @a cancel_func is non-NULL, invoke it with @a cancel_baton at various + * points during the operation. If it returns an error (typically + * #SVN_ERR_CANCELLED), return that error immediately. * - * @since New in 1.5. + * If @a local_abspath is not under version control, return the error + * #SVN_ERR_WC_PATH_NOT_FOUND and don't touch anyone's properties. + * + * If @a local_abspath has a status in which it doesn't have properties + * (E.g. deleted) return the error SVN_ERR_WC_PATH_UNEXPECTED_STATUS. + * + * @since New in 1.7. @@ -3129,30 +4110,45 @@ Similar to svn_wc_merge3(), but with @a prop_diff, @a -Given paths to three fulltexts, merge the differences between @a left - * and @a right into @a merge_target. (It may help to know that @a left, - * @a right, and @a merge_target correspond to "OLDER", "YOURS", and "MINE", - * respectively, in the diff3 documentation.) Use @a pool for any - * temporary allocation. +Similar to svn_wc_merge4() but takes relative paths and an access + * baton. It doesn't support a cancel function or tracking origin version + * information. + * + * Uses a svn_wc_conflict_resolver_func_t conflict resolver instead of a + * svn_wc_conflict_resolver_func2_t. + * + * This function assumes that @a diff3_cmd is path encoded. Later versions + * assume utf-8. + * + * @since New in 1.5. + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Given absolute paths to three fulltexts, merge the differences between + * @a left_abspath and @a right_abspath into @a target_abspath. + * It may help to know that @a left_abspath, @a right_abspath and @a + * target_abspath correspond to "OLDER", "YOURS", and "MINE", + * respectively, in the diff3 documentation. * - * @a adm_access is an access baton with a write lock for the directory - * containing @a merge_target. + * @a wc_ctx should contain a write lock for the directory containing @a + * target_abspath. * - * This function assumes that @a left and @a right are in repository-normal - * form (linefeeds, with keywords contracted); if necessary, - * @a merge_target is temporarily converted to this form to receive the - * changes, then translated back again. + * This function assumes that @a left_abspath and @a right_abspath are + * in repository-normal form (linefeeds, with keywords contracted); if + * necessary, @a target_abspath is temporarily converted to this form to + * receive the changes, then translated back again. * - * If @a merge_target is absent, or present but not under version - * control, then set @a *merge_outcome to @c svn_wc_merge_no_merge and + * If @a target_abspath is absent, or present but not under version + * control, then set @a *merge_outcome to #svn_wc_merge_no_merge and * return success without merging anything. (The reasoning is that if * the file is not versioned, then it is probably unrelated to the * changes being considered, so they should not be merged into it.) * * @a dry_run determines whether the working copy is modified. When it - * is @c FALSE the merge will cause @a merge_target to be modified, when it - * is @c TRUE the merge will be carried out to determine the result but - * @a merge_target will not be modified. + * is @c FALSE the merge will cause @a target_abspath to be modified, when + * it is @c TRUE the merge will be carried out to determine the result but + * @a target_abspath will not be modified. * * If @a diff3_cmd is non-NULL, then use it as the diff3 command for * any merging; otherwise, use the built-in merge code. If @a @@ -3167,32 +4163,44 @@ Given paths to three fulltexts, merge the differences between @a left * conflict callback cannot resolve the conflict, then: * * * Put conflict markers around the conflicting regions in - * @a merge_target, labeled with @a left_label, @a right_label, and + * @a target_abspath, labeled with @a left_label, @a right_label, and * @a target_label. (If any of these labels are @c NULL, default * values will be used.) * - * * Copy @a left, @a right, and the original @a merge_target to unique - * names in the same directory as @a merge_target, ending with the - * suffixes ".LEFT_LABEL", ".RIGHT_LABEL", and ".TARGET_LABEL" - * respectively. + * * Copy @a left_abspath, @a right_abspath, and the original @a + * target_abspath to unique names in the same directory as @a + * target_abspath, ending with the suffixes ".LEFT_LABEL", ".RIGHT_LABEL", + * and ".TARGET_LABEL" respectively. + * + * * Mark @a target_abspath as "text-conflicted", and track the above + * mentioned backup files as well. * - * * Mark the entry for @a merge_target as "conflicted", and track the - * above mentioned backup files in the entry as well. + * * If @a left_version and/or @a right_version are not NULL, provide + * these values to the conflict handler and track these while the conflict + * exists. * * Binary case: * - * If @a merge_target is a binary file, then no merging is attempted, + * If @a target_abspath is a binary file, then no merging is attempted, * the merge is deemed to be a conflict. If @a dry_run is @c FALSE the - * working @a merge_target is untouched, and copies of @a left and - * @a right are created next to it using @a left_label and @a right_label. - * @a merge_target's entry is marked as "conflicted", and begins - * tracking the two backup files. If @a dry_run is @c TRUE no files are - * changed. The outcome of the merge is returned in @a *merge_outcome. + * working @a target_abspath is untouched, and copies of @a left_abspath and + * @a right_abspath are created next to it using @a left_label and + * @a right_label. @a target_abspath is marked as "text-conflicted", and + * begins tracking the two backup files and the version information. * - * @since New in 1.5. + * If @a dry_run is @c TRUE no files are changed. The outcome of the merge + * is returned in @a *merge_outcome. + * + * Use @a scratch_pool for any temporary allocation. + * + * @since New in 1.7. +@} +@defgroup svn_wc_merging Merging +@{ + The outcome of a merge carried out (or tried as a dry-run) by * svn_wc_merge() @@ -3216,20 +4224,28 @@ The working copy is (or would be) unchanged. The changes to be -Given a @a path to a file or directory under version control, discover - * any local changes made to properties and/or the set of 'pristine' - * properties. @a adm_access is an access baton set for @a path. +Similar to svn_wc_get_prop_diffs2(), but with a #svn_wc_adm_access_t / + * relative path parameter pair. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Given a @a local_abspath to a file or directory under version control, + * discover any local changes made to properties and/or the set of 'pristine' + * properties. @a wc_ctx will be used to access the working copy. * * If @a propchanges is non-@c NULL, return these changes as an array of - * @c svn_prop_t structures stored in @a *propchanges. The structures and - * array will be allocated in @a pool. If there are no local property - * modifications on @a path, then set @a *propchanges to @c NULL. + * #svn_prop_t structures stored in @a *propchanges. The structures and + * array will be allocated in @a result_pool. If there are no local property + * modifications on @a local_abspath, then set @a *propchanges will be empty. * * If @a original_props is non-@c NULL, then set @a *original_props to * hashtable (const char *name -> const svn_string_t *value) * that represents the 'pristine' property list of @a path. This hashtable is - * allocated in @a pool, and can be used to compare old and new values of - * properties. + * allocated in @a result_pool. + * + * Use @a scratch_pool for temporary allocations. @@ -3240,55 +4256,79 @@ Given a @a path to a file or directory under version control, discover - Similar to svn_wc_diff3(), but with a @c svn_wc_diff_callbacks_t argument - instead of @c svn_wc_diff_callbacks2_t. + Similar to svn_wc_diff3(), but with a #svn_wc_diff_callbacks_t argument + instead of #svn_wc_diff_callbacks2_t. + @since New in 1.1. @deprecated Provided for backward compatibility with the 1.1 API. - Similar to svn_wc_diff4(), but with @a changelists passed @c NULL, - and @a depth set to @c svn_depth_infinity if @a recurse is TRUE, or - @c svn_depth_files if @a recurse is FALSE. + Similar to svn_wc_diff4(), but with @a changelist_filter passed @c NULL, + and @a depth set to #svn_depth_infinity if @a recurse is TRUE, or + #svn_depth_files if @a recurse is FALSE. - @deprecated Provided for backward compatibility with the 1.2 API. + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.4 API. - Similar to svn_wc_diff5(), but with a @c svn_wc_diff_callbacks2_t argument - instead of @c svn_wc_diff_callbacks3_t. + Similar to svn_wc_diff5(), but with a #svn_wc_diff_callbacks2_t argument + instead of #svn_wc_diff_callbacks3_t. + @since New in 1.5. @deprecated Provided for backward compatibility with the 1.5 API. - Compare working copy against the text-base. + Similar to svn_wc_diff6(), but with a #svn_wc_diff_callbacks3_t argument + instead of #svn_wc_diff_callbacks4_t, @a show_copies_as_adds, + and @a use_git_diff_format set to * @c FALSE. + It also doesn't allow specifying a cancel function. - @a anchor/@a target represent the base of the hierarchy to be compared. + @since New in 1.6. + @deprecated Provided for backward compatibility with the 1.6 API. - @a callbacks/@a callback_baton is the callback table to use when two + + + Compare working copy against the text-base. + + @a target_abspath represents the base of the hierarchy to be compared. + + @a callbacks/@a callback_baton is the callback table to use when two files are to be compared. - If @a depth is @c svn_depth_empty, just diff exactly @a target or - @a anchor if @a target is empty. If @c svn_depth_files then do the same + If @a depth is #svn_depth_empty, just diff exactly @a target_path. + If #svn_depth_files then do the same and for top-level file entries as well (if any). If - @c svn_depth_immediates, do the same as @c svn_depth_files but also diff - top-level subdirectories at @c svn_depth_empty. If @c svn_depth_infinity, - then diff fully recursively. In the latter case, @a anchor should be part - of an access baton set for the @a target hierarchy. + #svn_depth_immediates, do the same as #svn_depth_files but also diff + top-level subdirectories at #svn_depth_empty. If #svn_depth_infinity, + then diff fully recursively. @a ignore_ancestry determines whether paths that have discontinuous node ancestry are treated as delete/add or as simple modifications. If @a ignore_ancestry is @c FALSE, then any discontinuous node ancestry will result in the diff given as a full delete followed by an add. - @a changelists is an array of const char * changelist + @a show_copies_as_adds determines whether paths added with history will + appear as a diff against their copy source, or whether such paths will + appear as if they were newly added in their entirety. + + If @a use_git_diff_format is TRUE, copied paths will be treated as added + if they weren't modified after being copied. This allows the callbacks + to generate appropriate --git diff headers for such files. + + @a changelist_filter is an array of const char * changelist names, used as a restrictive filter on items whose differences are reported; that is, don't generate diffs about any item unless - it's a member of one of those changelists. If @a changelists is + it's a member of one of those changelists. If @a changelist_filter is empty (or altogether @c NULL), no changelist filtering occurs. - @since New in 1.6. + If @a cancel_func is non-NULL, invoke it with @a cancel_baton at various + points during the operation. If it returns an error (typically + #SVN_ERR_CANCELLED), return that error immediately. + + @since New in 1.7. @@ -3300,15 +4340,15 @@ Given a @a path to a file or directory under version control, discover Similar to svn_wc_get_diff_editor3(), but with an - @c svn_wc_diff_callbacks_t instead of @c svn_wc_diff_callbacks2_t. + #svn_wc_diff_callbacks_t instead of #svn_wc_diff_callbacks2_t. @deprecated Provided for backward compatibility with the 1.1 API. - * Similar to svn_wc_get_diff_editor4(), but with @a changelists - * passed as @c NULL, and @a depth set to @c svn_depth_infinity if @a - * recurse is TRUE, or @c svn_depth_files if @a recurse is FALSE. + * Similar to svn_wc_get_diff_editor4(), but with @a changelist_filter + * passed as @c NULL, and @a depth set to #svn_depth_infinity if @a + * recurse is TRUE, or #svn_depth_files if @a recurse is FALSE. * * @deprecated Provided for backward compatibility with the 1.4 API. @@ -3317,49 +4357,82 @@ Given a @a path to a file or directory under version control, discover Similar to svn_wc_get_diff_editor5(), but with an - @c svn_wc_diff_callbacks2_t instead of @c svn_wc_diff_callbacks3_t. + #svn_wc_diff_callbacks2_t instead of #svn_wc_diff_callbacks3_t. @deprecated Provided for backward compatibility with the 1.5 API. - Return an @a editor/@a edit_baton for diffing a working copy against the - repository. - - @a anchor/@a target represent the base of the hierarchy to be compared. - - @a callbacks/@a callback_baton is the callback table to use when two - files are to be compared. - - If @a depth is @c svn_depth_empty, just diff exactly @a target or - @a anchor if @a target is empty. If @c svn_depth_files then do the same - and for top-level file entries as well (if any). If - @c svn_depth_immediates, do the same as @c svn_depth_files but also diff - top-level subdirectories at @c svn_depth_empty. If @c svn_depth_infinity, - then diff fully recursively. In the latter case, @a anchor should be part - of an access baton set for the @a target hierarchy. + Similar to svn_wc_get_diff_editor6(), but with an access baton and relative + path. @a server_performs_filtering always true and with a + #svn_wc_diff_callbacks3_t instead of #svn_wc_diff_callbacks4_t, + @a show_copies_as_adds, and @a use_git_diff_format set to @c FALSE. - @a ignore_ancestry determines whether paths that have discontinuous node - ancestry are treated as delete/add or as simple modifications. If - @a ignore_ancestry is @c FALSE, then any discontinuous node ancestry will - result in the diff given as a full delete followed by an add. + Diffs will be reported as below the relative path stored in @a anchor. - If @a use_text_base is TRUE, then compare the repository against - the working copy's text-base files, rather than the working files. - - Normally, the difference from repository->working_copy is shown. - If @a reverse_order is TRUE, then show working_copy->repository diffs. + @since New in 1.6. - If @a cancel_func is non-NULL, it will be used along with @a cancel_baton - to periodically check if the client has canceled the operation. + @deprecated Provided for backward compatibility with the 1.6 API. - @a changelists is an array of const char * changelist - names, used as a restrictive filter on items whose differences are - reported; that is, don't generate diffs about any item unless - it's a member of one of those changelists. If @a changelists is - empty (or altogether @c NULL), no changelist filtering occurs. + + +@} +@defgroup svn_wc_diffs Diffs +@{ - @since New in 1.6. + * Return an @a editor/@a edit_baton for diffing a working copy against the + * repository. The editor is allocated in @a result_pool; temporary + * calculations are performed in @a scratch_pool. + * + * This editor supports diffing either the actual files and properties in the + * working copy (when @a use_text_base is #FALSE), or the current pristine + * information (when @a use_text_base is #TRUE) against the editor driver. + * + * @a anchor_abspath/@a target represent the base of the hierarchy to be + * compared. The diff callback paths will be relative to this path. + * + * Diffs will be reported as valid relpaths, with @a anchor_abspath being + * the root (""). + * + * @a callbacks/@a callback_baton is the callback table to use. + * + * If @a depth is #svn_depth_empty, just diff exactly @a target or + * @a anchor_path if @a target is empty. If #svn_depth_files then do the same + * and for top-level file entries as well (if any). If + * #svn_depth_immediates, do the same as #svn_depth_files but also diff + * top-level subdirectories at #svn_depth_empty. If #svn_depth_infinity, + * then diff fully recursively. + * + * @a ignore_ancestry determines whether paths that have discontinuous node + * ancestry are treated as delete/add or as simple modifications. If + * @a ignore_ancestry is @c FALSE, then any discontinuous node ancestry will + * result in the diff given as a full delete followed by an add. + * + * @a show_copies_as_adds determines whether paths added with history will + * appear as a diff against their copy source, or whether such paths will + * appear as if they were newly added in their entirety. + * + * If @a use_git_diff_format is TRUE, copied paths will be treated as added + * if they weren't modified after being copied. This allows the callbacks + * to generate appropriate --git diff headers for such files. + * + * Normally, the difference from repository->working_copy is shown. + * If @a reverse_order is TRUE, then show working_copy->repository diffs. + * + * If @a cancel_func is non-NULL, it will be used along with @a cancel_baton + * to periodically check if the client has canceled the operation. + * + * @a changelist_filter is an array of const char * changelist + * names, used as a restrictive filter on items whose differences are + * reported; that is, don't generate diffs about any item unless + * it's a member of one of those changelists. If @a changelist_filter is + * empty (or altogether @c NULL), no changelist filtering occurs. + * + * If @a server_performs_filtering is TRUE, assume that the server handles + * the ambient depth filtering, so this doesn't have to be handled in the + * editor. + * + * @since New in 1.7. @@ -3384,16 +4457,16 @@ Canonicalize the value of an svn:* property @a propname with -Callback type used by @c svn_wc_canonicalize_svn_prop. +Callback type used by #svn_wc_canonicalize_svn_prop. * * If @a mime_type is non-null, it sets @a *mime_type to the value of - * @c SVN_PROP_MIME_TYPE for the path passed to @c - * svn_wc_canonicalize_svn_prop (allocated from @a pool). If @a + * #SVN_PROP_MIME_TYPE for the path passed to + * #svn_wc_canonicalize_svn_prop (allocated from @a pool). If @a * stream is non-null, it writes the contents of the file to @a * stream. * - * (Currently, this is used if you are attempting to set the @c - * SVN_PROP_EOL_STYLE property, to make sure that the value matches + * (Currently, this is used if you are attempting to set the + * #SVN_PROP_EOL_STYLE property, to make sure that the value matches * the mime type and contents.) @@ -3428,53 +4501,137 @@ Return TRUE iff @a name is a 'normal' property name. 'Normal' is Like svn_wc_prop_set3(), but without the notification callbacks. @since New in 1.2. + @deprecated Provided for backwards compatibility with the 1.5 API. - Set property @a name to @a value for @a path, or if @a value is - NULL, remove property @a name from @a path. @a adm_access is an - access baton with a write lock for @a path. +Similar to svn_wc_prop_set4(), but with a #svn_wc_adm_access_t / + * relative path parameter pair, no @a depth parameter, no changelist + * filtering (for the depth-based property setting), and no cancelation. + * + * @since New in 1.6. + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + + Set property @a name to @a value for @a local_abspath, or if @a value is + NULL, remove property @a name from @a local_abspath. Use @a wc_ctx to + access @a local_abspath. If @a skip_checks is TRUE, do no validity checking. But if @a skip_checks is FALSE, and @a name is not a valid property for @a - path, return an error, either @c SVN_ERR_ILLEGAL_TARGET (if the - property is not appropriate for @a path), or @c - SVN_ERR_BAD_MIME_TYPE (if @a name is "svn:mime-type", but @a value + path, return an error, either #SVN_ERR_ILLEGAL_TARGET (if the + property is not appropriate for @a path), or + #SVN_ERR_BAD_MIME_TYPE (if @a name is "svn:mime-type", but @a value is not a valid mime-type). + @a depth follows the usual semeatic for depth. If the property is a + wc property, @a depth must be #svn_depth_empty. + @a name may be a wc property or a regular property; but if it is an - entry property, return the error @c SVN_ERR_BAD_PROP_KIND, even if + entry property, return the error #SVN_ERR_BAD_PROP_KIND, even if @a skip_checks is TRUE. + @a changelist_filter is an array of const char * changelist + names, used as a restrictive filter on items whose properties are + set; that is, don't set properties on any item unless it's a member + of one of those changelists. If @a changelist_filter is empty (or + altogether @c NULL), no changelist filtering occurs. + + If @a cancel_func is non-NULL, then it will be invoked (with the + @a cancel_baton value passed) during the processing of the property + set (i.e. when @a depth indicates some amount of recursion). + For each file or directory operated on, @a notify_func will be called with its path and the @a notify_baton. @a notify_func may be @c NULL if you are not interested in this information. - Use @a pool for temporary allocation. + Use @a scratch_pool for temporary allocation. - @since New in 1.6. + @since New in 1.7. -Set @a *value to the value of property @a name for @a path, allocating - * @a *value in @a pool. If no such prop, set @a *value to @c NULL. - * @a name may be a regular or wc property; if it is an entry property, - * return the error @c SVN_ERR_BAD_PROP_KIND. @a adm_access is an access - * baton set that contains @a path. +Similar to svn_wc_prop_get2(), but with a #svn_wc_adm_access_t / + * relative path parameter pair. + * + * When @a path is not versioned, set @a *value to NULL. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Set @a *value to the value of property @a name for @a local_abspath, + * allocating @a *value in @a result_pool. If no such prop, set @a *value + * to @c NULL. @a name may be a regular or wc property; if it is an + * entry property, return the error #SVN_ERR_BAD_PROP_KIND. @a wc_ctx + * is used to access the working copy. + * + * If @a local_abspath is not a versioned path, return + * #SVN_ERR_WC_PATH_NOT_FOUND + * + * @since New in 1.7. + + + +Return the set of "pristine" properties for @a local_abspath. + * + * There are node states where properties do not make sense. For these + * cases, NULL will be returned in @a *props. Otherwise, a hash table + * will always be returned (but may be empty, indicating no properties). + * + * If the node is locally-added, then @a *props will be set to NULL since + * pristine properties are undefined. Note: if this addition is replacing a + * previously-deleted node, then the replaced node's properties are not + * available until the addition is reverted. + * + * If the node has been copied (from another node in the repository), then + * the pristine properties will correspond to those original properties. + * + * If the node is locally-deleted, these properties will correspond to + * the BASE node's properties, as checked-out from the repository. Note: if + * this deletion is a child of a copy, then the pristine properties will + * correspond to that copy's properties, not any potential BASE node. The + * BASE node's properties will not be accessible until the copy is reverted. + * + * Nodes that are incomplete, excluded, absent, or not present at the + * node's revision will return NULL in @a props. + * + * If the node is not versioned, SVN_ERR_WC_PATH_NOT_FOUND will be returned. + * + * @a props will be allocated in @a result_pool, and all temporary + * allocations will be performed in @a scratch_pool. + * + * @since New in 1.7. +Similar to svn_wc_prop_list2() but with a #svn_wc_adm_access_t / + * relative path parameter pair. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +@} +@defgroup svn_wc_properties Properties +@{ + Set @a *props to a hash table mapping char * names onto * svn_string_t * values for all the regular properties of - * @a path. Allocate the table, names, and values in @a pool. If - * the node has no properties, or does not exist in the working copy, - * then an empty hash is returned. @a adm_access is an access baton - * set that contains @a path. + * @a local_abspath. Allocate the table, names, and values in + * @a result_pool. If the node has no properties, then an empty hash + * is returned. Use @a wc_ctx to access the working copy, and @a + * scratch_pool for temporary allocations. + * + * If the node does not exist, #SVN_ERR_WC_PATH_NOT_FOUND is returned. + * + * @since New in 1.7. Similar to svn_wc_get_switch_editor2(), but takes an - @c svn_wc_notify_func_t instead. + #svn_wc_notify_func_t instead. @deprecated Provided for backward compatibility with the 1.1 API. @@ -3484,69 +4641,46 @@ Set @a *props to a hash table mapping char * names onto @a allow_unver_obstructions parameter always set to FALSE, @a preserved_exts set to NULL, @a conflict_func and baton set to NULL, @a depth_is_sticky set to FALSE, and @a depth set according to @a - recurse: if @a recurse is TRUE, pass @c svn_depth_infinity, if - FALSE, pass @c svn_depth_files. + recurse: if @a recurse is TRUE, pass #svn_depth_infinity, if + FALSE, pass #svn_depth_files. @deprecated Provided for backward compatibility with the 1.4 API. - A variant of svn_wc_get_update_editor(). +Similar to svn_wc_get_switch_editor4, but uses access batons and relative + * path instead of a working copy context and svn_wc_traversal_info_t instead + * of an externals callback. + * + * If @a ti is non-NULL, record traversal info in @a ti, for use by + * post-traversal accessors such as svn_wc_edited_externals(). + * + * All locks, both those in @a anchor and newly acquired ones, will be + * released when the editor driver calls @c close_edit. + * + * Always sets @a server_performs_filtering to FALSE. + * + * Uses a svn_wc_conflict_resolver_func_t conflict resolver instead of a + * svn_wc_conflict_resolver_func2_t. + * + * This function assumes that @a diff3_cmd is path encoded. Later versions + * assume utf-8. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + A variant of svn_wc_get_update_editor4(). Set @a *editor and @a *edit_baton to an editor and baton for "switching" a working copy to a new @a switch_url. (Right now, this URL must be within the same repository that the working copy already comes from.) @a switch_url must not be @c NULL. - If @a ti is non-NULL, record traversal info in @a ti, for use by - post-traversal accessors such as svn_wc_edited_externals(). - - @a anchor is an access baton, with a write lock, for the local path to the - working copy which will be used as the root of our editor. Further - locks will be acquired if the switch creates new directories. All - locks, both those in @a anchor and newly acquired ones, will be released - when the editor driver calls @c close_edit. - - @a target is the entry in @a anchor that will actually be updated, or - empty if all of @a anchor should be updated. - - The editor invokes @a notify_func with @a notify_baton as the switch - progresses, if @a notify_func is non-NULL. - - If @a cancel_func is non-NULL, it will be called with @a cancel_baton as - the switch progresses to determine if it should continue. - - If @a conflict_func is non-NULL, then invoke it with @a - conflict_baton whenever a conflict is encountered, giving the - callback a chance to resolve the conflict before the editor takes - more drastic measures (such as marking a file conflicted, or - bailing out of the switch). - - If @a diff3_cmd is non-NULL, then use it as the diff3 command for - any merging; otherwise, use the built-in merge code. - - @a preserved_exts is an array of filename patterns which, when - matched against the extensions of versioned files, determine for - which such files any related generated conflict files will preserve - the original file's extension as their own. If a file's extension - does not match any of the patterns in @a preserved_exts (which is - certainly the case if @a preserved_exts is @c NULL or empty), - generated conflict files will carry Subversion's custom extensions. - - @a target_revision is a pointer to a revision location which, after - successful completion of the drive of this editor, will be - populated with the revision to which the working copy was updated. - - If @a use_commit_times is TRUE, then all edited/added files will - have their working timestamp set to the last-committed-time. If - FALSE, the working files will be touched with the 'now' time. - - @a depth and @a depth_is_sticky behave as for svn_wc_get_update_editor3(). - - If @a allow_unver_obstructions is TRUE, then allow unversioned - obstructions when adding a path. + All other parameters behave as for svn_wc_get_update_editor4(). - @since New in 1.5. + @since New in 1.7. @@ -3562,27 +4696,47 @@ Set @a *props to a hash table mapping char * names onto conflict_func and baton set to NULL, @a fetch_func and baton set to NULL, @a preserved_exts set to NULL, @a depth_is_sticky set to FALSE, and @a depth set according to @a recurse: if @a recurse is - TRUE, pass @c svn_depth_infinity, if FALSE, pass @c - svn_depth_files. + TRUE, pass #svn_depth_infinity, if FALSE, pass #svn_depth_files. @deprecated Provided for backward compatibility with the 1.4 API. +Similar to svn_wc_get_update_editor4, but uses access batons and relative + * path instead of a working copy context-abspath pair and + * svn_wc_traversal_info_t instead of an externals callback. Also, + * @a fetch_func and @a fetch_baton are ignored. + * + * If @a ti is non-NULL, record traversal info in @a ti, for use by + * post-traversal accessors such as svn_wc_edited_externals(). + * + * All locks, both those in @a anchor and newly acquired ones, will be + * released when the editor driver calls @c close_edit. + * + * Always sets @a adds_as_modification to TRUE, @a server_performs_filtering + * and @a clean_checkout to FALSE. + * + * Uses a svn_wc_conflict_resolver_func_t conflict resolver instead of a + * svn_wc_conflict_resolver_func2_t. + * + * This function assumes that @a diff3_cmd is path encoded. Later versions + * assume utf-8. + * + * Always passes a null dirent function. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Set @a *editor and @a *edit_baton to an editor and baton for updating a working copy. - If @a ti is non-NULL, record traversal info in @a ti, for use by - post-traversal accessors such as svn_wc_edited_externals(). - - @a anchor is an access baton, with a write lock, for the local path to the - working copy which will be used as the root of our editor. Further - locks will be acquired if the update creates new directories. All - locks, both those in @a anchor and newly acquired ones, will be released - when the editor driver calls @c close_edit. + @a anchor_abspath is a local working copy directory, with a fully recursive + write lock in @a wc_ctx, which will be used as the root of our editor. - @a target is the entry in @a anchor that will actually be updated, or - the empty string if all of @a anchor should be updated. + @a target_basename is the entry in @a anchor_abspath that will actually be + updated, or the empty string if all of @a anchor_abspath should be updated. The editor invokes @a notify_func with @a notify_baton as the update progresses, if @a notify_func is non-NULL. @@ -3596,9 +4750,9 @@ Set @a *props to a hash table mapping char * names onto more drastic measures (such as marking a file conflicted, or bailing out of the update). - If @a fetch_func is non-NULL, then use it (with @a fetch_baton) as - a fallback for retrieving repository files whenever 'copyfrom' args - are sent into editor->add_file(). + If @a external_func is non-NULL, then invoke it with @a external_baton + whenever external changes are encountered, giving the callback a chance + to store the external information for processing. If @a diff3_cmd is non-NULL, then use it as the diff3 command for any merging; otherwise, use the built-in merge code. @@ -3622,23 +4776,73 @@ Set @a *props to a hash table mapping char * names onto If @a allow_unver_obstructions is TRUE, then allow unversioned obstructions when adding a path. - If @a depth is @c svn_depth_infinity, update fully recursively. - Else if it is @c svn_depth_immediates, update the uppermost + If @a adds_as_modification is TRUE, a local addition at the same path + as an incoming addition of the same node kind results in a normal node + with a possible local modification, instead of a tree conflict. + + If @a depth is #svn_depth_infinity, update fully recursively. + Else if it is #svn_depth_immediates, update the uppermost directory, its file entries, and the presence or absence of subdirectories (but do not descend into the subdirectories). - Else if it is @c svn_depth_files, update the uppermost directory + Else if it is #svn_depth_files, update the uppermost directory and its immediate file entries, but not subdirectories. - Else if it is @c svn_depth_empty, update exactly the uppermost + Else if it is #svn_depth_empty, update exactly the uppermost target, and don't touch its entries. - If @a depth_is_sticky is set and @a depth is not @c - svn_depth_unknown, then in addition to updating PATHS, also set + If @a depth_is_sticky is set and @a depth is not + #svn_depth_unknown, then in addition to updating PATHS, also set their sticky ambient depth value to @a depth. - @since New in 1.5. + If @a server_performs_filtering is TRUE, assume that the server handles + the ambient depth filtering, so this doesn't have to be handled in the + editor. + + If @a fetch_dirents_func is not NULL, the update editor may call this + callback, when asked to perform a depth restricted update. It will do this + before returning the editor to allow using the primary ra session for this. + + @since New in 1.7. + + + + A simple callback type to wrap svn_ra_get_dir2() for avoiding issue #3569, + where a directory is updated to a revision without some of its children + recorded in the working copy. A future update won't bring these files in + because the repository assumes they are already there. + + We really only need the names of the dirents for a not-present marking, + but we also store the node-kind if we receive one. + + @a *dirents should be set to a hash mapping const char * child + names, to const svn_dirent_t * instances. + + @since New in 1.7. + + + +@defgroup svn_wc_update_switch Update and switch (update-like functionality) +@{ + + A simple callback type to wrap svn_ra_get_file(); see that + docstring for more information. + + This technique allows libsvn_client to 'wrap' svn_ra_get_file() and + pass it down into libsvn_wc functions, thus allowing the WC layer + to legally call the RA function via (blind) callback. + + @since New in 1.5 + @deprecated Provided for backward compatibility with the 1.6 API. +Similar to svn_wc_get_actual_target2(), but without the wc context, and + * with a absolute path. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +@} Conditionally split @a path into an @a anchor and @a target for the * purpose of updating and committing. * @@ -3648,36 +4852,59 @@ Conditionally split @a path into an @a anchor and @a target for the * @a target is the actual subject (relative to the @a anchor) of the * update/commit, or "" if the @a anchor itself is the subject. * - * Allocate @a anchor and @a target in @a pool. + * Allocate @a anchor and @a target in @a result_pool; @a scratch_pool + * is used for temporary allocations. + * + * @note Even though this API uses a #svn_wc_context_t, it accepts a + * (possibly) relative path and returns a (possibly) relative path in + * @a *anchor. The reason being that the outputs are generally used to + * open access batons, and such opening currently requires relative paths. + * In the long-run, I expect this API to be removed from 1.7, due to the + * remove of access batons, but for the time being, the #svn_wc_context_t + * parameter allows us to avoid opening a duplicate database, just for this + * function. + * + * @since New in 1.7. -Set @a *wc_root to @c TRUE if @a path represents a "working copy root", - * @c FALSE otherwise. Here, @a path is a "working copy root" if its parent - * directory is not a WC or if its parent directory's repository URL is not - * the parent of its own repository URL. Thus, a switched subtree is + Similar to svn_wc_is_wc_root2(), but with an access baton and relative + path. + + @note If @a path is '', this function will always return @c TRUE. + + @deprecated Provided for backward compatibility with the 1.6 API. + + + +@defgroup svn_wc_roots Working copy roots +@{ + +Set @a *wc_root to @c TRUE if @a local_abspath represents a "working copy + * root", @c FALSE otherwise. Here, @a local_abspath is a "working copy root" + * if its parent directory is not a WC or if its parent directory's repository + * URL is not the parent of its own repository URL. Thus, a switched subtree is * considered to be a working copy root. Also, a deleted tree-conflict * victim is considered a "working copy root" because it has no URL. * - * If @a path is not found, return the error @c SVN_ERR_ENTRY_NOT_FOUND. + * If @a local_abspath is not found, return the error #SVN_ERR_ENTRY_NOT_FOUND. * - * Use @a pool for any intermediate allocations. + * Use @a scratch_pool for any temporary allocations. * - * @note Due to the way in which "WC-root-ness" is calculated, passing - * a @a path of `.' to this function will always return @c TRUE. + * @since New in 1.7. - Similar to svn_wc_crawl_revisions2(), but takes an svn_wc_notify_func_t - and a @c svn_reporter_t instead. + Similar to svn_wc_crawl_revisions2(), but takes an #svn_wc_notify_func_t + and a #svn_ra_reporter_t instead. @deprecated Provided for backward compatibility with the 1.1 API. Similar to svn_wc_crawl_revisions3, but taking svn_ra_reporter2_t - instead of svn_ra_reporter3_t, and therefore only able to report @c - svn_depth_infinity for depths; and taking @a recurse instead of @a + instead of svn_ra_reporter3_t, and therefore only able to report + #svn_depth_infinity for depths; and taking @a recurse instead of @a depth; and with @a depth_compatibility_trick always false. @deprecated Provided for compatibility with the 1.4 API. @@ -3691,36 +4918,46 @@ Set @a *wc_root to @c TRUE if @a path represents a "working copy root", - Do a depth-first crawl in a working copy, beginning at @a path. + Similar to svn_wc_crawl_revisions5, but with a relative path and + access baton instead of an absolute path and wc_ctx. + + Passes NULL for @a cancel_func and @a cancel_baton. + + @since New in 1.6. + @deprecated Provided for compatibility with the 1.6 API. + + + + Do a depth-first crawl in a working copy, beginning at @a local_abspath, + using @a wc_ctx for accessing the working copy. Communicate the `state' of the working copy's revisions and depths - to @a reporter/@a report_baton. Obviously, if @a path is a file - instead of a directory, this depth-first crawl will be a short one. + to @a reporter/@a report_baton. Obviously, if @a local_abspath is a + file instead of a directory, this depth-first crawl will be a short one. - No locks are or logs are created, nor are any animals harmed in the - process. No cleanup is necessary. @a adm_access must be an access - baton for the @a path hierarchy, it does not require a write lock. + No locks or logs are created, nor are any animals harmed in the + process unless @a restore_files is TRUE. No cleanup is necessary. After all revisions are reported, @a reporter->finish_report() is called, which immediately causes the RA layer to update the working copy. Thus the return value may very well reflect the result of the update! - If @a depth is @c svn_depth_empty, then report state only for - @a path itself. If @c svn_depth_files, do the same and include - immediate file children of @a path. If @c svn_depth_immediates, - then behave as if for @c svn_depth_files but also report the + If @a depth is #svn_depth_empty, then report state only for + @a path itself. If #svn_depth_files, do the same and include + immediate file children of @a path. If #svn_depth_immediates, + then behave as if for #svn_depth_files but also report the property states of immediate subdirectories. If @a depth is - @c svn_depth_infinity, then report state fully recursively. All + #svn_depth_infinity, then report state fully recursively. All descents are only as deep as @a path's own depth permits, of - course. If @a depth is @c svn_depth_unknown, then just use - @c svn_depth_infinity, which in practice means depth of @a path. + course. If @a depth is #svn_depth_unknown, then just use + #svn_depth_infinity, which in practice means depth of @a path. Iff @a honor_depth_exclude is TRUE, the crawler will report paths - whose ambient depth is @c svn_depth_exclude as being excluded, and + whose ambient depth is #svn_depth_exclude as being excluded, and thus prevent the server from pushing update data for those paths; therefore, don't set this flag if you wish to pull in excluded paths. - Note that @c svn_depth_exclude on the target @a path is never + Note that #svn_depth_exclude on the target @a path is never honored, even if @a honor_depth_exclude is TRUE, because we need to be able to explicitly pull in a target. For example, if this is the working copy... @@ -3747,35 +4984,31 @@ Set @a *wc_root to @c TRUE if @a path represents a "working copy root", use_commit_times is TRUE, then set restored files' timestamps to their last-commit-times. - If @a traversal_info is non-NULL, then record pre-update traversal - state in it. (Caller should obtain @a traversal_info from - svn_wc_init_traversal_info().) - - @since New in 1.6. + @since New in 1.7. - + @see svn_wc_process_committed4() * * @deprecated Use the svn_wc_committed_queue_* functions instead. Provided * for backward compatibility with the 1.1 API. - + @see svn_wc_process_committed4() * * @deprecated Use the svn_wc_committed_queue_* functions instead. Provided * for backwards compatibility with the 1.3 API. - + @see svn_wc_process_committed4() * * @deprecated Use the svn_wc_committed_queue_* functions instead. Provided * for backwards compatibility with the 1.4 API. - + @note this function has improper expectations around the operation and execution of other parts of the Subversion WC library. The resulting coupling makes this interface near-impossible to support. Documentation @@ -3786,17 +5019,24 @@ Set @a *wc_root to @c TRUE if @a path represents a "working copy root", +@see svn_wc_process_committed_queue2() + * + * @since New in 1.5. + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + Bump all items in @a queue to @a new_revnum after a commit succeeds. @a rev_date and @a rev_author are the (server-side) date and author of the new revision; one or both may be @c NULL. - @a adm_access must be associated with all affected directories, and - must hold a write lock in each one. + If @a cancel_func is non-NULL, call it with @a cancel_baton to determine + if the client wants to cancel the operation. - @since New in 1.5. + @since New in 1.7. - + Same as svn_wc_queue_committed2() but the @a queue parameter has an * extra indirection and @a digest is supplied instead of a checksum type. * @@ -3808,20 +5048,29 @@ Same as svn_wc_queue_committed2() but the @a queue parameter has an * @deprecated Provided for backwards compatibility with 1.5 - - Queue committed items to be processed later by - svn_wc_process_committed_queue(). + +Same as svn_wc_queue_committed3() except @a path doesn't have to be an + * abspath and @a adm_access is unused and a SHA-1 checksum cannot be + * specified. + * + * @since New in 1.6. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. - All pointer data passed to this function (@a path, @a adm_access, - @a wcprop_changes and @a checksum) should remain valid until the queue - has been processed by svn_wc_process_committed_queue(). + + + Queue committed items to be processed later by + svn_wc_process_committed_queue2(). - Record in @a queue that @a path will need to be bumped after a commit - succeeds. @a adm_access must hold a write lock appropriate for @a path. + Record in @a queue that @a local_abspath will need to be bumped + after a commit succeeds. If non-NULL, @a wcprop_changes is an array of svn_prop_t * - changes to wc properties; if an @c svn_prop_t->value is NULL, then + changes to wc properties; if an #svn_prop_t->value is NULL, then that property is deleted. + ### [JAF] No, a prop whose value is NULL is ignored, not deleted. This + ### seems to be not a set of changes but rather the new complete set of + ### props. And it's renamed to 'new_dav_cache' inside; why? If @a remove_lock is @c TRUE, any entryprops related to a repository lock will be removed. @@ -3829,29 +5078,45 @@ Same as svn_wc_queue_committed2() but the @a queue parameter has an If @a remove_changelist is @c TRUE, any association with a changelist will be removed. - If @a path is a file and @a checksum is non-NULL, use @a checksum as - the checksum for the new text base. Otherwise, calculate the checksum - if needed. - If @a recurse is TRUE and @a path is a directory, then bump every - versioned object at or under @a path. This is usually done for + If @a sha1_checksum is non-NULL, use it to identify the node's pristine + text. + + If @a recurse is TRUE and @a local_abspath is a directory, then bump every + versioned object at or under @a local_abspath. This is usually done for copied trees. - Temporary allocations will be performed in @a scratch_pool, and persistent - allocations will use the same pool as @a queue used when it was created. + ### In the present implementation, if a recursive directory item is in + the queue, then any children (at any depth) of that directory that + are also in the queue as separate items will get: + 'wcprop_changes' = NULL; + 'remove_lock' = FALSE; + 'remove_changelist' from the recursive parent item; + and any children (at any depth) of that directory that are NOT in + the queue as separate items will get: + 'wcprop_changes' = NULL; + 'remove_lock' = FALSE; + 'remove_changelist' from the recursive parent item; @note the @a recurse parameter should be used with extreme care since it will bump ALL nodes under the directory, regardless of their actual inclusion in the new revision. - @since New in 1.6. + All pointer data passed to this function (@a local_abspath, + @a wcprop_changes and the checksums) should remain valid until the + queue has been processed by svn_wc_process_committed_queue2(). + + Temporary allocations will be performed in @a scratch_pool, and persistent + allocations will use the same pool as @a queue used when it was created. + + @since New in 1.7. Create a queue for use with svn_wc_queue_committed() and svn_wc_process_committed_queue(). - The returned queue and all further allocations required for queueing + The returned queue and all further allocations required for queuing new items will also be done from @a pool. @since New in 1.5. @@ -3867,15 +5132,16 @@ Same as svn_wc_queue_committed2() but the @a queue parameter has an Similar to svn_wc_resolved_conflict2(), but takes an svn_wc_notify_func_t and doesn't have cancellation support. - @deprecated Provided for backward compatibility with the 1.0 API. + @deprecated Provided for backward compatibility with the 1.1 API. Similar to svn_wc_resolved_conflict3(), but without automatic conflict resolution support, and with @a depth set according to @a recurse: - if @a recurse is TRUE, @a depth is @c svn_depth_infinity, else it is - @c svn_depth_files. + if @a recurse is TRUE, @a depth is #svn_depth_infinity, else it is + #svn_depth_files. + @since New in 1.2. @deprecated Provided for backward compatibility with the 1.4 API. @@ -3883,35 +5149,49 @@ Same as svn_wc_queue_committed2() but the @a queue parameter has an Similar to svn_wc_resolved_conflict4(), but without tree-conflict resolution support. + @since New in 1.5. @deprecated Provided for backward compatibility with the 1.5 API. - Assuming @a path is under version control and in a state of conflict, - then take @a path *out* of this state. If @a resolve_text is TRUE then - any text conflict is resolved, if @a resolve_props is TRUE then any - property conflicts are resolved, if @a resolve_tree is TRUE then any - tree conflicts are resolved. - - If @a depth is @c svn_depth_empty, act only on @a path; if - @c svn_depth_files, resolve @a path and its conflicted file - children (if any); if @c svn_depth_immediates, resolve @a path and - all its immediate conflicted children (both files and directories, - if any); if @c svn_depth_infinity, resolve @a path and every +Similar to svn_wc_resolved_conflict5, but takes an absolute path + * and an access baton. This version doesn't support resolving a specific + * property.conflict. + * + * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Assuming @a local_abspath is under version control or a tree conflict + victim and in a state of conflict, then take @a local_abspath *out* + of this state. If @a resolve_text is TRUE then any text conflict is + resolved, if @a resolve_tree is TRUE then any tree conflicts are + resolved. If @a resolve_prop is set to "" all property conflicts are + resolved, if it is set to any other string value, conflicts on that + specific property are resolved and when resolve_prop is NULL, no + property conflicts are resolved. + + If @a depth is #svn_depth_empty, act only on @a local_abspath; if + #svn_depth_files, resolve @a local_abspath and its conflicted file + children (if any); if #svn_depth_immediates, resolve @a local_abspath + and all its immediate conflicted children (both files and directories, + if any); if #svn_depth_infinity, resolve @a local_abspath and every conflicted file or directory anywhere beneath it. - If @a conflict_choice is @c svn_wc_conflict_choose_base, resolve the + If @a conflict_choice is #svn_wc_conflict_choose_base, resolve the conflict with the old file contents; if - @c svn_wc_conflict_choose_mine_full, use the original working contents; - if @c svn_wc_conflict_choose_theirs_full, the new contents; and if - @c svn_wc_conflict_choose_merged, don't change the contents at all, + #svn_wc_conflict_choose_mine_full, use the original working contents; + if #svn_wc_conflict_choose_theirs_full, the new contents; and if + #svn_wc_conflict_choose_merged, don't change the contents at all, just remove the conflict status, which is the pre-1.5 behavior. - @c svn_wc_conflict_choose_theirs_conflict and @c - svn_wc_conflict_choose_mine_conflict are not legal for binary + #svn_wc_conflict_choose_theirs_conflict and + #svn_wc_conflict_choose_mine_conflict are not legal for binary files or properties. - @a adm_access is an access baton, with a write lock, for @a path. + @a wc_ctx is a working copy context, with a write lock, for @a + local_abspath. Needless to say, this function doesn't touch conflict markers or anything of that sort -- only a human can semantically resolve a @@ -3921,49 +5201,63 @@ Same as svn_wc_queue_committed2() but the @a queue parameter has an The implementation details are opaque, as our "conflicted" criteria might change over time. (At the moment, this routine removes the three fulltext 'backup' files and any .prej file created in a conflict, - and modifies @a path's entry.) + and modifies @a local_abspath's entry.) - If @a path is not under version control, return @c SVN_ERR_ENTRY_NOT_FOUND. - If @a path isn't in a state of conflict to begin with, do nothing, and - return @c SVN_NO_ERROR. + If @a local_abspath is not under version control and not a tree + conflict, return #SVN_ERR_ENTRY_NOT_FOUND. If @a path isn't in a + state of conflict to begin with, do nothing, and return #SVN_NO_ERROR. - If @c path was successfully taken out of a state of conflict, report this - information to @c notify_func (if non-@c NULL.) If only text, only - property, or only tree conflict resolution was requested, and it was - successful, then success gets reported. + If @c local_abspath was successfully taken out of a state of conflict, + report this information to @c notify_func (if non-@c NULL.) If only + text, only property, or only tree conflict resolution was requested, + and it was successful, then success gets reported. - @since New in 1.6. + Temporary allocations will be performed in @a scratch_pool. + + @since New in 1.7. -Remove entry @a name in @a adm_access from revision control. @a name - * must be either a file or @c SVN_WC_ENTRY_THIS_DIR. @a adm_access must + Similar to svn_wc_remove_from_revision_control2() but with a name + and access baton. + + WARNING: This routine was exported for careful, measured use by + libsvn_client. Do *not* call this routine unless you really + understand what the heck you're doing. + + @deprecated Provided for compatibility with the 1.6 API + + + +Remove @a local_abspath from revision control. @a wc_ctx must * hold a write lock. * - * If @a name is a file, all its info will be removed from @a adm_access's - * administrative directory. If @a name is @c SVN_WC_ENTRY_THIS_DIR, then - * @a adm_access's entire administrative area will be deleted, along with - * *all* the administrative areas anywhere in the tree below @a adm_access. + * If @a local_abspath is a file, all its info will be removed from the + * administrative area. If @a local_abspath is a directory, then the + * administrative area will be deleted, along with *all* the administrative + * areas anywhere in the tree below @a adm_access. * * Normally, only administrative data is removed. However, if * @a destroy_wf is TRUE, then all working file(s) and dirs are deleted * from disk as well. When called with @a destroy_wf, any locally * modified files will *not* be deleted, and the special error - * @c SVN_ERR_WC_LEFT_LOCAL_MOD might be returned. (Callers only need to + * #SVN_ERR_WC_LEFT_LOCAL_MOD might be returned. (Callers only need to * check for this special return value if @a destroy_wf is TRUE.) * - * If @a instant_error is TRUE, then return @c - * SVN_ERR_WC_LEFT_LOCAL_MOD the instant a locally modified file is + * If @a instant_error is TRUE, then return + * #SVN_ERR_WC_LEFT_LOCAL_MOD the instant a locally modified file is * encountered. Otherwise, leave locally modified files in place and * return the error only after all the recursion is complete. * * If @a cancel_func is non-NULL, call it with @a cancel_baton at * various points during the removal. If it returns an error - * (typically @c SVN_ERR_CANCELLED), return that error immediately. + * (typically #SVN_ERR_CANCELLED), return that error immediately. * * WARNING: This routine is exported for careful, measured use by * libsvn_client. Do *not* call this routine unless you really * understand what the heck you're doing. + * + * @since New in 1.7. @@ -3982,14 +5276,25 @@ Same as svn_wc_add_repos_file3(), except that it has pathnames rather -Add a file to a working copy at @a dst_path, obtaining the text-base's - * contents from @a new_base_contents, the wc file's content from - * @a new_contents, its base properties from @a new_base_props and - * wc properties from @a new_props. +Similar to svn_wc_add_repos_file4, but uses access batons and a + * relative path instead of a working copy context and absolute path. + * + * ### NOTE: the notification callback/baton is not yet used. * - * The base text and props normally come from the repository file - * represented by the copyfrom args, see below. The new file will - * be scheduled for addition with history. + * @since New in 1.6. + * @deprecated Provided for compatibility with the 1.6 API. + + + +Add a file to a working copy at @a local_abspath, obtaining the + * text-base's contents from @a new_base_contents, the wc file's + * content from @a new_contents, its unmodified properties from @a + * new_base_props and its actual properties from @a new_props. Use + * @a wc_ctx for accessing the working copy. + * + * The unmodified text and props normally come from the repository + * file represented by the copyfrom args, see below. The new file + * will be marked as copy. * * @a new_contents and @a new_props may be NULL, in which case * the working copy text and props are taken from the base files with @@ -3998,8 +5303,7 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's * @a new_contents must be provided in Normal Form. This is required * in order to pass both special and non-special files through a stream. * - * @a adm_access, or an access baton in its associated set, must - * contain a write lock for the parent of @a dst_path. + * @a wc_ctx must contain a write lock for the parent of @a local_abspath. * * If @a copyfrom_url is non-NULL, then @a copyfrom_rev must be a * valid revision number, and together they are the copyfrom history @@ -4007,13 +5311,11 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's * * The @a cancel_func and @a cancel_baton are a standard cancellation * callback, or NULL if no callback is needed. @a notify_func and - * @a notify_baton are a notification callback, and will be notified - * of the addition of this file. + * @a notify_baton are a notification callback, and (if not NULL) + * will be notified of the addition of this file. * * Use @a scratch_pool for temporary allocations. * - * ### NOTE: the notification callback/baton is not yet used. - * * ### This function is very redundant with svn_wc_add(). Ideally, * we'd merge them, so that svn_wc_add() would just take optional * new_props and optional copyfrom information. That way it could be @@ -4026,84 +5328,95 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's * etc, etc. So another part of the Ideal Plan is that that * functionality of svn_wc_add() would move into a separate function. * - * @since New in 1.6 + * @since New in 1.7. - Similar to svn_wc_add2(), but takes an @c svn_wc_notify_func_t instead. + Similar to svn_wc_add2(), but takes an #svn_wc_notify_func_t instead. @deprecated Provided for backward compatibility with the 1.1 API. Similar to svn_wc_add3(), but with the @a depth parameter always - @c svn_depth_infinity. + #svn_depth_infinity. @since New in 1.2. @deprecated Provided for backward compatibility with the 1.5 API. - Put @a path under version control by adding an entry in its parent, - and, if @a path is a directory, adding an administrative area. The - new entry and anything under it is scheduled for addition to the - repository. @a parent_access should hold a write lock for the parent - directory of @a path. If @a path is a directory then an access baton - for @a path will be added to the set containing @a parent_access. - - If @a path does not exist, return @c SVN_ERR_WC_PATH_NOT_FOUND. - - If @a path is a directory, add it at @a depth; otherwise, ignore - @a depth. - - If @a copyfrom_url is non-NULL, it and @a copyfrom_rev are used as - `copyfrom' args. This is for copy operations, where one wants - to schedule @a path for addition with a particular history. +Similar to svn_wc_add4(), but with an access baton +and relative path instead of a context and absolute path. +@since New in 1.6. +@deprecated Provided for backward compatibility with the 1.6 API. + + + + Put @a local_abspath under version control by registering it as addition + or copy in the database containing its parent. The new node is scheduled + for addition to the repository below its parent node. + + 1) If the node is already versioned, it MUST BE the root of a separate + working copy from the same repository as the parent WC. The new node + and anything below it will be scheduled for addition inside the parent + working copy as a copy of the original location. The separate working + copy will be integrated by this step. In this case, which is only used + by code like that of "svn cp URL@rev path" @a copyfrom_url and + @a copyfrom_rev MUST BE the the url and revision of @a local_abspath + in the separate working copy. + + 2a) If the node was not versioned before it will be scheduled as a local + addition or 2b) if @a copyfrom_url and @a copyfrom_rev are set as a copy + of that location. In this last case the function doesn't set the pristine + version (of a file) and/or pristine properties, which callers should + handle via different APIs. Usually it is easier to call + svn_wc_add_repos_file4() (### or a possible svn_wc_add_repos_dir()) than + using this variant. + + If @a local_abspath does not exist as file, directory or symlink, return + #SVN_ERR_WC_PATH_NOT_FOUND. + + If @a local_abspath is an unversioned directory, record @a depth on it; + otherwise, ignore @a depth. (Use #svn_depth_infinity unless you exactly + know what you are doing, or you may create an unexpected sparse working + copy) If @a cancel_func is non-NULL, call it with @a cancel_baton at various points during the operation. If it returns an error - (typically @c SVN_ERR_CANCELLED), return that error immediately. + (typically #SVN_ERR_CANCELLED), return that error immediately. - When the @a path has been added, then @a notify_func will be called - (if it is not @c NULL) with the @a notify_baton and the path. + When the @a local_abspath has been added, then @a notify_func will be + called (if it is not @c NULL) with the @a notify_baton and the path. - Return @c SVN_ERR_WC_NODE_KIND_CHANGE if @a path is both an unversioned - directory and a file that is scheduled for deletion or in state deleted. + @note Case 1 is deprecated. Consider doing a WC-to-WC copy instead. + @note For case 2a, prefer svn_wc_add_from_disk(). -
 ### This function currently does double duty -- it is also
- ### responsible for "switching" a working copy directory over to a
- ### new copyfrom ancestry and scheduling it for addition.  Here is
- ### the old doc string from Ben, lightly edited to bring it
- ### up-to-date, explaining the TRUE, secret life of this function:
+ @since New in 1.7. - Given a @a path within a working copy of type KIND, follow this algorithm: +
+ + Schedule the single node that exists on disk at @a local_abspath for + addition to the working copy. The added node will have no properties. - - if @a path is not under version control: - - Place it under version control and schedule for addition; - if @a copyfrom_url is non-NULL, use it and @a copyfrom_rev as - 'copyfrom' history + The versioned state of the parent path must be a modifiable directory, + and the versioned state of @a local_abspath must be either nonexistent or + deleted; if deleted, the new node will be a replacement. - - if @a path is already under version control: - (This can only happen when a directory is copied, in which - case ancestry must have been supplied as well.) + If @a local_abspath does not exist as file, directory or symlink, return + #SVN_ERR_WC_PATH_NOT_FOUND. - - Schedule the directory itself for addition with copyfrom history. - - Mark all its children with a 'copied' flag - - Rewrite all the URLs to what they will be after a commit. - - ### @todo Remove old wcprops too, see the '###' below. + This is a replacement for svn_wc_add4() case 2a. -
 ### I think possibly the "switchover" functionality should be
- ### broken out into a separate function, but its all intertwined in
- ### the code right now.  Ben, thoughts?  Hard?  Easy?  Mauve?
+ ### TODO: Allow the caller to provide the node's properties? - ### Update: see "###" comment in svn_wc_add_repos_file3()'s doc - string about this. + ### TODO: Split into add_dir, add_file, add_symlink? - @since New in 1.6. + @since New in 1.7.
- Similar to svn_wc_delete2(), but takes an @c svn_wc_notify_func_t instead. + Similar to svn_wc_delete2(), but takes an #svn_wc_notify_func_t instead. @deprecated Provided for backward compatibility with the 1.1 API. @@ -4115,62 +5428,124 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's - Schedule @a path for deletion, it will be deleted from the repository on - the next commit. If @a path refers to a directory, then a recursive - deletion will occur. @a adm_access must hold a write lock for the parent - of @a path. + Similar to svn_wc_delete4, but uses an access baton and relative path + instead of a working copy context and absolute path. @a adm_access + must hold a write lock for the parent of @a path. + + @c delete_unversioned_target will always be set to TRUE. + + @since New in 1.5. + @deprecated Provided for backward compatibility with the 1.6 API. + + + + Schedule @a local_abspath for deletion. It will be deleted from the + repository on the next commit. If @a local_abspath refers to a + directory, then a recursive deletion will occur. @a wc_ctx must hold + a write lock for the parent of @a local_abspath, @a local_abspath itself + and everything below @a local_abspath. If @a keep_local is FALSE, this function immediately deletes all files, - modified and unmodified, versioned and unversioned from the working copy. + modified and unmodified, versioned and of @a delete_unversioned is TRUE, + unversioned from the working copy. It also immediately deletes unversioned directories and directories that - are scheduled to be added. Only versioned directories will remain in the - working copy, these get deleted by the update following the commit. + are scheduled to be added below @a local_abspath. Only versioned may + remain in the working copy, these get deleted by the update following + the commit. If @a keep_local is TRUE, all files and directories will be kept in the working copy (and will become unversioned on the next commit). + If @a delete_unversioned_target is TRUE and @a local_abspath is not + versioned, @a local_abspath will be handled as an added files without + history. So it will be deleted if @a keep_local is FALSE. If @a + delete_unversioned is FALSE and @a local_abspath is not versioned a + #SVN_ERR_WC_PATH_NOT_FOUND error will be returned. + If @a cancel_func is non-NULL, call it with @a cancel_baton at various points during the operation. If it returns an error - (typically @c SVN_ERR_CANCELLED), return that error immediately. + (typically #SVN_ERR_CANCELLED), return that error immediately. For each path marked for deletion, @a notify_func will be called with the @a notify_baton and that path. The @a notify_func callback may be @c NULL if notification is not needed. - @since New in 1.5. + Use @a scratch_pool for temporary allocations. It may be cleared + immediately upon returning from this function. + + @since New in 1.7. + + + + Move @a src_abspath to @a dst_abspath, by scheduling @a dst_abspath + for addition to the repository, remembering the history. Mark @a src_abspath + as deleted after moving.@a wc_ctx is used for accessing the working copy and + must contain a write lock for the parent directory of @a src_abspath and + @a dst_abspath. + + If @a metadata_only is TRUE then this is a database-only operation and + the working directories and files are not changed. + + @a src_abspath must be a file or directory under version control; + the parent of @a dst_abspath must be a directory under version control + in the same working copy; @a dst_abspath will be the name of the copied + item, and it must not exist already if @a metadata_only is FALSE. Note that + when @a src points to a versioned file, the working file doesn't + necessarily exist in which case its text-base is used instead. + + If @a cancel_func is non-NULL, call it with @a cancel_baton at + various points during the operation. If it returns an error + (typically #SVN_ERR_CANCELLED), return that error immediately. + + If @a notify_func is non-NULL, call it with @a notify_baton and the path + of the root node (only) of the destination. + + Use @a scratch_pool for temporary allocations. + + @since New in 1.7. - Similar to svn_wc_copy2(), but takes an @c svn_wc_notify_func_t instead. + Similar to svn_wc_copy2(), but takes an #svn_wc_notify_func_t instead. @deprecated Provided for backward compatibility with the 1.1 API. +Similar to svn_wc_copy3(), but takes access batons and a relative path + * and a basename instead of absolute paths and a working copy context. + * + * @since New in 1.2. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + @} - Copy @a src to @a dst_basename in @a dst_parent, and schedule - @a dst_basename for addition to the repository, remembering the copy - history. + Copy @a src_abspath to @a dst_abspath, and schedule @a dst_abspath + for addition to the repository, remembering the copy history. @a wc_ctx + is used for accessing the working copy and must contain a write lock for + the parent directory of @a dst_abspath, - @a src must be a file or directory under version control; @a dst_parent - must be a directory under version control in the same working copy; - @a dst_basename will be the name of the copied item, and it must not - exist already. + If @a metadata_only is TRUE then this is a database-only operation and + the working directories and files are not copied. + + @a src_abspath must be a file or directory under version control; + the parent of @a dst_abspath must be a directory under version control + in the same working copy; @a dst_abspath will be the name of the copied + item, and it must not exist already if @a metadata_only is FALSE. Note that + when @a src points to a versioned file, the working file doesn't + necessarily exist in which case its text-base is used instead. If @a cancel_func is non-NULL, call it with @a cancel_baton at various points during the operation. If it returns an error - (typically @c SVN_ERR_CANCELLED), return that error immediately. + (typically #SVN_ERR_CANCELLED), return that error immediately. - For each file or directory copied, @a notify_func will be called - with its path and the @a notify_baton. @a notify_func may be @c NULL - if you are not interested in this information. + If @a notify_func is non-NULL, call it with @a notify_baton and the path + of the root node (only) of the destination. - @par Important: - This is a variant of svn_wc_add(). No changes will happen - to the repository until a commit occurs. This scheduling can be - removed with svn_client_revert2(). + Use @a scratch_pool for temporary allocations. - @since New in 1.2. + @since New in 1.7. @@ -4197,30 +5572,42 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's Like svn_wc_get_status_editor3(), but with @a ignore_patterns provided from the corresponding value in @a config, and @a recurse - instead of @a depth. If @a recurse is TRUE, behave as if for @c - svn_depth_infinity; else if @a recurse is FALSE, behave as if for - @c svn_depth_immediates. + instead of @a depth. If @a recurse is TRUE, behave as if for + #svn_depth_infinity; else if @a recurse is FALSE, behave as if for + #svn_depth_immediates. @since New in 1.2. @deprecated Provided for backward compatibility with the 1.4 API. - - Same as svn_wc_get_status_editor4(), but using @c svn_wc_status_func2_t - instead of @c svn_wc_status_func3_t. + + Same as svn_wc_get_status_editor4(), but using #svn_wc_status_func2_t + instead of #svn_wc_status_func3_t. @since New in 1.5. - @deprecated Provided for backward compatibility with the 1.4 API. + @deprecated Provided for backward compatibility with the 1.5 API. - Set @a *editor and @a *edit_baton to an editor that generates @c - svn_wc_status2_t structures and sends them through @a status_func / - @a status_baton. @a anchor is an access baton, with a tree lock, - for the local path to the working copy which will be used as the - root of our editor. If @a target is not empty, it represents an - entry in the @a anchor path which is the subject of the editor - drive (otherwise, the @a anchor is the subject). + Same as svn_wc_get_status_editor5, but using #svn_wc_status_func3_t + instead of #svn_wc_status_func4_t. And @a server_performs_filtering + always set to #TRUE. + + This also uses a single pool parameter, stating that all temporary + allocations are performed in manually constructed/destroyed subpool. + + @since New in 1.6. + @deprecated Provided for backward compatibility with the 1.6 API. + + + + Set @a *editor and @a *edit_baton to an editor that generates + #svn_wc_status3_t structures and sends them through @a status_func / + @a status_baton. @a anchor_abspath is a working copy directory + directory which will be used as the root of our editor. If @a + target_basename is not "", it represents a node in the @a anchor_abspath + which is the subject of the editor drive (otherwise, the @a + anchor_abspath is the subject). If @a set_locks_baton is non-@c NULL, it will be set to a baton that can be used in a call to the svn_wc_status_set_repos_locks() function. @@ -4239,14 +5626,14 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's - If @a get_all is FALSE, then only locally-modified entries will be returned. If TRUE, then all entries will be returned. - - If @a depth is @c svn_depth_empty, a status structure will - be returned for the target only; if @c svn_depth_files, for the + - If @a depth is #svn_depth_empty, a status structure will + be returned for the target only; if #svn_depth_files, for the target and its immediate file children; if - @c svn_depth_immediates, for the target and its immediate - children; if @c svn_depth_infinity, for the target and + #svn_depth_immediates, for the target and its immediate + children; if #svn_depth_infinity, for the target and everything underneath it, fully recursively. - If @a depth is @c svn_depth_unknown, take depths from the + If @a depth is #svn_depth_unknown, take depths from the working copy and behave as above in each directory's case. If the given @a depth is incompatible with the depth found in a @@ -4260,26 +5647,75 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's or @c NULL if the default set of ignorable file patterns should be used. If @a cancel_func is non-NULL, call it with @a cancel_baton while building - the @a statushash to determine if the client has cancelled the operation. + the @a statushash to determine if the client has canceled the operation. + + If @a depth_as_sticky is set handle @a depth like when depth_is_sticky is + passed for updating. This will show excluded nodes show up as added in the + repository. - If @a traversal_info is non-NULL, then record pre-update traversal - state in it. (Caller should obtain @a traversal_info from - svn_wc_init_traversal_info().) + If @a server_performs_filtering is TRUE, assume that the server handles + the ambient depth filtering, so this doesn't have to be handled in the + editor. - Allocate the editor itself in @a pool, but the editor does temporary - allocations in a subpool of @a pool. + Allocate the editor itself in @a result_pool, and use @a scratch_pool + for temporary allocations. The editor will do its temporary allocations + in a subpool of @a result_pool. - @since New in 1.6. + @since New in 1.7. + + + + Walk the working copy status of @a local_abspath using @a wc_ctx, by + creating #svn_wc_status3_t structures and sending these through + @a status_func / @a status_baton. + + * Assuming the target is a directory, then: + + - If @a get_all is FALSE, then only locally-modified entries will be + returned. If TRUE, then all entries will be returned. + + - If @a ignore_text_mods is TRUE, then the walk will not check for + modified files. Any #svn_wc_status3_t structures returned for files + will always have a text_status field set to svn_wc_status_normal. + If @a ignore_text_mods is FALSE, the walk checks for text changes + and returns #svn_wc_status3_t structures describing any changes. + + - If @a depth is #svn_depth_empty, a status structure will + be returned for the target only; if #svn_depth_files, for the + target and its immediate file children; if + #svn_depth_immediates, for the target and its immediate + children; if #svn_depth_infinity, for the target and + everything underneath it, fully recursively. + + If @a depth is #svn_depth_unknown, take depths from the + working copy and behave as above in each directory's case. + + If the given @a depth is incompatible with the depth found in a + working copy directory, the found depth always governs. + + If @a no_ignore is set, statuses that would typically be ignored + will instead be reported. + + @a ignore_patterns is an array of file patterns matching + unversioned files to ignore for the purposes of status reporting, + or @c NULL if the default set of ignorable file patterns should be used. + + If @a cancel_func is non-NULL, call it with @a cancel_baton while walking + to determine if the client has canceled the operation. + + This function uses @a scratch_pool for temporary allocations. + + @since New in 1.7. - Same as svn_wc_status_func2_t(), but for older svn_wc_status_t structures. + Same as svn_wc_status_func2_t, but for older svn_wc_status_t structures. @deprecated Provided for backward compatibility with the 1.1 API. - Same as svn_wc_status_func3_t(), but without a provided pool or + Same as svn_wc_status_func3_t, but without a provided pool or the ability to propagate errors. @since New in 1.2. @@ -4287,14 +5723,27 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's - A callback for reporting a @a status about @a path. + Same as svn_wc_status_func4_t, but with a non-const status and a relative + path. + + @since New in 1.6. + @deprecated Provided for backward compatibility with the 1.6 API. + + + + A callback for reporting a @a status about @a local_abspath. @a baton is a closure object; it should be provided by the implementation, and passed by the caller. - @a pool will be cleared between invocations to the callback. + @a scratch_pool will be cleared between invocations to the callback. - @since New in 1.6. + ### we might be revamping the status infrastructure, and this callback + ### could totally disappear by the end of 1.7 development. however, we + ### need to mark the STATUS parameter as "const" so that it is easier + ### to reason about who/what can modify those structures. + + @since New in 1.7. @@ -4304,31 +5753,36 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's - Fill @a *status for @a path, allocating in @a pool. - @a adm_access must be an access baton for @a path. +Similar to svn_wc_status3(), but with a adm_access baton and absolute + * path. + * + * @since New in 1.2. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Fill @a *status for @a local_abspath, allocating in @a result_pool. + Use @a scratch_pool for temporary allocations. Here are some things to note about the returned structure. A quick examination of the @c status->text_status after a successful return of this function can reveal the following things: - - @c svn_wc_status_none : @a path is not versioned, and is either not - present on disk, or is ignored by svn's - default ignore regular expressions or the - svn:ignore property setting for @a path's - parent directory. + - #svn_wc_status_none : @a local_abspath is not versioned, and is + not present on disk - - @c svn_wc_status_missing : @a path is versioned, but is missing from - the working copy. + - #svn_wc_status_missing : @a local_abspath is versioned, but is + missing from the working copy. - - @c svn_wc_status_unversioned : @a path is not versioned, but is - present on disk and not being - ignored (see above). + - #svn_wc_status_unversioned : @a local_abspath is not versioned, + but is present on disk and not being + ignored (see above). The other available results for the @c text_status field are more straightforward in their meanings. See the comments on the - @c svn_wc_status_kind structure for some hints. + #svn_wc_status_kind structure for some hints. - @since New in 1.2. + @since New in 1.7. @@ -4338,10 +5792,17 @@ Add a file to a working copy at @a dst_path, obtaining the text-base's + Same as svn_wc_dup_status3(), but for older svn_wc_status_t structures. + + @since New in 1.2 + @deprecated Provided for backward compatibility with the 1.6 API. + + + Return a deep copy of the @a orig_stat status structure, allocated in @a pool. - @since New in 1.2. + @since New in 1.7. @@ -4361,7 +5822,7 @@ a directory can be 'locked' if a working copy update was interrupted. Can be @c NULL if not under version control. - Same as @c svn_wc_status2_t, but without the svn_lock_t 'repos_lock' field. + Same as #svn_wc_status2_t, but without the #svn_lock_t 'repos_lock' field. @deprecated Provided for backward compatibility with the 1.1 API. @@ -4389,7 +5850,7 @@ Set to the user name of the youngest commit, or @c NULL if not -Set to the node kind of the youngest commit, or @c svn_node_none +Set to the node kind of the youngest commit, or #svn_node_none * if not out of date. * @since New in 1.3 @@ -4409,7 +5870,7 @@ Set to the most recent commit date, or @c 0 if not out of date. copy is not out of date, the fields are initialized as described below. -Set to the youngest committed revision, or @c SVN_INVALID_REVNUM +Set to the youngest committed revision, or #SVN_INVALID_REVNUM * if not out of date. * @since New in 1.3 @@ -4439,27 +5900,124 @@ a directory can be 'locked' if a working copy update was interrupted. Can be @c NULL if not under version control. - Structure for holding the "status" of a working copy item. + ### All diffs are not yet known. + Same as svn_wc_status3_t, but without the #svn_boolean_t 'versioned' + field. Instead an item that is not versioned has the 'entry' field set to + @c NULL. + + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + + + +Set to the user name of the youngest commit, or @c NULL if not + * out of date or non-existent. Because a non-existent @c + * svn:author property has the same behavior as an out-of-date + * working copy, examine @c ood_last_cmt_rev to determine whether + * the working copy is out of date. + + +Set to the most recent commit date, or @c 0 if not out of date. + + +Set to the youngest committed revision, or #SVN_INVALID_REVNUM + * if not out of date. + + +The entry's lock in the repository, if any. + + + @defgroup svn_wc_status_ood WC out-of-date info from the repository + @{ + + When the working copy item is out-of-date compared to the + repository, the following fields represent the state of the + youngest revision of the item in the repository. If the working + copy is not out of date, the fields are initialized as described + below. + +Set to the node kind of the youngest commit, or #svn_node_none + * if not out of date. + + +Which changelist this item is part of, or NULL if not part of any. + + +The repository file lock. (Values of path, token, owner, comment + * and are available if a lock is present) + + +This directory has a working copy lock + + +a file or directory can be 'switched' if the switch command has been + * used. If this is TRUE, then file_external will be FALSE. + + + +The in-repository path relative to the repository root. + + +The UUID of the repository + + +The URL of the repository + + +Last commit author of this item + + +Date of last commit. + + +Last revision this was changed + + +Base revision. + + +a file or directory can be 'copied' if it's scheduled for + * addition-with-history (or part of a subtree that is scheduled as such.). - The item's entry data is in @a entry, augmented and possibly shadowed - by the other fields. @a entry is @c NULL if this item is not under - version control. + + +Set to TRUE if the item is the victim of a conflict. + + +If the path is under version control, versioned is TRUE, otherwise + * FALSE. + + +The actual size of the working file on disk, or SVN_INVALID_FILESIZE + * if unknown (or if the item isn't a file at all). + + +The depth of the node as recorded in the working copy + * (#svn_depth_unknown for files or when no depth is set) + + +The kind of node as recorded in the working copy + + + Structure for holding the "status" of a working copy item. @note Fields may be added to the end of this structure in future versions. Therefore, to preserve binary compatibility, users should not directly allocate structures of this type. - @since New in 1.2. + @since New in 1.7. @defgroup svn_wc_status Working copy status. @{ - We have two functions for getting working copy status: one function - for getting the status of exactly one thing, and another for - getting the statuses of (potentially) multiple things. + We have three functions for getting working copy status: one function + for getting the status of exactly one thing, another for + getting the statuses of (potentially) multiple things and a third for + getting the working copy out-of-dateness with respect to the repository. + Why do we have two different functions for getting working copy status? The concept of depth, as explained in the documentation for svn_depth_t, may be useful in understanding this. Suppose we're getting the status of directory D: @@ -4471,18 +6029,30 @@ Can be @c NULL if not under version control. become cumbersome: you'd have to roll through a hash to find one lone status. - So we have svn_wc_status() for depth-empty (just D itself), and - svn_wc_get_status_editor() for depth-immediates and depth-infinity, - since the latter two involve multiple return values. - - @note The status structures may contain a @c NULL ->entry field. - This indicates an item that is not versioned in the working copy. + So we have svn_wc_status3() for depth-empty (just D itself), and + svn_wc_walk_status() for depth-immediates and depth-infinity, + since the latter two involve multiple return values. And for + out-of-dateness information we have svn_wc_get_status_editor5(). The type of status for the working copy. -The status of the entries text. +The status of the node itself. In order of precedence: Obstructions, + * structural changes, text changes. -The status of the entries properties. +The status of the entry's text. + +The status of the entry's properties. + +The status of the node, based on the text status if the node has no + * restructuring changes + +The entry's text status in the repository. + +The entry's property status in the repository. + +The status of the entry itself, including its text if it is a file. + +The status of the entry's properties. The entry's text status in the repository. @@ -4490,14 +6060,14 @@ The entry's property status in the repository. The actual status of the text compared to the pristine base of the * file. This value isn't masked by other working copy statuses. - * @c pristine_text_status is @c svn_wc_status_none if this value was + * @c pristine_text_status is #svn_wc_status_none if this value was * not calculated during the status walk. * @since New in 1.6 The actual status of the properties compared to the pristine base of * the node. This value isn't masked by other working copy statuses. - * @c pristine_prop_status is @c svn_wc_status_none if this value was + * @c pristine_prop_status is #svn_wc_status_none if this value was * not calculated during the status walk. * @since New in 1.6 @@ -4527,7 +6097,7 @@ is unversioned but configured to be ignored local mods received conflicting repos mods -local mods received repos mods +local mods received repos mods (### unused) text or props have been modified @@ -4556,45 +6126,56 @@ does not exist Set the repository root URL of @a path to @a repos, if possible. * - * @a adm_access must contain @a path and be write-locked, if @a path - * is versioned. Return no error if path is missing or unversioned. - * Use @a pool for temporary allocations. - * - * @note In some circumstances, the repository root can't be set - * without making the working copy corrupt. In such cases, this - * function just returns no error, without modifying the @a path entry. + * Before Subversion 1.7 there could be working copy directories that + * didn't have a stored repository root in some specific circumstances. + * This function allowed setting this root later. * - * @note This function exists to make it possible to try to set the repository - * root in old working copies; new working copies normally get this set at - * creation time. + * Since Subversion 1.7 this function just returns #SVN_NO_ERROR. * * @since New in 1.3. + * @deprecated Provided for backwards compatibility with the 1.6 API. Similar to svn_wc_ensure_adm2(), but with @a repos set to @c NULL. + @note as of 1.7, this function always returns #SVN_ERR_BAD_URL since + the @a repos parameter may not be @c NULL. + @deprecated Provided for backwards compatibility with the 1.2 API. Similar to svn_wc_ensure_adm3(), but with @a depth set to - @c svn_depth_infinity. + #svn_depth_infinity. - @deprecated Provided for backwards compatibility with the 1.4 API. + See the note on svn_wc_ensure_adm3() regarding the @a repos and @a uuid + parameters. @since New in 1.3. + @deprecated Provided for backwards compatibility with the 1.4 API. -Ensure that an administrative area exists for @a path, so that @a - * path is a working copy subdir based on @a url at @a revision, with - * depth @a depth, and with repository UUID @a uuid and repository - * root URL @a repos. + Similar to svn_wc_ensure_adm4(), but without the wc context parameter. + + @note the @a uuid and @a repos parameters were documented as allowing + @c NULL to be passed. Beginning with 1.7, this will return an error, + contrary to prior documented behavior: see 'notes/api-errata/1.7/wc005.txt'. + + @since New in 1.5. + @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Ensure that an administrative area exists for @a local_abspath, so + * that @a local_abspath is a working copy subdir based on @a url at @a + * revision, with depth @a depth, and with repository UUID @a repos_uuid + * and repository root URL @a repos_root_url. * - * @a depth must be a definite depth, it cannot be @c svn_depth_unknown. - * @a uuid and @a repos may be @c NULL. If non-@c NULL, @a repos must - * be a prefix of @a url. + * @a depth must be a definite depth, it cannot be #svn_depth_unknown. + * @a repos_uuid and @a repos_root_url MUST NOT be @c NULL, and + * @a repos_root_url must be a prefix of @a url. * * If the administrative area does not exist, then create it and * initialize it to an unlocked state. @@ -4603,31 +6184,40 @@ Ensure that an administrative area exists for @a path, so that @a * must match the URL in the administrative area and the given * @a revision must match the BASE of the working copy dir unless * the admin directory is scheduled for deletion or the - * SVN_ERR_WC_OBSTRUCTED_UPDATE error will be returned. + * #SVN_ERR_WC_OBSTRUCTED_UPDATE error will be returned. * - * Do not ensure existence of @a path itself; if @a path does not - * exist, return error. + * Do not ensure existence of @a local_abspath itself; if @a local_abspath + * does not exist, return error. * - * @since New in 1.5. + * Use @a scratch_pool for temporary allocations. + * + * @since New in 1.7. -Mark missing @a path as 'deleted' in its @a parent's list of entries. +Mark missing @a path as 'deleted' in its @a parent's list of + * entries. @a path should be a directory that is both deleted (via + * svn_wc_delete4) and removed (via a system call). This function + * should only be called during post-commit processing following a + * successful commit editor drive. * - * Return @c SVN_ERR_WC_PATH_FOUND if @a path isn't actually missing. + * Return #SVN_ERR_WC_PATH_FOUND if @a path isn't actually missing. + * + * @deprecated Provided for backward compatibility with the 1.6 API. Similar to svn_wc_walk_entries2(), but without cancellation support. - @deprecated Provided for backward compatibility with the 1.0 API. + @deprecated Provided for backward compatibility with the 1.1 API. Similar to svn_wc_walk_entries3(), but without cancellation support or error handling from @a walk_callbacks, and with @a depth always - set to @c svn_depth_infinity. + set to #svn_depth_infinity. + @since New in 1.2. @deprecated Provided for backward compatibility with the 1.4 API. @@ -4638,33 +6228,35 @@ Mark missing @a path as 'deleted' in its @a parent's list of entries. @a path, which can be a file or dir. Call callbacks in @a walk_callbacks, passing @a walk_baton to each. Use @a pool for looping, recursion, and to allocate all entries returned. - @a adm_access must be an access baton for @a path. + @a adm_access must be an access baton for @a path. The pool + passed to @a walk_callbacks is a temporary subpool of @a pool. - If @a depth is @c svn_depth_empty, invoke the callbacks on @a path - and return without recursing further. If @c svn_depth_files, do + If @a depth is #svn_depth_empty, invoke the callbacks on @a path + and return without recursing further. If #svn_depth_files, do the same and invoke the callbacks on file children (if any) of - @a path, then return. If @c svn_depth_immediates, do the preceding + @a path, then return. If #svn_depth_immediates, do the preceding but also invoke callbacks on immediate subdirectories, then return. - If @c svn_depth_infinity, recurse fully starting from @a path. + If #svn_depth_infinity, recurse fully starting from @a path. If @a cancel_func is non-NULL, call it with @a cancel_baton to determine - if the client has cancelled the operation. + if the client has canceled the operation. Like our other entries interfaces, entries that are in a 'excluded', 'deleted' or 'absent' state (and not scheduled for re-addition) are not discovered, unless @a show_hidden is TRUE. Excluded entries are those with - their depth set to @c svn_depth_exclude. + their depth set to #svn_depth_exclude. - When a new directory is entered, @c SVN_WC_ENTRY_THIS_DIR will always + When a new directory is entered, #SVN_WC_ENTRY_THIS_DIR will always be returned first. @note Callers should be aware that each directory will be returned *twice*: first as an entry within its parent, and subsequently as the '.' entry within itself. The two calls can be - distinguished by looking for @c SVN_WC_ENTRY_THIS_DIR in the 'name' + distinguished by looking for #SVN_WC_ENTRY_THIS_DIR in the 'name' field of the entry. @since New in 1.5. + @deprecated Provided for backward compatibility with the 1.6 API. @@ -4675,8 +6267,8 @@ An @a entry was found at @a path. Handle the error @a err encountered while processing @a path. - * Wrap or squelch @a err as desired, and return an @c svn_error_t - * *, or @c SVN_NO_ERROR. + * Wrap or squelch @a err as desired, and return an #svn_error_t + * *, or #SVN_NO_ERROR. @@ -4693,6 +6285,8 @@ Set @a *url and @a *rev to the ancestor URL and revision for @a path, * * If @a url or @a rev is NULL, then ignore it (just don't return the * corresponding information). + * + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -4715,19 +6309,26 @@ Given a @a dir_path under version control, decide if one of its entries -Given a @a path in a dir under version control, decide if it is in a - * state of conflict; return the answers in @a *text_conflicted_p, @a +Similar to svn_wc_conflicted_p3(), but with a path/adm_access parameter + * pair in place of a wc_ctx/local_abspath pair. + * + * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Given @a local_abspath in a dir under version control, decide if it is + * in a state of conflict; return the answers in @a *text_conflicted_p, @a * *prop_conflicted_p, and @a *tree_conflicted_p. If one or two of the * answers are uninteresting, simply pass @c NULL pointers for those. * - * If @a path is unversioned or does not exist, @a *text_conflicted_p and - * @a *prop_conflicted_p will be @c FALSE if non-NULL. - * - * @a adm_access is the admin access baton of the parent directory. + * If @a local_abspath is unversioned or does not exist, return + * #SVN_ERR_WC_PATH_NOT_FOUND. * - * If the @a path has corresponding text conflict files (with suffix .mine, - * .theirs, etc.) that cannot be found, assume that the text conflict has - * been resolved by the user and return @c FALSE in @a *text_conflicted_p. + * If the @a local_abspath has corresponding text conflict files (with suffix + * .mine, .theirs, etc.) that cannot be found, assume that the text conflict + * has been resolved by the user and return @c FALSE in @a + * *text_conflicted_p. * * Similarly, if a property conflicts file (.prej suffix) is said to exist, * but it cannot be found, assume that the property conflicts have been @@ -4736,12 +6337,49 @@ Given a @a path in a dir under version control, decide if it is in a * @a *tree_conflicted_p can't be auto-resolved in this fashion. An * explicit `resolved' is needed. * - * @since New in 1.6. + * @since New in 1.7. + + + + Return a duplicate of @a info, allocated in @a pool. No part of the new + structure will be shared with @a info. + + @since New in 1.7. + + + +The local absolute path of the working copy root. + + +Array of const svn_wc_conflict_description2_t * which contains info + * on any conflict of which this node is a victim. Otherwise NULL. + + +The time at which the file had the recorded size recorded_size and was +considered unmodified. + + +The size of the file after being translated into its local +representation, or #SVN_INVALID_FILESIZE if unknown. +Not applicable for directories. + + + +@} + This struct contains information about a working copy node. + + @note Fields may be added to the end of this structure in future + versions. Therefore, users shouldn't allocate structures of this + type, to preserve binary compatibility. + + @since New in 1.7. Return a duplicate of @a entry, allocated in @a pool. No part of the new * entry will be shared with @a entry. + * + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -4755,7 +6393,7 @@ Parse the `entries' file for @a adm_access and return a hash @a entries, * Entries that are in a 'excluded', 'deleted' or 'absent' state (and not * scheduled for re-addition) are not returned in the hash, unless * @a show_hidden is TRUE. Excluded entries are those with their depth set to - * @c svn_depth_exclude. + * #svn_depth_exclude. * * @par Important: * The @a entries hash is the entries cache in @a adm_access @@ -4770,19 +6408,22 @@ Parse the `entries' file for @a adm_access and return a hash @a entries, * * @par Important: * Only the entry structures representing files and - * @c SVN_WC_ENTRY_THIS_DIR contain complete information. The entry + * #SVN_WC_ENTRY_THIS_DIR contain complete information. The entry * structures representing subdirs have only the `kind' and `state' * fields filled in. If you want info on a subdir, you must use this - * routine to open its @a path and read the @c SVN_WC_ENTRY_THIS_DIR + * routine to open its @a path and read the #SVN_WC_ENTRY_THIS_DIR * structure, or call svn_wc_entry() on its @a path. + * + * @deprecated Provided for backward compatibility with the 1.6 API. -How an entries file's owner dir is named in the entries file. +How an entries file's owner dir is named in the entries file. + * @deprecated Provided for backward compatibility with the 1.6 API. Set @a *entry to an entry for @a path, allocated in the access baton pool. * If @a show_hidden is TRUE, return the entry even if it's in 'excluded', * 'deleted' or 'absent' state. Excluded entries are those with their depth - * set to @c svn_depth_exclude. If @a path is not under revision control, or + * set to #svn_depth_exclude. If @a path is not under revision control, or * if entry is hidden, not scheduled for re-addition, and @a show_hidden is @c * FALSE, then set @a *entry to @c NULL. * @@ -4803,10 +6444,12 @@ Set @a *entry to an entry for @a path, allocated in the access baton pool. * be present, but not under revision control. * * Use @a pool only for local processing. + * + * @deprecated Provided for backward compatibility with the 1.6 API. -The entry is a intra-repository file external and this is the +The entry is an intra-repository file external and this is the * operative revision number specified in the externals definition. * This field is only valid when the file_external_path field is * non-NULL. The only permissible values are @@ -4861,7 +6504,7 @@ Whether a local copy of this entry should be kept in the working copy Size of the file after being translated into local - * representation, or @c SVN_WC_ENTRY_WORKING_SIZE_UNKNOWN if + * representation, or #SVN_WC_ENTRY_WORKING_SIZE_UNKNOWN if * unknown. * * @since New in 1.5. @@ -4990,8 +6633,8 @@ The directory containing this entry had a versioned child of this in a copied state (possibly because the entry is a child of a - * path that is @c svn_wc_schedule_add or @c svn_wc_schedule_replace, - * when the entry itself is @c svn_wc_schedule_normal). + * path that is #svn_wc_schedule_add or #svn_wc_schedule_replace, + * when the entry itself is #svn_wc_schedule_normal). * COPIED is true for nodes under a directory that was copied, but * COPYFROM_URL is null there. They are both set for the root * destination of the copy. @@ -5023,32 +6666,17 @@ entry's name when it isn't set to the actual size value of the unchanged working file. - @defgroup svn_wc_entry_working_size_constants Working size constants - - @{ + The value of the working size is unknown (hasn't been + calculated and stored in the past for whatever reason). -The value of the working size is unknown (hasn't been - * calculated and stored in the past for whatever reason). - * - * @since New in 1.5 + @since New in 1.5 + @deprecated Provided for backward compatibility with the 1.6 API. -@} A working copy entry -- that is, revision control information about * one versioned entity. - - - -Administrative subdir. - * - * Ideally, this would be completely private to wc internals (in fact, - * it used to be that adm_subdir() in adm_files.c was the only function - * who knew the adm subdir's name). However, import wants to protect - * against importing administrative subdirs, so now the name is a - * matter of public record. * - * @deprecated Provided for backward compatibility with the 1.2 API. + * @deprecated Provided for backward compatibility with the 1.6 API. -The schedule states an entry can be in. Slated for replacement (delete + add) @@ -5063,16 +6691,31 @@ Slated for addition Nothing special here +Similar to svn_wc_props_modified_p2(), but with a relative path and + * adm_access baton. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Set @a *modified_p to non-zero if @a path's properties are modified * with regard to the base revision, else set @a modified_p to zero. * @a adm_access must be an access baton for @a path. + * + * @since New in 1.7. -Set @a *modified_p to non-zero if @a filename's text is modified +Similar to svn_wc_text_modified_p2(), but with a relative path and + * adm_access baton? + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Set @a *modified_p to non-zero if @a local_abspath's text is modified * with regard to the base revision, else set @a *modified_p to zero. - * @a filename is a path to the file, not just a basename. @a adm_access - * must be an access baton for @a filename. + * @a local_abspath is the absolute path to the file. * * If @a force_comparison is @c TRUE, this function will not allow * early return mechanisms that avoid actual content comparison. @@ -5081,115 +6724,176 @@ Set @a *modified_p to non-zero if @a filename's text is modified * that if the text base is much longer than the working file, every * byte of the text base will still be examined.) * - * If @a filename does not exist, consider it unmodified. If it exists + * If @a local_abspath does not exist, consider it unmodified. If it exists * but is not under revision control (not even scheduled for - * addition), return the error @c SVN_ERR_ENTRY_NOT_FOUND. + * addition), return the error #SVN_ERR_ENTRY_NOT_FOUND. * - * If @a filename is unmodified but has a timestamp variation then this - * function may "repair" @a filename's text-time by setting it to - * @a filename's last modification time. + * @since New in 1.7. Set @a *has_binary_prop to @c TRUE iff @a path has been marked * with a property indicating that it is non-text (in other words, binary). * @a adm_access is an access baton set that contains @a path. + * + * @deprecated Provided for backward compatibility with the 1.6 API. As a + * replacement for this functionality, @see svn_mime_type_is_binary and + * #SVN_PROP_MIME_TYPE. -Set @a *wc_format to @a path's working copy format version number if - * @a path is a valid working copy directory, else set it to 0. - * Return error @c APR_ENOENT if @a path does not exist at all. + Similar to svn_wc_check_wc2(), but with a relative path and no supplied + working copy context. + + @deprecated Provided for backward compatibility with the 1.6 API. + + + +Set @a *wc_format to @a local_abspath's working copy format version + * number if @a local_abspath is a valid working copy directory, else set it + * to 0. + * + * Return error @c APR_ENOENT if @a local_abspath does not exist at all. + * + * @since New in 1.7. -Similar to @c dir_props_changed in @c svn_wc_diff_callbacks2_t, but this +Similar to @c dir_props_changed in #svn_wc_diff_callbacks2_t, but this * function is called for files as well as directories. -The same as @c dir_deleted in @c svn_wc_diff_callbacks2_t. +The same as @c dir_deleted in #svn_wc_diff_callbacks2_t. -The same as @c dir_added in @c svn_wc_diff_callbacks2_t. +The same as @c dir_added in #svn_wc_diff_callbacks2_t. -Similar to @c file_deleted in @c svn_wc_diff_callbacks2_t, but without +Similar to @c file_deleted in #svn_wc_diff_callbacks2_t, but without * the properties. -Similar to @c file_added in @c svn_wc_diff_callbacks2_t, but without +Similar to @c file_added in #svn_wc_diff_callbacks2_t, but without * property change information. @a *state applies to the file contents. -Similar to @c file_changed in @c svn_wc_diff_callbacks2_t, but without +Similar to @c file_changed in #svn_wc_diff_callbacks2_t, but without * property change information. @a tmpfile2 is never NULL. @a state applies * to the file contents. - Similar to @c svn_wc_diff_callbacks2_t, but with file additions/content + Similar to #svn_wc_diff_callbacks2_t, but with file additions/content changes and property changes split into different functions. @deprecated Provided for backward compatibility with the 1.1 API. -The same as @c dir_props_changed in @c svn_wc_diff_callbacks3_t. +The same as @c dir_props_changed in #svn_wc_diff_callbacks3_t. -The same as @c dir_deleted in @c svn_wc_diff_callbacks3_t. +The same as @c dir_deleted in #svn_wc_diff_callbacks3_t. -The same as @c dir_added in @c svn_wc_diff_callbacks3_t. +The same as @c dir_added in #svn_wc_diff_callbacks3_t. -The same as @c file_deleted in @c svn_wc_diff_callbacks3_t. +The same as @c file_deleted in #svn_wc_diff_callbacks3_t. -The same as @c file_added in @c svn_wc_diff_callbacks3_t. +The same as @c file_added in #svn_wc_diff_callbacks3_t. -The same as @c file_changed in @c svn_wc_diff_callbacks3_t. +The same as @c file_changed in #svn_wc_diff_callbacks3_t. - Similar to @c svn_wc_diff_callbacks3_t, but without the dir_opened() - function, and without the 'tree_conflicted' argument to the functions. + Similar to #svn_wc_diff_callbacks3_t, but without the @c dir_opened + and @c dir_closed functions, and without the @a tree_conflicted argument + to the functions. @deprecated Provided for backward compatibility with the 1.2 API. -A directory @a path has been closed. - +The same as #svn_wc_diff_callbacks4_t.dir_closed. - A directory @a path has been opened. @a rev is the revision that the - directory came from. +The same as #svn_wc_diff_callbacks4_t.dir_opened. + + +The same as #svn_wc_diff_callbacks4_t.dir_props_changed. + + +The same as #svn_wc_diff_callbacks4_t.dir_deleted. + + +Similar to #svn_wc_diff_callbacks4_t.dir_added but without + * @a copyfrom_path and @a copyfrom_revision arguments. + + +The same as #svn_wc_diff_callbacks4_t.file_deleted. + + +Similar to #svn_wc_diff_callbacks4_t.file_added but without + * @a copyfrom_path and @a copyfrom_revision arguments. + + +The same as #svn_wc_diff_callbacks4_t.file_changed. + + + Similar to #svn_wc_diff_callbacks4_t, but without @a copyfrom_path and + @a copyfrom_revision arguments to @c file_added and @c dir_added functions. - This function is called for @a path before any of the callbacks are - called for a child of @a path. + @since New in 1.6. + @deprecated Provided for backward compatibility with the 1.6 API. - + + A directory @a path which has been opened with @a dir_opened or @a + dir_added has been closed. + + @a dir_was_added is set to #TRUE if the directory was added, and + to #FALSE if the directory pre-existed. + + + A list of property changes (@a propchanges) was applied to the directory @a path. - The array is a list of (@c svn_prop_t) structures. + The array is a list of (#svn_prop_t) structures. - The original list of properties is provided in @a original_props, - which is a hash of @c svn_string_t values, keyed on the property - name. + @a dir_was_added is set to #TRUE if the directory was added, and + to #FALSE if the directory pre-existed. - -A directory @a path was deleted. + + A directory @a path was added. @a rev is the revision that the + directory came from. + + This function is called for any new directory @a path before any + of the callbacks are called for a child of @a path. + + If @a copyfrom_path is non-@c NULL, this add has history (i.e., is a + copy), and the origin of the copy may be recorded as + @a copyfrom_path under @a copyfrom_revision. - -A directory @a path was added. @a rev is the revision that the -directory came from. + + A directory @a path has been opened. @a rev is the revision that the + directory came from. + + This function is called for any existing directory @a path before any + of the callbacks are called for a child of @a path. + + If the callback returns @c TRUE in @a *skip_children, children + of this directory will be skipped. - + +A directory @a path was deleted. + + + A file @a path was deleted. The [loss of] contents can be seen by comparing @a tmpfile1 and @a tmpfile2. @a originalprops provides the properties of the file. @@ -5201,7 +6905,7 @@ directory came from. (or how) to generate differences. - + A file @a path was added. The contents can be seen by comparing @a tmpfile1 and @a tmpfile2, which represent @a rev1 and @a rev2 of the file, respectively. (If either file is empty, the rev @@ -5212,13 +6916,16 @@ directory came from. be NULL. The implementor can use this information to decide if (or how) to generate differences. - @a propchanges is an array of (@c svn_prop_t) structures. If it contains + @a propchanges is an array of (#svn_prop_t) structures. If it contains any elements, the original list of properties is provided in - @a originalprops, which is a hash of @c svn_string_t values, keyed on the + @a originalprops, which is a hash of #svn_string_t values, keyed on the property name. + If @a copyfrom_path is non-@c NULL, this add has history (i.e., is a + copy), and the origin of the copy may be recorded as + @a copyfrom_path under @a copyfrom_revision. - + A file @a path has changed. If @a tmpfile2 is non-NULL, the contents have changed and those changes can be seen by comparing @a tmpfile1 and @a tmpfile2, which represent @a rev1 and @a rev2 of @@ -5229,28 +6936,31 @@ directory came from. be NULL. The implementor can use this information to decide if (or how) to generate differences. - @a propchanges is an array of (@c svn_prop_t) structures. If it contains + @a propchanges is an array of (#svn_prop_t) structures. If it contains any elements, the original list of properties is provided in - @a originalprops, which is a hash of @c svn_string_t values, keyed on the + @a originalprops, which is a hash of #svn_string_t values, keyed on the property name. - + + This function is called before @a file_changed to allow callbacks to + skip the most expensive processing of retrieving the file data. + + + + @} - A callback vtable invoked by our diff-editors, as they receive - diffs from the server. 'svn diff' and 'svn merge' both implement - their own versions of this table. + A callback vtable invoked by our diff-editors, as they receive diffs + from the server. 'svn diff' and 'svn merge' implement their own versions + of this vtable. Common parameters: - @a adm_access will be an access baton for the directory containing - @a path, or @c NULL if the diff editor is not using access batons. - If @a state is non-NULL, set @a *state to the state of the item after the operation has been performed. (In practice, this is only useful with merge, not diff; diff callbacks will probably set - @a *state to @c svn_wc_notify_state_unknown, since they do not change + @a *state to #svn_wc_notify_state_unknown, since they do not change the state and therefore do not bother to know the state after the operation.) By default, @a state refers to the item's content state. Functions concerned with property state have separate @@ -5261,39 +6971,48 @@ directory came from. state, this is only useful with merge, not diff; diff callbacks should set this to false.) - @since New in 1.6. + @since New in 1.7. -A callback used in svn_client_merge3(), svn_client_update3(), and - * svn_client_switch2() for resolving conflicts during the application - * of a tree delta to a working copy. +Similar to #svn_wc_conflict_resolver_func2_t, but using + * #svn_wc_conflict_description_t instead of + * #svn_wc_conflict_description2_t + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +A callback used in merge, update and switch for resolving conflicts + * during the application of a tree delta to a working copy. * * @a description describes the exact nature of the conflict, and * provides information to help resolve it. @a baton is a closure * object; it should be provided by the implementation, and passed by - * the caller. All allocations should be performed in @a pool. When - * finished, the callback signals its resolution by returning a - * structure in @a *result. (See @c svn_wc_conflict_result_t.) + * the caller. When finished, the callback signals its resolution by + * returning a structure in @a *result, which should be allocated in + * @a result_pool. (See #svn_wc_conflict_result_t.) @a scratch_pool + * should be used for any temporary allocations. * - * The values @c svn_wc_conflict_choose_mine_conflict and @c - * svn_wc_conflict_choose_theirs_conflict are not legal for conflicts + * The values #svn_wc_conflict_choose_mine_conflict and + * #svn_wc_conflict_choose_theirs_conflict are not legal for conflicts * in binary files or properties. * * Implementations of this callback are free to present the conflict * using any user interface. This may include simple contextual * conflicts in a file's text or properties, or more complex - * 'tree'-based conflcts related to obstructed additions, deletions, + * 'tree'-based conflicts related to obstructed additions, deletions, * and edits. The callback implementation is free to decide which * sorts of conflicts to handle; it's also free to decide which types * of conflicts are automatically resolvable and which require user * interaction. * - * @since New in 1.5. + * @since New in 1.7. - Allocate an @c svn_wc_conflict_result_t structure in @a pool, + Allocate an #svn_wc_conflict_result_t structure in @a pool, initialize and return it. Set the @c choice field of the structure to @a choice, and @c @@ -5313,19 +7032,19 @@ If true, save a backup copy of merged_file (or the original If not NULL, this is a path to a file which contains the client's (or more likely, the user's) merging of the three values in conflict. libsvn_wc accepts this file if (and only if) @c choice - is set to @c svn_wc_conflict_choose_merged. + is set to #svn_wc_conflict_choose_merged. A choice to either delay the conflict resolution or select a particular file to resolve the conflict. -The final result returned by @c svn_wc_conflict_resolver_func_t. +The final result returned by #svn_wc_conflict_resolver_func_t. * * @note Fields may be added to the end of this structure in future * versions. Therefore, to preserve binary compatibility, users * should not directly allocate structures of this type. Instead, - * construct this structure using @c svn_wc_create_conflict_result() + * construct this structure using svn_wc_create_conflict_result() * below. * * @since New in 1.5. @@ -5336,56 +7055,94 @@ The way in which the conflict callback chooses a course of action. * * @since New in 1.5. + + +If there were files to choose from, select one as a way of + resolving the conflict here and now. libsvn_wc will then do the + work of "installing" the chosen file. + + + +Don't resolve the conflict now. Let libsvn_wc mark the path + 'conflicted', so user can run 'svn resolved' later. + + +Return a duplicate of @a conflict, allocated in @a result_pool. + * A deep copy of all members will be made. + * + * @since New in 1.7. + - Allocate an @c svn_wc_conflict_description_t structure in @a pool, +Similar to svn_wc_conflict_description_create_tree(), but returns + * a #svn_wc_conflict_description_t *. + * + * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Allocate an #svn_wc_conflict_description_t structure in @a pool, initialize to represent a tree conflict, and return it. - Set the @c path field of the created struct to @a path, the @c access - field to @a adm_access, the @c kind field to @c - svn_wc_conflict_kind_tree, the @c node_kind to @a node_kind, the @c + Set the @c local_abspath field of the created struct to @a local_abspath + (which must be an absolute path), the @c kind field to + #svn_wc_conflict_kind_tree, the @c node_kind to @a node_kind, the @c operation to @a operation, the @c src_left_version field to @a src_left_version, and the @c src_right_version field to @a src_right_version. - Make only shallow copies of the pointer arguments. @note: It is the caller's responsibility to set the other required fields (such as the four file names and @c action and @c reason). - @since New in 1.6. + @since New in 1.7. - Allocate an @c svn_wc_conflict_description_t structure in @a pool, +Similar to svn_wc_conflict_descriptor_create_prop(), but returns + * a #svn_wc_conflict_description_t *. + * + * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Allocate an #svn_wc_conflict_description_t structure in @a result_pool, initialize to represent a property conflict, and return it. - Set the @c path field of the created struct to @a path, the @c access - field to @a adm_access, the @c kind field to @c - svn_wc_conflict_kind_prop, the @c node_kind to @a node_kind, and the @c - property_name to @a property_name. Make only shallow copies of the pointer - arguments. + Set the @c local_abspath field of the created struct to @a local_abspath + (which must be an absolute path), the @c kind field + to #svn_wc_conflict_kind_prop, the @c node_kind to @a node_kind, and + the @c property_name to @a property_name. @note: It is the caller's responsibility to set the other required fields (such as the four file names and @c action and @c reason). - @since New in 1.6. + @since New in 1.7. - Allocate an @c svn_wc_conflict_description_t structure in @a pool, +Similar to svn_wc_conflict_description_create_text2(), but returns + * a #svn_wc_conflict_description_t *. + * + * @since New in 1.6. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Allocate an #svn_wc_conflict_description_t structure in @a result_pool, initialize to represent a text conflict, and return it. - Set the @c path field of the created struct to @a path, the @c access - field to @a adm_access, the @c kind field to @c - svn_wc_conflict_kind_text, the @c node_kind to @c svn_node_file, the @c - action to @c svn_wc_conflict_action_edit, and the @c reason to @c - svn_wc_conflict_reason_edited. Make only shallow copies of the pointer - arguments. + Set the @c local_abspath field of the created struct to @a local_abspath + (which must be an absolute path), the @c kind field to + #svn_wc_conflict_kind_text, the @c node_kind to #svn_node_file, + the @c action to #svn_wc_conflict_action_edit, and the @c reason to + #svn_wc_conflict_reason_edited. - @note: It is the caller's responsibility to set the other required fields + @note It is the caller's responsibility to set the other required fields (such as the four file names and @c mime_type and @c is_binary). - @since New in 1.6. + @since New in 1.7. @@ -5470,32 +7227,119 @@ The node type of the path being operated on (for a tree conflict, The path that is in conflict (for a tree conflict, it is the victim) -A struct that describes a conflict that has occurred in the - * working copy. Passed to @c svn_wc_conflict_resolver_func_t. - * - * The conflict described by this structure is one of: - * - a conflict on the content of the file node @a path - * - a conflict on the property @a property_name of @a path - * - * @note Fields may be added to the end of this structure in future - * versions. Therefore, to preserve binary compatibility, users - * should not directly allocate structures of this type but should use - * svn_wc_create_conflict_description_text() or - * svn_wc_create_conflict_description_prop() or - * svn_wc_create_conflict_description_tree() instead. +Similar to #svn_wc_conflict_description2_t, but with relative paths and + * adm_access batons. Passed to #svn_wc_conflict_resolver_func_t. * * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. - -Return a duplicate of @a version, allocated in @a pool. - * No part of the new version will be shared with @a version. - * - * @since New in 1.6. + +Info on the "merge-right source" or "their" version of incoming change. + + +Info on the "merge-left source" or "older" version of incoming change. + + +The operation that exposed the conflict. + * Used only for tree conflicts. + + + +merged version; may contain conflict markers + + +my locally-edited version of the file + + +their version of the file + + +If this is text-conflict and involves the merging of two files + * descended from a common ancestor, here are the paths of up to + * four fulltext files that can be used to interactively resolve the + * conflict. + * + * @a base_abspath, @a their_abspath and @a my_abspath are absolute + * paths. + * + * ### Is @a merged_file relative to some directory, or absolute? + * + * All four files will be in repository-normal form -- LF + * line endings and contracted keywords. (If any of these files are + * not available, they default to NULL.) + * + * On the other hand, if this is a property-conflict, then these + * paths represent temporary files that contain the three different + * property-values in conflict. The fourth path (@c merged_file) + * may or may not be NULL; if set, it represents libsvn_wc's + * attempt to merge the property values together. (Remember that + * property values are technically binary values, and thus can't + * always be merged.) + + + +The state of the target node or property, relative to its merge-left + * source, that is the reason for the conflict. + * (When @c kind is 'text', this reason must be 'edited'.) + + +The action being attempted on the conflicted node or property. + * (When @c kind is 'text', this action must be 'edit'.) + + +The svn:mime-type property of ('my' version of) @c path, if available, + * else NULL. + * (Only if @c kind is 'text', else undefined.) + + +Whether svn thinks ('my' version of) @c path is a 'binary' file. + * (Only if @c kind is 'text', else undefined.) + + +The name of the property whose conflict is being described. + * (Only if @a kind is 'property'; else undefined.) + + +What sort of conflict are we describing? + + +The node type of the path being operated on (for a tree conflict, + * ### which version?) + + +The path that is in conflict (for a tree conflict, it is the victim) + + +A struct that describes a conflict that has occurred in the + * working copy. + * + * The conflict described by this structure is one of: + * - a conflict on the content of the file node @a local_abspath + * - a conflict on the property @a property_name of @a local_abspath + * - a tree conflict, of which @a local_abspath is the victim + * Be aware that the victim of a tree conflict can be a non-existent node. + * The three kinds of conflict are distinguished by @a kind. + * + * @note Fields may be added to the end of this structure in future + * versions. Therefore, to preserve binary compatibility, users + * should not directly allocate structures of this type but should use + * svn_wc_create_conflict_description_text2() or + * svn_wc_create_conflict_description_prop2() or + * svn_wc_create_conflict_description_tree2() instead. + * + * @since New in 1.7. + + + +Return a duplicate of @a version, allocated in @a pool. + * No part of the new version will be shared with @a version. + * + * @since New in 1.6. - Allocate an @c svn_wc_conflict_version_t structure in @a pool, + Allocate an #svn_wc_conflict_version_t structure in @a pool, initialize to contain a conflict origin, and return it. Set the @c repos_url field of the created struct to @a repos_url, the @@ -5546,8 +7390,8 @@ The user operation that exposed a conflict. -The type of conflict being described by an @c - * svn_wc_conflict_description_t (see below). +The type of conflict being described by an + * #svn_wc_conflict_description2_t (see below). * * @since New in 1.5. @@ -5566,6 +7410,9 @@ The pre-existing condition which is causing a state of conflict. * * @since New in 1.5. + + +Object is already replaced. @since New in 1.7. Object is already added or schedule-add. @since New in 1.6. @@ -5586,10 +7433,10 @@ Another object is in the way Local edits are already present +@} Interactive conflict handling @defgroup svn_wc_conflict Conflict callback functionality - @{ This API gives a Subversion client application the opportunity to @@ -5597,7 +7444,7 @@ Local edits are already present interactively during updates and merges. If a conflict is discovered, libsvn_wc invokes the callback with an - @c svn_wc_conflict_description_t. This structure describes the + #svn_wc_conflict_description_t. This structure describes the path in conflict, whether it's a text or property conflict, and may also present up to three files that can be used to resolve the conflict (perhaps by launching an editor or 3rd-party merging @@ -5609,7 +7456,7 @@ Local edits are already present series of multi-line text.) When the callback is finished interacting with the user, it - responds by returning a @c svn_wc_conflict_result_t. This + responds by returning a #svn_wc_conflict_result_t. This structure indicates whether the user wants to postpone the conflict for later (allowing libsvn_wc to mark the path "conflicted" as usual), or whether the user wants libsvn_wc to use one of the four @@ -5617,7 +7464,7 @@ Local edits are already present Note that the callback is at liberty (and encouraged) to merge the three files itself. If it does so, it signals this to libsvn_wc by - returning a choice of @c svn_wc_conflict_choose_merged. To return + returning a choice of #svn_wc_conflict_choose_merged. To return the 'final' merged file to libsvn_wc, the callback has the option of either: @@ -5626,28 +7473,16 @@ Local edits are already present or, if libsvn_wc never supplied a merged_file in the description structure (i.e. passed NULL for that field), - - return the merged file in the @c svn_wc_conflict_result_t. + - return the merged file in the #svn_wc_conflict_result_t. The type of action being attempted on an object. * * @since New in 1.5. - - -@} - A simple callback type to wrap svn_ra_get_file(); see that - docstring for more information. - - This technique allows libsvn_client to 'wrap' svn_ra_get_file() and - pass it down into libsvn_wc functions, thus allowing the WC layer - to legally call the RA function via (blind) callback. - - @since New in 1.5 - - Similar to @c svn_wc_notify_func2_t, but takes the information as arguments + Similar to #svn_wc_notify_func2_t, but takes the information as arguments instead of struct fields. @deprecated Provided for backward compatibility with the 1.1 API. @@ -5656,14 +7491,14 @@ The type of action being attempted on an object. Notify the world that @a notify->action has happened to @a notify->path. - Recommendation: callers of @c svn_wc_notify_func2_t should avoid + Recommendation: callers of #svn_wc_notify_func2_t should avoid invoking it multiple times on the same path within a given operation, and implementations should not bother checking for such duplicate calls. For example, in an update, the caller should not invoke the notify func on receiving a prop change and then again on receiving a text change. Instead, wait until all changes have been received, and then invoke the notify func once (from within - an @c svn_delta_editor_t's close_file(), for example), passing + an #svn_delta_editor_t's close_file(), for example), passing the appropriate @a notify->content_state and @a notify->prop_state flags. @since New in 1.2. @@ -5676,11 +7511,11 @@ The type of action being attempted on an object. - Allocate an @c svn_wc_notify_t structure in @a pool, initialize and return + Allocate an #svn_wc_notify_t structure in @a pool, initialize and return it. - Set the @c url field of the created struct to @a url, @c action to, @c path - to "." and @a action. Set all other fields to their @c _unknown, @c NULL or + Set the @c url field of the created struct to @a url, @c path to "." and @c + action to @a action. Set all other fields to their @c _unknown, @c NULL or invalid value, respectively. Make only a shallow copy of the pointer @a url. @@ -5688,7 +7523,7 @@ The type of action being attempted on an object. - Allocate an @c svn_wc_notify_t structure in @a pool, initialize and return + Allocate an #svn_wc_notify_t structure in @a pool, initialize and return it. Set the @c path field of the created struct to @a path, and @c action to @@ -5698,16 +7533,30 @@ The type of action being attempted on an object. @since New in 1.2. + + +The fuzz factor the hunk was applied with. + * @since New in 1.7 + + +The line at which a hunk was matched (and applied). + * @since New in 1.7. + + +These fields are used by svn patch to identify the + * hunk the notification is for. They are line-based + * offsets and lengths parsed from the unidiff hunk header. + * @since New in 1.7. -If @c action is @c svn_wc_notify_update_update or @c - * svn_wc_notify_update_add, contains the revision before the update. - * In all other cases, it is @c SVN_INVALID_REVNUM. +If @c action is #svn_wc_notify_update_update or + * #svn_wc_notify_update_add, contains the revision before the update. + * In all other cases, it is #SVN_INVALID_REVNUM. * @since New in 1.7 -If @c action is @c svn_wc_notify_blame_revision, contains a list of - * revision properties for the specified revision +If @c action is #svn_wc_notify_blame_revision, contains a list of + * revision properties for the specified revision * @since New in 1.6 @@ -5725,21 +7574,21 @@ Similar to @c path, but if non-NULL the notification is about a url. * @since New in 1.6 -When @c action is @c svn_wc_notify_merge_begin, and both the +When @c action is #svn_wc_notify_merge_begin, and both the * left and right sides of the merge are from the same URL. In all * other cases, it is @c NULL. @since New in 1.5 -When @c action is @c svn_wc_notify_changelist_add or name. In all other - * cases, it is @c NULL. @since New in 1.5 +If @c action pertains to a changelist, this is the changelist name. + * In all other cases, it is @c NULL. @since New in 1.5 -When @c action is @c svn_wc_notify_update_completed, target revision - * of the update, or @c SVN_INVALID_REVNUM if not available; when @c - * action is @c svn_wc_notify_blame_revision, processed revision; Since - * Subversion 1.7 when action is @c svn_wc_notify_update_update or @c - * svn_wc_notify_update_add, the target revision. - * In all other cases, it is @c SVN_INVALID_REVNUM. +When @c action is #svn_wc_notify_update_completed, target revision + * of the update, or #SVN_INVALID_REVNUM if not available; when @c + * action is #svn_wc_notify_blame_revision, processed revision; Since + * Subversion 1.7 when action is #svn_wc_notify_update_update or + * #svn_wc_notify_update_add, the target revision. + * In all other cases, it is #SVN_INVALID_REVNUM. @@ -5753,13 +7602,13 @@ The type of notification that is occurring about node content. Points to an error describing the reason for the failure when @c - * action is one of the following: @c svn_wc_notify_failed_lock, @c - * svn_wc_notify_failed_unlock, @c svn_wc_notify_failed_external. + * action is one of the following: #svn_wc_notify_failed_lock, + * #svn_wc_notify_failed_unlock, #svn_wc_notify_failed_external. * Is @c NULL otherwise. Points to the lock structure received from the repository when - * @c action is @c svn_wc_notify_locked. For other actions, it is + * @c action is #svn_wc_notify_locked. For other actions, it is * @c NULL. @@ -5770,23 +7619,23 @@ If non-NULL, indicates the mime-type of @c path. Node kind of @c path. -Action that describes what happened to @c path. +Action that describes what happened to #svn_wc_notify_t.path. Path, either absolute or relative to the current working directory - * (i.e., not relative to an anchor).@c path is "." or another valid path - * value for compatibilty reasons when the real target is an url that + * (i.e., not relative to an anchor). @c path is "." or another valid path + * value for compatibility reasons when the real target is an url that * is available in @c url. - Structure used in the @c svn_wc_notify_func2_t function. + Structure used in the #svn_wc_notify_func2_t function. @c kind, @c content_state, @c prop_state and @c lock_state are from after @c action, not before. - @note If @c action is @c svn_wc_notify_update, then @c path has + @note If @c action is #svn_wc_notify_update (### what?), then @c path has already been installed, so it is legitimate for an implementation of - @c svn_wc_notify_func2_t to examine @c path in the working copy. + #svn_wc_notify_func2_t to examine @c path in the working copy. @note The purpose of the @c kind, @c mime_type, @c content_state, and @c prop_state fields is to provide "for free" information that an @@ -5822,6 +7671,9 @@ The lock wasn't changed. The type of notification that is occurring. + + +The source to copy the file from is missing. Modified state got conflicting mods. @@ -5845,6 +7697,7 @@ The state did not change. Notifier doesn't know or isn't saying. +@} @defgroup svn_wc_notifications Notification callback handling @{ @@ -5857,19 +7710,129 @@ Notifier doesn't know or isn't saying. takes the path of the file that was affected, and a caller- supplied baton. - Note that the callback is a 'void' return -- this is a simple + @note The callback is a 'void' return -- this is a simple reporting mechanism, rather than an opportunity for the caller to alter the operation of the WC library. - Note also that some of the actions are used across several + @note Some of the actions are used across several different Subversion commands. For example, the update actions are also used for checkouts, switches, and merges. The type of action occurring. - -An update tried to add a file or directory at path but an - * unversioned obstruction was found. @since New in 1.7. + +The operation skipped the path because it was conflicted. + * @since New in 1.7. + + +Operation failed because the operation was forbidden by the server. + * @since New in 1.7. + + +Operation failed because a node is locked by another user and/or + * working copy. @since New in 1.7. + + +Operation failed because an added parent is not selected + * @since New in 1.7. + + +Operation failed because a node is out of date + * @since New in 1.7. + + +Operation failed because an added node is missing + * @since New in 1.7. + + +Operation failed because the node remains in conflict + * @since New in 1.7. + + +Removing a path by excluding it. + * @since New in 1.7. + + +The operation was attempted on a path which doesn't exist. + * @since New in 1.7. + + +The server has instructed the client to follow a URL + * redirection. + * @since New in 1.7. + + +Committing an overwriting (replace) copy (path is the target of + * the copy, not the source). + * @since New in 1.7. + + +Committing a non-overwriting copy (path is the target of the + * copy, not the source). + * @since New in 1.7. + + +A hunk from a patch was found to already be applied. + * @since New in 1.7. + + +A hunk from a patch was rejected. + * @since New in 1.7. + + +A hunk from a patch was applied. + * @since New in 1.7. + + +A file in the working copy was patched. + * @since New in 1.7. + + +Mergeinfo was removed due to elision. + * @since New in 1.7. + + +Mergeinfo describing a merge was recorded. + * @since New in 1.7. + + +An working copy directory was upgraded to the latest format + * @since New in 1.7. + + +The mergeinfo on path was updated. @since New in 1.7. + + +A node below an existing node was deleted during update. + * @since New in 1.7. + + +A node below an exising node was updated during update. + * @since New in 1.7. + + +A node below an existing node was added during update. + * @since New in 1.7. + + +An update operation removed an external working copy. + * @since New in 1.7. + + +An update tried to update a file or directory to which access could + * not be obtained. @since New in 1.7. + + +An explicit update tried to update a file or directory that + * doesn't live in the repository and can't be brought in. + * @since New in 1.7. + + +An update tried to add a file or directory at a path where + * a separate working copy was found. @since New in 1.7. + + +Starting an update operation. @since New in 1.7. The path is a subdirectory referenced in an externals definition @@ -5906,15 +7869,16 @@ Replace notification. @since New in 1.5. A merge operation (to path) from a foreign repository has begun. - See @c merge_range in @c svn_wc_notify_t. @since New in 1.5. + See #svn_wc_notify_t.merge_range. @since New in 1.5. -A merge operation (to path) has begun. See @c merge_range in - @c svn_wc_notify_t. @since New in 1.5. +A merge operation (to path) has begun. See #svn_wc_notify_t.merge_range. + @since New in 1.5. Warn user that a path has moved from one changelist to another. - @since New in 1.5. + @since New in 1.5. + @deprecated As of 1.7, separate clear and set notifications are sent. Changelist name cleared. @since New in 1.5. @@ -6011,9 +7975,9 @@ Adding a path to revision control. Similar to svn_wc_parse_externals_description3() with @a - canonicalize_url set to @c TRUE, but returns an array of @c - svn_wc_external_item_t * objects instead of @c - svn_wc_external_item2_t * objects + canonicalize_url set to @c TRUE, but returns an array of + #svn_wc_external_item_t * objects instead of + #svn_wc_external_item2_t * objects @since New in 1.1. @@ -6022,17 +7986,24 @@ Adding a path to revision control. If @a externals_p is non-NULL, set @a *externals_p to an array of - @c svn_wc_external_item2_t * objects based on @a desc. The @a url - member of the objects will be canonicalized if @a canonicalize_url - is @c TRUE. + #svn_wc_external_item2_t * objects based on @a desc. If the format of @a desc is invalid, don't touch @a *externals_p and - return @c SVN_ERR_CLIENT_INVALID_EXTERNALS_DESCRIPTION. Thus, if + return #SVN_ERR_CLIENT_INVALID_EXTERNALS_DESCRIPTION. Thus, if you just want to check the validity of an externals description, and don't care about the parsed result, pass NULL for @a externals_p. The format of @a desc is the same as for values of the directory - property @c SVN_PROP_EXTERNALS, which see. + property #SVN_PROP_EXTERNALS. Look there for more details. + + If @a canonicalize_url is @c TRUE, canonicalize the @a url member + of those objects. If the @a url member refers to an absolute URL, + it will be canonicalized as URL consistent with the way URLs are + canonicalized throughout the Subversion API. If, however, the + @a url member makes use of the recognized (and proprietary) + relative URL syntax, "canonicalization" is a less easily-defined + concept which may even result in munging the relative URL syntax + beyond recognition. You've been warned. Allocate the table, keys, and values in @a pool. @@ -6051,13 +8022,13 @@ Adding a path to revision control. -Same as @c svn_wc_external_item2_t.revision +Same as #svn_wc_external_item2_t.revision -Same as @c svn_wc_external_item2_t.url +Same as #svn_wc_external_item2_t.url -Same as @c svn_wc_external_item2_t.target_dir +Same as #svn_wc_external_item2_t.target_dir One external item. Similar to svn_wc_external_item2_t, except @@ -6079,7 +8050,7 @@ Same as @c svn_wc_external_item2_t.target_dir Set @a *item to an external item object, allocated in @a pool. In order to avoid backwards compatibility problems, this function - is used to initialize and allocate the @c svn_wc_external_item2_t + is used to initialize and allocate the #svn_wc_external_item2_t structure rather than doing so explicitly, as the size of this structure may change in the future. @@ -6140,7 +8111,10 @@ Set @a *depths to a hash table mapping const char * * * The hashes and keys have the same lifetime as @a traversal_info. * + * New code should use the svn_wc_external_update_t callback instead. + * * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -6162,10 +8136,19 @@ Set @a *externals_old and @a *externals_new to hash tables representing * of the property did not change show the same value in each hash. * * The hashes, keys, and values have the same lifetime as @a traversal_info. + * + * New code should use the svn_wc_external_update_t callback instead. + * + * @deprecated Provided for backward compatibility with the 1.6 API. -Return a new, empty traversal info object, allocated in @a pool. +Return a new, empty traversal info object, allocated in @a pool. + * + * New code should use the svn_wc_external_update_t callback instead. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + Traversal information is information gathered by a working copy @@ -6175,7 +8158,25 @@ Traversal information is information gathered by a working copy * during the initial crawl, and a traversal of changed paths during * the checkout/update/switch), it makes sense to gather the * property's values then instead of making a second pass. + * + * New code should use the svn_wc_external_update_t callback instead. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +@} +@defgroup svn_wc_externals Externals +@{ +Callback for external definitions updates + * + * @a local_abspath is the path on which the external definition was found. + * @a old_val and @a new_val are the before and after values of the + * SVN_PROP_EXTERNALS property. @a depth is the ambient depth of the + * working copy directory at @a local_abspath. + * + * @since New in 1.7. Use @a name for the administrative directory in the working copy. @@ -6202,6 +8203,19 @@ Traversal information is information gathered by a working copy +@defgroup svn_wc_adm_dir_name Name of Subversion's admin dir +@{ + +The default name of the administrative subdirectory. + * + * Ideally, this would be completely private to wc internals (in fact, + * it used to be that adm_subdir() in adm_files.c was the only function + * who knew the adm subdir's name). However, import wants to protect + * against importing administrative subdirs, so now the name is a + * matter of public record. + * + * @deprecated Provided for backward compatibility with the 1.2 API. + Return @c TRUE if @a name is the name of the WC administrative directory. Use @a pool for any temporary allocations. Only works with base directory names, not paths or URIs. @@ -6214,19 +8228,55 @@ Traversal information is information gathered by a working copy -Set @a *locked to non-zero if @a path is locked, else set it to zero. +Set @a *locked to non-zero if @a path is locked, else set it to zero. + * + * New code should use svn_wc_locked2() instead. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +@} +Gets up to two booleans indicating whether a path is locked for + * writing. + * + * @a locked_here is set to TRUE when a write lock on @a local_abspath + * exists in @a wc_ctx. @a locked is set to TRUE when there is a + * write_lock on @a local_abspath + * + * @a locked_here and/or @a locked can be NULL when you are not + * interested in a specific value + * + * @since New in 1.7. + Return @c TRUE is the access baton @a adm_access has a write lock, * @c FALSE otherwise. Compared to svn_wc_locked() this is a cheap, fast * function that doesn't access the filesystem. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + * New code should use svn_wc_locked2() instead. -Return the pool used by access baton @a adm_access +Return the pool used by access baton @a adm_access. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + -Return the path used to open the access baton @a adm_access +Return the path used to open the access baton @a adm_access. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Similar to svn_wc_adm_close2(), but with the internal pool of @a adm_access + used for temporary allocations. + + @deprecated Provided for backward compatibility with the 1.5 API. + Give up the access baton @a adm_access, and its lock if any. This will @@ -6238,6 +8288,7 @@ Give up the access baton @a adm_access, and its lock if any. This will * Any temporary allocations are performed using @a scratch_pool. * * @since New in 1.6 + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -6264,7 +8315,7 @@ Give up the access baton @a adm_access, and its lock if any. This will this time passing @a write_lock and @a levels_to_lock. If there is still no access because @a path is not a versioned directory, then just set @a *adm_access to NULL and return success. But if it is - because @a path is locked, then return the error @c SVN_ERR_WC_LOCKED, + because @a path is locked, then return the error #SVN_ERR_WC_LOCKED, and the effect on @a *adm_access is undefined. (Or if the attempt fails for any other reason, return the corresponding error, and the effect on @a *adm_access is also undefined.) @@ -6273,11 +8324,12 @@ Give up the access baton @a adm_access, and its lock if any. This will @a associated. If @a cancel_func is non-NULL, call it with @a cancel_baton to determine - if the client has cancelled the operation. + if the client has canceled the operation. Use @a pool only for local processing, not to allocate @a *adm_access. @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. @@ -6287,6 +8339,8 @@ Check the working copy to determine the node type of @a path. If * directory, or does not exist, then the behaviour is like that of * svn_wc_adm_retrieve() with @a path replaced by the parent directory of * @a path. + * + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -6295,9 +8349,11 @@ Return, in @a *adm_access, a pointer to an existing access baton associated * set containing the @a associated access baton. * * If the requested access baton is marked as missing in, or is simply - * absent from, @a associated, return SVN_ERR_WC_NOT_LOCKED. + * absent from, @a associated, return #SVN_ERR_WC_NOT_LOCKED. * * @a pool is used only for local processing, it is not used for the batons. + * + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -6310,16 +8366,19 @@ Return, in @a *adm_access, a pointer to an existing access baton associated @a levels_to_lock determines the levels_to_lock used when opening @a path if @a path is a versioned directory, @a levels_to_lock is - ignored otherwise. If @a write_lock is @c TRUE the access batons + ignored otherwise. If @a write_lock is @c TRUE the access batons will hold write locks. If @a cancel_func is non-NULL, call it with @a cancel_baton to determine - if the client has cancelled the operation. + if the client has canceled the operation. This function is essentially a combination of svn_wc_adm_open3() and svn_wc_get_actual_target(), with the emphasis on reducing physical IO. @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + Callers should use a #svn_wc_context_t object to access the working + copy. @@ -6345,10 +8404,13 @@ Return, in @a *adm_access, a pointer to an existing access baton associated @a path replaced by the parent directory of @a path. If @a path is an unversioned directory, the behaviour is also like that of svn_wc_adm_open3() on the parent, except that if the open fails, - then the returned SVN_ERR_WC_NOT_DIRECTORY error refers to @a path, + then the returned #SVN_ERR_WC_NOT_DIRECTORY error refers to @a path, not to @a path's parent. @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + Callers should use a #svn_wc_context_t object to access the working + copy. @@ -6370,8 +8432,8 @@ Return, in @a *adm_access, a pointer to an existing access baton associated copy administrative area associated with the directory @a path. If @a write_lock is TRUE the baton will include a write lock, otherwise the baton can only be used for read access. If @a path refers to a directory - that is already write locked then the error @c SVN_ERR_WC_LOCKED will be - returned. The error @c SVN_ERR_WC_NOT_DIRECTORY will be returned if + that is already write locked then the error #SVN_ERR_WC_LOCKED will be + returned. The error #SVN_ERR_WC_NOT_DIRECTORY will be returned if @a path is not a versioned directory. If @a associated is an open access baton then @a adm_access will be added @@ -6388,11 +8450,11 @@ Return, in @a *adm_access, a pointer to an existing access baton associated requested directories then an error will be returned and @a adm_access will be invalid, with the exception that subdirectories of @a path that are missing from the physical filesystem will not be locked and will not cause - an error. The error @c SVN_ERR_WC_LOCKED will be returned if a + an error. The error #SVN_ERR_WC_LOCKED will be returned if a subdirectory of @a path is already write locked. If @a cancel_func is non-NULL, call it with @a cancel_baton to determine - if the client has cancelled the operation. + if the client has canceled the operation. @a pool will be used to allocate memory for the baton and any subsequently cached items. If @a adm_access has not been closed when the pool is @@ -6405,16 +8467,65 @@ Return, in @a *adm_access, a pointer to an existing access baton associated the root of the hierarchy. @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + Callers should use a #svn_wc_context_t object to access the working + copy. +@} + Locking/Opening/Closing using adm access batons. + + @defgroup svn_wc_adm_access Adm access batons (deprecated) + @{ + +Baton for access to a working copy administrative area. + * + * Access batons can be grouped into sets, by passing an existing open + * baton when opening a new baton. Given one baton in a set, other batons + * may be retrieved. This allows an entire hierarchy to be locked, and + * then the set of batons can be passed around by passing a single baton. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + * New code should use a #svn_wc_context_t object to access the working + * copy. + + + +Destroy the working copy context described by @a wc_ctx, releasing any + * acquired resources. + * + * @since New in 1.7. + + + +Create a context for the working copy, and return it in @a *wc_ctx. This + * context is not associated with a particular working copy, but as operations + * are performed, will load the appropriate working copy information. + * + * @a config should hold the various configuration options that may apply to + * this context. It should live at least as long as @a result_pool. It may + * be @c NULL. + * + * The context will be allocated in @a result_pool, and will use @a + * result_pool for any internal allocations requiring the same longevity as + * the context. The context will be automatically destroyed, and its + * resources released, when @a result_pool is cleared, or it may be manually + * destroyed by invoking svn_wc_context_destroy(). + * + * Use @a scratch_pool for temporary allocations. It may be cleared + * immediately upon returning from this function. + * + * @since New in 1.7. + + + @defgroup svn_wc Working copy management @{ -Flags for use with svn_wc_translated_file2 +Flags for use with svn_wc_translated_file2() and svn_wc_translated_stream(). * * @defgroup translate_flags Translation flags - * * @{ Translate from Normal Form. @@ -6425,12 +8536,12 @@ Translate from Normal Form. * specifies to take the latter form as input and transform it * to the former. * - * Either this flag or @c SVN_WC_TRANSLATE_TO_NF should be specified, + * Either this flag or #SVN_WC_TRANSLATE_TO_NF should be specified, * but not both. Translate to Normal Form. * - * Either this flag or @c SVN_WC_TRANSLATE_FROM_NF should be specified, + * Either this flag or #SVN_WC_TRANSLATE_FROM_NF should be specified, * but not both. Force repair of eol styles, making sure the output file consistently @@ -6449,14 +8560,22 @@ Use a non-wc-local tmp directory for creating output files, * @since New in 1.4. @} -Baton for access to a working copy administrative area. +@defgroup svn_wc_context Working copy context +@{ + +The context for all working copy interactions. * - * One day all such access will require a baton, we're not there yet. + * This is the client-facing datastructure API consumers are required + * to create and use when interacting with a working copy. Multiple + * contexts can be created for the same working copy simultaneously, within + * the same process or different processes. Context mutexing will be handled + * internally by the working copy library. * - * Access batons can be grouped into sets, by passing an existing open - * baton when opening a new baton. Given one baton in a set, other batons - * may be retrieved. This allows an entire hierarchy to be locked, and - * then the set of batons can be passed around by passing a single baton. + * @note: #svn_wc_context_t should be passed by non-const pointer in all + * APIs, even for read-only operations, as it contains mutable data (caching, + * etc.). + * + * @since New in 1.7. @@ -6696,11 +8815,34 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") @since New in 1.5. + The capability of specifying (and atomically verifying) expected + preexisting values when modifying revprops. + + @since New in 1.7. + +@} Append a textual list of all available RA modules to the stringbuf @a output. @since New in 1.2. + + + @defgroup Capabilities Dynamically query the server's capabilities. + + @{ + + Set @a *has to TRUE if the server represented by @a session has + @a capability (one of the capabilities beginning with + @c "SVN_RA_CAPABILITY_"), else set @a *has to FALSE. + + If @a capability isn't recognized, throw @c SVN_ERR_UNKNOWN_CAPABILITY, + with the effect on @a *has undefined. + + Use @a pool for all allocation. + + @since New in 1.5. + Given @a path at revision @a peg_revision, set @a *revision_deleted to the @@ -6717,19 +8859,6 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") @since New in 1.6. - - - Set @a *has to TRUE if the server represented by @a session has - @a capability (one of the capabilities beginning with - @c "SVN_RA_CAPABILITY_"), else set @a *has to FALSE. - - If @a capability isn't recognized, throw @c SVN_ERR_UNKNOWN_CAPABILITY, - with the effect on @a *has undefined. - - Use @a pool for all allocation. - - @since New in 1.5. - Replay the changes from @a revision through @a editor and @a edit_baton. @@ -6779,9 +8908,22 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") + Similar to svn_ra_get_locks2(), but with @a depth always passed as + #svn_depth_infinity. + + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + + + Set @a *locks to a hashtable which represents all locks on or below @a path. + @a depth limits the returned locks to those associated with paths + within the specified depth of @a path, and must be one of the + following values: #svn_depth_empty, #svn_depth_files, + #svn_depth_immediates, or #svn_depth_infinity. + The hashtable maps (const char *) absolute fs paths to (const svn_lock_t *) structures. The hashtable -- and all keys and values -- are allocated in @a pool. @@ -6793,7 +8935,7 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") server doesn't implement it, an @c SVN_ERR_RA_NOT_IMPLEMENTED error is returned. - @since New in 1.2. + @since New in 1.7. @@ -6861,7 +9003,7 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") - Similiar to svn_ra_get_file_revs2(), but with @a include_merged_revisions + Similar to svn_ra_get_file_revs2(), but with @a include_merged_revisions set to FALSE. @since New in 1.2. @@ -6887,8 +9029,9 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") empty file. In the following calls, the delta will be against the fulltext contents for the previous call. - If @a include_merged_revisions is TRUE, revisions which a included as a - result of a merge between @a start and @a end will be included. + If @a include_merged_revisions is TRUE, revisions which are + included as a result of a merge between @a start and @a end will be + included. @note This functionality is not available in pre-1.1 servers. If the server doesn't implement it, an alternative (but much slower) @@ -6917,7 +9060,7 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") @since New in 1.5. - + Set @a *locations to the locations (at the repository revisions @a location_revisions) of the file identified by @a path in @a peg_revision. @a path is relative to the URL to which @@ -7008,7 +9151,7 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") If @a limit is non-zero only invoke @a receiver on the first @a limit logs. - If @a discover_changed_paths, then each call to receiver passes a + If @a discover_changed_paths, then each call to @a receiver passes a const apr_hash_t * for the receiver's @a changed_paths argument; the hash's keys are all the paths committed in that revision. Otherwise, each call to receiver passes NULL for @a changed_paths. @@ -7153,7 +9296,10 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") represented by the @a session's URL, or empty if the entire directory is meant to be examined. - Get status only as deeply as @a depth indicates. + Get status as deeply as @a depth indicates. If @a depth is + #svn_depth_unknown, get the status down to the ambient depth of the + working copy. If @a depth is deeper than the working copy, include changes + that would be needed to populate the working copy to that depth. The caller may not perform any RA operations using @a session before finishing the report, and may not perform any RA operations @@ -7404,8 +9550,8 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") or @c SVN_PROP_REVISION_AUTHOR. 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 const char *), commit author (as a + it will invoke @a callback (if non-NULL) with the new revision number, + the commit date (as a const char *), commit author (as a const char *), and @a callback_baton as arguments. If @a callback returns an error, that error will be returned from @c close_edit, otherwise @c close_edit will return successfully @@ -7452,16 +9598,36 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") + Similar to svn_ra_change_rev_prop2(), but with @a old_value_p set + to @c NULL. + + @since New in 1.2. + @deprecated Provided for backward compatibility with the 1.6 API. + + + Set the property @a name to @a value on revision @a rev in the repository of @a session. If @a value is @c NULL, delete the named revision property. + If the server advertises the #SVN_RA_CAPABILITY_ATOMIC_REVPROPS capability + and @a old_value_p is not @c NULL, then changing the property will fail with + an error chain that contains #SVN_ERR_FS_PROP_BASEVALUE_MISMATCH if the + present value of the property is not @a *old_value_p. (This is an atomic + test-and-set). + @a *old_value_p may be @c NULL, representing that the property must be not + already set. + + If the capability is not advertised, then @a old_value_p MUST be @c NULL. + Please note that properties attached to revisions are @em unversioned. Use @a pool for memory allocation. - @since New in 1.2. + @see svn_fs_change_rev_prop2(), svn_error_find_cause(). + + @since New in 1.7. @@ -7480,10 +9646,35 @@ The proper name of the RA library, (like "ra_neon" or "ra_local") @since New in 1.2. + + +Convert @a url into a path relative to the repository root URL of + * the repository with which @a ra_session is associated, setting @a + * *rel_path to that value. If @a url is not a child of repository + * root URL, return @c SVN_ERR_RA_ILLEGAL_URL. + * + * The returned path is uri decoded to allow using it with the ra or other + * apis as a valid relpath. + * + * @since New in 1.7. + + + +Convert @a url into a path relative to the URL at which @a ra_session + * is parented, setting @a *rel_path to that value. If @a url is not + * a child of the session URL, return @c SVN_ERR_RA_ILLEGAL_URL. + * + * The returned path is uri decoded to allow using it with the ra or other + * apis as a valid relpath. + * + * @since New in 1.7. + Set @a *url to the repository URL to which @a ra_session was * opened or most recently reparented. + * + * @since New in 1.5. @@ -7504,15 +9695,34 @@ Change the root URL of an open @a ra_session to point to a new path in the - Similiar to svn_ra_open3(), but with @a uuid set to @c NULL. + Similar to svn_ra_open3(), but with @a uuid set to @c NULL. @since New in 1.3. @deprecated Provided for backward compatibility with the 1.4 API. - Open a repository session to @a repos_URL. Return an opaque object - representing this session in @a *session_p, allocated in @a pool. +Similar to svn_ra_open4(), but with @a corrected_url always passed + * as @c NULL. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + + Open a repository access session to the repository at @a repos_URL, + or inform the caller regarding a correct URL by which to access + that repository. + + If @a repos_URL can be used successfully to access the repository, + set @a *session_p to an opaque object representing a repository + session for the repository and (if @a corrected_url is non-NULL) + set @a *corrected_url to NULL. If there's a better URL that the + caller should try and @a corrected_url is non-NULL, set + @a *session_p to NULL and @a *corrected_url to the corrected URL. If + there's a better URL that the caller should try, and @a + corrected_url is NULL, return an #SVN_ERR_RA_SESSION_URL_MISMATCH + error. Allocate all returned items in @a pool. Return @c SVN_ERR_RA_UUID_MISMATCH if @a uuid is non-NULL and not equal to the UUID of the repository at @c repos_URL. @@ -7529,7 +9739,7 @@ Change the root URL of an open @a ra_session to point to a new path in the @see svn_client_open_ra_session(). - @since New in 1.5. + @since New in 1.7. @@ -7572,7 +9782,7 @@ Client string customization callback function -Cancelation function +Cancellation function * * As its baton, the general callback baton is used * @@ -7618,7 +9828,7 @@ Open a unique temporary file for writing in the working copy. A collection of callbacks implemented by libsvn_client which allows * an RA layer to "pull" information from the client application, or * possibly store information. libsvn_client passes this vtable to - * svn_ra_open3(). + * svn_ra_open4(). * * Each routine takes a @a callback_baton originally provided with the * vtable. @@ -7725,7 +9935,7 @@ Describe a working copy @a path as being at a particular * implementor should assume the directory has no entries or props. * * This will *override* any previous set_path() calls made on parent - * paths. @a path is relative to the URL specified in svn_ra_open3(). + * paths. @a path is relative to the URL specified in svn_ra_open4(). * * If @a lock_token is non-NULL, it is the lock token for @a path in the WC. * @@ -7844,6 +10054,8 @@ A function type which allows the RA layer to ask about any * customizations to the client name string. This is primarily used * by HTTP-based RA layers wishing to extend the string reported to * Apache/mod_dav_svn via the User-agent HTTP header. + * + * @since New in 1.5. @@ -7891,7 +10103,7 @@ This is a function type which allows the RA layer to fetch working * @a close_baton as appropriate. * * @a path is relative to the "root" of the session, defined by the - * @a repos_URL passed to svn_ra_open3() vtable call. + * @a repos_URL passed to svn_ra_open4() vtable call. * * @a name is the name of the property to fetch. If the property is present, * then it is returned in @a value. Otherwise, @a *value is set to @c NULL. @@ -7910,10 +10122,16 @@ Return the appropriate @c svn_mergeinfo_inheritance_t for @a word. * * @since New in 1.5. + + + The three ways to request mergeinfo affecting a given path. + + @since New in 1.5. + Mergeinfo on target's nearest (path-wise, not history-wise) - ancestor, regardless of whether target has explict mergeinfo. + ancestor, regardless of whether target has explicit mergeinfo. Explicit mergeinfo, or if that doesn't exist, the inherited @@ -7923,7 +10141,7 @@ Explicit mergeinfo, or if that doesn't exist, the inherited Explicit mergeinfo only. - + Return a deep copy of @a rangelist, allocated in @a pool. * * @since New in 1.5. @@ -7952,36 +10170,57 @@ Take a hash of mergeinfo in @a mergeinfo, and sort the rangelists -Take a mergeinfo in MERGEINPUT, and convert it back to unparsed - * mergeinfo in *OUTPUT. If INPUT contains no elements, return the - * empty string. +Take a mergeinfo in @a mergeinput, and convert it to unparsed + * mergeinfo. Set @a *output to the result, allocated in @a pool. + * If @a input contains no elements, set @a *output to the empty string. + * + * @a mergeinput may contain relative merge source paths, but these are + * converted to absolute paths in @a *output. * * @since New in 1.5. +Like svn_mergeinfo_inheritable2, but always finds inheritable mergeinfo. + * + * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Return a deep copy of @a mergeinfo, excluding all non-inheritable - * @c svn_merge_range_t. If @a start and @a end are valid revisions - * and @a start is less than or equal to @a end, then exclude only the - * non-inheritable revisions that intersect inclusively with the range - * defined by @a start and @a end. If @a path is not NULL remove - * non-inheritable ranges only for @a path. If all ranges are removed - * for a given path then remove that path as well. If all paths are - * removed or @a rangelist is empty then set @a *inheritable_rangelist - * to an empty array. Allocate the copy in @a pool. + * @c svn_merge_range_t if @a inheritable is TRUE or excluding all + * inheritable @c svn_merge_range_t otherwise. If @a start and @a end + * are valid revisions and @a start is less than or equal to @a end, + * then exclude only the non-inheritable revisions that intersect + * inclusively with the range defined by @a start and @a end. If @a path + * is not NULL remove non-inheritable ranges only for @a path. If all + * ranges are removed for a given path then remove that path as well. + * If all paths are removed or @a rangelist is empty then set + * @a *inheritable_rangelist to an empty array. Allocate the copy in + * @a result_pool, use @a scratch_pool for temporary allocations. + * + * @since New in 1.7. + + + +Like svn_rangelist_inheritable2, but always finds inheritable ranges. * * @since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. - + Return a deep copy of @c svn_merge_range_t *'s in @a rangelist excluding - * all non-inheritable @c svn_merge_range_t. If @a start and @a end are valid - * revisions and @a start is less than or equal to @a end, then exclude only the - * non-inheritable revision ranges that intersect inclusively with the range - * defined by @a start and @a end. If @a rangelist contains no elements, return - * an empty array. Allocate the copy in @a pool. + * all non-inheritable @c svn_merge_range_t if @a inheritable is TRUE or + * excluding all inheritable @c svn_merge_range_t otherwise. If @a start and + * @a end are valid revisions and @a start is less than or equal to @a end, + * then exclude only the non-inheritable revision ranges that intersect + * inclusively with the range defined by @a start and @a end. If + * @a rangelist contains no elements, return an empty array. Allocate the + * copy in @a result_pool, use @a scratch_pool for temporary allocations. * - * @since New in 1.5. + * @since New in 1.7. @@ -8004,14 +10243,19 @@ Reverse @a rangelist, and the @c start and @c end fields of each * @since New in 1.5. - + Find the intersection of two rangelists consisting of @c * svn_merge_range_t * elements, @a rangelist1 and @a rangelist2, and * place the result in @a *rangelist (which is never @c NULL). * * @a consider_inheritance determines how to account for the inheritability * of the two rangelist's ranges when calculating the intersection, - * @see svn_mergeinfo_diff(). + * @see svn_mergeinfo_diff(). If @a consider_inheritance is FALSE then + * ranges with different inheritance can intersect, but the the resulting + * @a *rangelist is non-inheritable only if the corresponding ranges from + * both @a rangelist1 and @a rangelist2 are non-inheritable. + * If @a consider_inheritance is TRUE, then ranges with different + * inheritance can never intersect. * * Note: @a rangelist1 and @a rangelist2 must be sorted as said by @c * svn_sort_compare_ranges(). @a *rangelist is guaranteed to be in sorted @@ -8020,14 +10264,25 @@ Find the intersection of two rangelists consisting of @c +Like svn_mergeinfo_intersect2, but always considers inheritance. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Find the intersection of two mergeinfos, @a mergeinfo1 and @a * mergeinfo2, and place the result in @a *mergeinfo, which is (deeply) - * allocated in @a pool. + * allocated in @a result_pool. Temporary allocations will be performed + * in @a scratch_pool. * - * @since New in 1.5. + * @a consider_inheritance determines how to account for the inheritability + * of the two mergeinfo's ranges when calculating the range equivalence, + * @see svn_rangelist_intersect(). + * + * @since New in 1.7. - + Removes @a eraser (the subtrahend) from @a whiteboard (the * minuend), and places the resulting difference in @a output. * @@ -8042,7 +10297,7 @@ Removes @a eraser (the subtrahend) from @a whiteboard (the * @since New in 1.5. - + Merge two rangelists consisting of @c svn_merge_range_t * * elements, @a *rangelist and @a changes, placing the results in * @a *rangelist. Either rangelist may be empty. @@ -8059,7 +10314,7 @@ Merge two rangelists consisting of @c svn_merge_range_t * * @since New in 1.5. - + Calculate the delta between two rangelists consisting of @c * svn_merge_range_t * elements (sorted in ascending order), @a from * and @a to, and place the result in @a *deleted and @a *added @@ -8072,16 +10327,39 @@ Calculate the delta between two rangelists consisting of @c * @since New in 1.5. - + Removes @a eraser (the subtrahend) from @a whiteboard (the * minuend), and places the resulting difference in @a *mergeinfo. + * Allocates @a *mergeinfo in @a result_pool. Temporary allocations + * will be performed in @a scratch_pool. * - * @since New in 1.5. + * @a consider_inheritance determines how to account for the inheritability + * of the two mergeinfo's ranges when calculating the range equivalence, + * as described for svn_mergeinfo_diff(). + * + * @since New in 1.7. + + + +Like svn_mergeinfo_remove2, but always considers inheritance. + * + * @deprecated Provided for backward compatibility with the 1.6 API. + + + +Combine one mergeinfo catalog, @a changes_catalog, into another mergeinfo + * catalog @a mergeinfo_catalog. If both catalogs have mergeinfo for the same + * key, use svn_mergeinfo_merge() to combine the mergeinfos. + * + * Additions to @a mergeinfo_catalog are deep copies allocated in + * @a result_pool. Temporary allocations are made in @a scratch_pool. + * + * @since New in 1.7. -Merge one mergeinfo, @a changes, into another mergeinfo @a - * mergeinfo. +Merge a shallow copy of one mergeinfo, @a changes, into another mergeinfo + * @a mergeinfo. * * When intersecting rangelists for a path are merged, the inheritability of * the resulting svn_merge_range_t depends on the inheritability of the @@ -8132,23 +10410,31 @@ Parse the mergeinfo from @a input into @a *mergeinfo. If no * inheritability are also allowed, but will be combined into a single * range when placed into @a *mergeinfo. * + * @a input may contain relative merge source paths, but these are + * converted to absolute paths in @a *mergeinfo. + * * @since New in 1.5. @copyright ==================================================================== - Copyright (c) 2006-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -8157,17 +10443,22 @@ Parse the mergeinfo from @a input into @a *mergeinfo. If no @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -8176,17 +10467,22 @@ Parse the mergeinfo from @a input into @a *mergeinfo. If no @copyright ==================================================================== - Copyright (c) 2000-2006 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -8261,7 +10557,7 @@ Overview of the @c SVN_PROP_MERGEINFO property. * * If a path has no @c SVN_PROP_MERGEINFO of its own, it inherits mergeinfo * from its nearest parent that has @c SVN_PROP_MERGEINFO set. The - * exception to this is @c SVN_PROP_MERGEINFO with non-ineritable revision + * exception to this is @c SVN_PROP_MERGEINFO with non-inheritable revision * ranges. These non-inheritable ranges apply only to the path which they * are set on. * @@ -8322,15 +10618,14 @@ Terminology for data structures that contain mergeinfo. * mergeinfo. * * (d) @c svn_mergeinfo_catalog_t, called a "mergeinfo catalog". A hash - * mapping paths (@c const char *, starting with slashes) to - * @c svn_mergeinfo_t. + * mapping paths (@c const char *) to @c svn_mergeinfo_t. * * Both @c svn_mergeinfo_t and @c svn_mergeinfo_catalog_t are just * typedefs for @c apr_hash_t *; there is no static type-checking, and * you still use standard @c apr_hash_t functions to interact with * them. * - * Note that while the keys of mergeinfos are always relative to the + * Note that while the keys of mergeinfos are always absolute from the * repository root, the keys of a catalog may be relative to something * else, such as an RA session root. @@ -8682,7 +10977,7 @@ Set an authentication run-time parameter. * To delete a run-time parameter, pass NULL for @a value. - + Initialize an authentication system. * * Return an authentication object in @a *auth_baton (allocated in @a @@ -9230,7 +11525,7 @@ A callback function used in enumerating config options. Similar to svn_config_enumerate2(), but uses a memory pool of - * @a cfg instead of one that is explicitely provided. + * @a cfg instead of one that is explicitly provided. * * @deprecated Provided for backwards compatibility with the 1.2 API. @@ -9266,7 +11561,7 @@ A callback function used in enumerating config sections. Similar to svn_config_enumerate_sections2(), but uses a memory pool of - * @a cfg instead of one that is explicitely provided. + * @a cfg instead of one that is explicitly provided. * * @deprecated Provided for backwards compatibility with the 1.2 API. @@ -9318,7 +11613,7 @@ Add or replace the value of a (@a section, @a option) pair in @a cfg with * * This function invalidates all value expansions in @a cfg. * - * To remove an option, pass NULL for the @c value. + * To remove an option, pass NULL for the @a value. @@ -9345,11 +11640,33 @@ Like svn_config_read(), but merges the configuration data from @a file +Similar to svn_config_read2, but always passes FALSE to + * section_names_case_sensitive. + * + * @deprecated Provided for backward compatibility with 1.6 API. + + + Read configuration data from @a file (a file or registry path) into * @a *cfgp, allocated in @a pool. * * If @a file does not exist, then if @a must_exist, return an error, * otherwise return an empty @c svn_config_t. + * + * If @a section_names_case_sensitive is TRUE, populate section name hashes + * case sensitively, except for the default SVN_CONFIG__DEFAULT_SECTION. + * + * @since New in 1.7. + + + +Set @a *cfgp to an empty @c svn_config_t structure, + * allocated in @a result_pool. + * + * Pass TRUE to @a section_names_case_sensitive if + * section names are to be populated case sensitively. + * + * @since New in 1.7. @@ -9358,12 +11675,14 @@ Strings for the names of files, sections, and options in the client configuration files. @{ +@since New in 1.7. @} @name Repository conf directory configuration files strings * Strings for the names of sections and options in the * repository conf directory configuration files. * @{ +@since New in 1.7. @} Read configuration information from the standard sources and merge it * into the hash @a *cfg_hash. If @a config_dir is not NULL it specifies a @@ -9383,17 +11702,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9402,17 +11726,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9421,17 +11750,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2006 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9487,17 +11821,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9506,17 +11845,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2002-2009 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9525,17 +11869,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9544,17 +11893,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9563,17 +11917,22 @@ Read configuration information from the standard sources and merge it @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -9631,28 +11990,31 @@ Opaque structure describing a set of configuration options. - Parse a working-copy or URL in @a path, extracting any trailing + Parse a working-copy path or URL in @a path, extracting any trailing revision specifier of the form "@rev" from the last component of the path. Some examples would be: - "foo/bar" -> "foo/bar", (unspecified) - "foo/bar@13" -> "foo/bar", (number, 13) - "foo/bar@HEAD" -> "foo/bar", (head) - "foo/bar@{1999-12-31}" -> "foo/bar", (date, 1999-12-31) - "http://a/b@27" -> "http://a/b", (number, 27) - "http://a/b@COMMITTED" -> "http://a/b", (committed) [*] - "http://a/b@{1999-12-31} -> "http://a/b", (date, 1999-12-31) - "http://a/b@%7B1999-12-31%7D -> "http://a/b", (date, 1999-12-31) - "foo/bar@1:2" -> error - "foo/bar@baz" -> error - "foo/bar@" -> "foo/bar", (base) - "foo/bar/@13" -> "foo/bar/", (number, 13) - "foo/bar@@13" -> "foo/bar@", (number, 13) - "foo/@bar@HEAD" -> "foo/@bar", (head) - "foo@/bar" -> "foo@/bar", (unspecified) - "foo@HEAD/bar" -> "foo@HEAD/bar", (unspecified) + - "foo/bar" -> "foo/bar", (unspecified) + - "foo/bar@13" -> "foo/bar", (number, 13) + - "foo/bar@HEAD" -> "foo/bar", (head) + - "foo/bar@{1999-12-31}" -> "foo/bar", (date, 1999-12-31) + - "http://a/b@27" -> "http://a/b", (number, 27) + - "http://a/b@COMMITTED" -> "http://a/b", (committed) [*] + - "http://a/b@{1999-12-31}" -> "http://a/b", (date, 1999-12-31) + - "http://a/b@%7B1999-12-31%7D" -> "http://a/b", (date, 1999-12-31) + - "foo/bar@1:2" -> error + - "foo/bar@baz" -> error + - "foo/bar@" -> "foo/bar", (unspecified) + - "foo/@bar@" -> "foo/@bar", (unspecified) + - "foo/bar/@13" -> "foo/bar/", (number, 13) + - "foo/bar@@13" -> "foo/bar@", (number, 13) + - "foo/@bar@HEAD" -> "foo/@bar", (head) + - "foo@/bar" -> "foo@/bar", (unspecified) + - "foo@HEAD/bar" -> "foo@HEAD/bar", (unspecified) + - "@foo/bar" -> "@foo/bar", (unspecified) + - "@foo/bar@" -> "@foo/bar", (unspecified) [*] Syntactically valid but probably not semantically useful. @@ -9700,7 +12062,7 @@ doing any UTF-8 conversion. Allocate @a *args_p and its values in @a pool. @since New in 1.6. - + The same as svn_opt_args_to_target_array2() except that, in addition, if @a extract_revisions is set, then look for trailing "@rev" syntax on the first two paths. If the first target in @a @@ -9715,7 +12077,7 @@ doing any UTF-8 conversion. Allocate @a *args_p and its values in @a pool. @deprecated Provided for backward compatibility with the 1.1 API. - + This is the same as svn_opt_args_to_target_array3() except that it silently ignores paths that have the same name as a working copy administrative directory. @@ -9725,7 +12087,7 @@ doing any UTF-8 conversion. Allocate @a *args_p and its values in @a pool. @deprecated Provided for backward compatibility with the 1.4 API. - + Pull remaining target arguments from @a os into @a *targets_p, converting them to UTF-8, followed by targets from @a known_targets (which might come from, for example, the "--targets" command line @@ -9901,6 +12263,11 @@ No revision information given. command name or an alias. ### @todo Why does this only print to @c stdout, whereas svn_opt_print_generic_help() gives us a choice? + When printing the description of an option, if the same option code + appears a second time in @a options_table with a different name, then + use that second name as an alias for the first name. This additional + behaviour is new in 1.7. + @since New in 1.5. @@ -9969,7 +12336,7 @@ localized to the current locale if a translation is available. Return pointer to an @c apr_getopt_option_t for the option whose option code is @a code, or @c NULL if no match. @a option_table must end - with an element whose every field is zero. If @c command is non-NULL, + with an element whose every field is zero. If @a command is non-NULL, then return the subcommand-specific option description instead of the generic one, if a specific description is defined. @@ -10052,17 +12419,22 @@ One element of a subcommand dispatch table. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -10071,17 +12443,22 @@ One element of a subcommand dispatch table. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -10109,8 +12486,8 @@ Return, in @a *handler2 and @a *handler2_baton a function/baton that * @note This is used by compatibility wrappers, which exist in more than * Subversion core library. * - * @note @c svn_file_rev_handler_old_t is a placeholder type for both - * @c svn_repos_file_rev_handler_t and @c svn_ra_file_rev_handler_t. It is + * @note #svn_file_rev_handler_old_t is a placeholder type for both + * #svn_repos_file_rev_handler_t and #svn_ra_file_rev_handler_t. It is * reproduced here for dependency reasons. * * @since New in 1.5. @@ -10119,12 +12496,12 @@ Return, in @a *handler2 and @a *handler2_baton a function/baton that The old file rev handler interface. - @note @c svn_file_rev_handler_old_t is a placeholder type for both - @c svn_repos_file_rev_handler_t and @c svn_ra_file_rev_handler_t. It is + @note #svn_file_rev_handler_old_t is a placeholder type for both + #svn_repos_file_rev_handler_t and #svn_ra_file_rev_handler_t. It is reproduced here for dependency reasons. @deprecated This type is provided for the svn_compat_wrap_file_rev_handler() - compatibilty wrapper, and should not be used for new development. + compatibility wrapper, and should not be used for new development. @since New in 1.5. @@ -10155,7 +12532,7 @@ Return, in @a *handler2 and @a *handler2_baton a function/baton that @since New in 1.5. - + Drive @a editor (with its @a edit_baton) in such a way that * each path in @a paths is traversed in a depth-first fashion. As * each path is hit as part of the editor drive, use @a @@ -10208,26 +12585,26 @@ Set @a *editor and @a *edit_baton to an depth-based filtering * wrapped_editor. * * @a requested_depth must be one of the following depth values: - * @c svn_depth_infinity, @c svn_depth_empty, @c svn_depth_files, - * @c svn_depth_immediates, or @c svn_depth_unknown. + * #svn_depth_infinity, #svn_depth_empty, #svn_depth_files, + * #svn_depth_immediates, or #svn_depth_unknown. * - * If filtering is deemed unncessary (or if @a requested_depth is @c - * svn_depth_unknown), @a *editor and @a *edit_baton will be set to @a + * If filtering is deemed unnecessary (or if @a requested_depth is + * #svn_depth_unknown), @a *editor and @a *edit_baton will be set to @a * wrapped_editor and @a wrapped_baton, respectively; otherwise, * they'll be set to new objects allocated from @a pool. * * @note Because the svn_delta_editor_t interface's @c delete_entry() * function doesn't carry node kind information, a depth-based - * filtering editor being asked to filter for @c svn_depth_files but + * filtering editor being asked to filter for #svn_depth_files but * receiving a @c delete_entry() call on an immediate child of the * editor's target is unable to know if that deletion should be * allowed or filtered out -- a delete of a top-level file is okay in * this case, a delete of a top-level subdirectory is not. As such, * this filtering editor takes a conservative approach, and ignores - * top-level deletion requests when filtering for @c svn_depth_files. + * top-level deletion requests when filtering for #svn_depth_files. * Fortunately, most non-depth-aware (pre-1.5) Subversion editor * drivers can be told to drive non-recursively (where non-recursive - * means essentially @c svn_depth_files), which means they won't + * means essentially #svn_depth_files), which means they won't * transmit out-of-scope editor commands anyway. * * @since New in 1.5. @@ -10239,7 +12616,7 @@ Set @a *editor and @a *edit_baton to a cancellation editor that * * The @a editor will call @a cancel_func with @a cancel_baton when each of * its functions is called, continuing on to call the corresponding wrapped - * function if @a cancel_func returns @c SVN_NO_ERROR. + * function if @a cancel_func returns #SVN_NO_ERROR. * * If @a cancel_func is @c NULL, set @a *editor to @a wrapped_editor and * @a *edit_baton to @a wrapped_baton. @@ -10270,11 +12647,15 @@ Return a default delta editor template, allocated in @a pool. The editor-driver has decided to bail out. Allow the editor to * gracefully clean up things if it needs to. + * + * Any temporary allocations may be performed in @a scratch_pool. All delta processing is done. Call this, with the @a edit_baton for * the entire edit. + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10282,6 +12663,8 @@ In the directory represented by @a parent_baton, indicate that * @a path is present as a file in the edit source, but cannot be * conveyed to the edit consumer (perhaps because of authorization * restrictions). + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10295,6 +12678,8 @@ We are done processing a file, whose baton is @a file_baton (set by * checksum of the new fulltext, and the error * SVN_ERR_CHECKSUM_MISMATCH is returned if they do not match. If * there is no new fulltext, @a text_checksum is ignored. + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10307,7 +12692,7 @@ Change the value of a file's property. * The callback is guaranteed to be called exactly once for each property * whose value differs between the start and the end of the edit. * - * All allocations should be performed in @a pool. + * Any temporary allocations may be performed in @a scratch_pool. @@ -10321,7 +12706,8 @@ Apply a text delta, yielding the new revision of a file. * handler; we will then call @a *handler on successive text * delta windows as we receive them. The callback should set * @a *handler_baton to the value we should pass as the @a baton - * argument to @a *handler. + * argument to @a *handler. These values should be allocated within + * @a result_pool. * * @a base_checksum is the hex MD5 digest for the base text against * which the delta is being applied; it is ignored if NULL, and may @@ -10344,8 +12730,11 @@ We are going to make change to a file named @a path, which resides * current revision of the file. * * Allocations for the returned @a file_baton should be performed in - * @a file_pool. It is also typical to save this pool for later usage + * @a result_pool. It is also typical to save this pool for later usage * by @c apply_textdelta and possibly @c close_file. + * + * @note See note about memory usage on @a add_file, which also + * applies here. @@ -10358,8 +12747,18 @@ We are going to add a new file named @a path. The callback can * @a copyfrom_path under @a copyfrom_revision. * * Allocations for the returned @a file_baton should be performed in - * @a file_pool. It is also typical to save this pool for later usage + * @a result_pool. It is also typical to save this pool for later usage * by @c apply_textdelta and possibly @c close_file. + * + * @note Because the editor driver could be employing the "postfix + * deltas" paradigm, @a result_pool could potentially be relatively + * long-lived. Every file baton created by the editor for a given + * editor drive might be resident in memory similtaneously. Editor + * implementations should ideally keep their file batons as + * conservative (memory-usage-wise) as possible, and use @a result_pool + * only for those batons. (Consider using a subpool of @a result_pool + * for scratch work, destroying the subpool before exiting this + * function's implementation.) @@ -10367,6 +12766,8 @@ In the directory represented by @a parent_baton, indicate that * @a path is present as a subdirectory in the edit source, but * cannot be conveyed to the edit consumer (perhaps because of * authorization restrictions). + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10374,6 +12775,8 @@ We are done processing a subdirectory, whose baton is @a dir_baton * (set by @c add_directory or @c open_directory). We won't be using * the baton any more, so whatever resources it refers to may now be * freed. + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10386,7 +12789,7 @@ Change the value of a directory's property. * The callback is guaranteed to be called exactly once for each property * whose value differs between the start and the end of the edit. * - * All allocations should be performed in @a pool. + * Any temporary allocations may be performed in @a scratch_pool. @@ -10398,8 +12801,8 @@ We are going to make changes in a subdirectory (of the directory * revision of the subdirectory. * * Allocations for the returned @a child_baton should be performed in - * @a dir_pool. It is also typical to (possibly) save this pool for later - * usage by @c close_directory. + * @a result_pool. It is also typical to (possibly) save this pool for + * later usage by @c close_directory. @@ -10412,8 +12815,8 @@ We are going to add a new subdirectory named @a path. We will use * @a copyfrom_path under @a copyfrom_revision. * * Allocations for the returned @a child_baton should be performed in - * @a dir_pool. It is also typical to (possibly) save this pool for later - * usage by @c close_directory. + * @a result_pool. It is also typical to (possibly) save this pool for + * later usage by @c close_directory. @@ -10422,7 +12825,7 @@ Remove the directory entry named @a path, a child of the directory * revision number, it is used as a sanity check to ensure that you * are really removing the revision of @a path that you think you are. * - * All allocations should be performed in @a pool. + * Any temporary allocations may be performed in @a scratch_pool. * * @note The @a revision parameter is typically used only for * client->server commit-type operations, allowing the server to @@ -10443,8 +12846,8 @@ Set @a *root_baton to a baton for the top directory of the change. * new target revision set with @c set_target_revision). * * Allocations for the returned @a root_baton should be performed in - * @a dir_pool. It is also typical to (possibly) save this pool for later - * usage by @c close_directory. + * @a result_pool. It is also typical to (possibly) save this pool for + * later usage by @c close_directory. @@ -10455,6 +12858,8 @@ Set the target revision for this edit to @a target_revision. This * operations. It doesn't really make much sense for commit-type * operations, because the revision of a commit isn't known until * the commit is finalized. + * + * Any temporary allocations may be performed in @a scratch_pool. @@ -10502,7 +12907,7 @@ Traversing tree deltas. * * So instead of representing the tree delta explicitly, we define a * standard way for a consumer to process each piece of a tree delta - * as soon as the producer creates it. The @c svn_delta_editor_t + * as soon as the producer creates it. The #svn_delta_editor_t * structure is a set of callback functions to be defined by a delta * consumer, and invoked by a delta producer. Each invocation of a * callback function describes a piece of the delta --- a file's @@ -10514,7 +12919,7 @@ Traversing tree deltas. A structure full of callback functions the delta source will invoke * as it produces the delta. * - * Note: Don't try to allocate one of these yourself. Instead, always + * @note Don't try to allocate one of these yourself. Instead, always * use svn_delta_default_editor() or some other constructor, to ensure * that unused slots are filled in with no-op functions. * @@ -10597,7 +13002,7 @@ A structure full of callback functions the delta source will invoke * or directory being added). In that case, @a copyfrom_path must be * either a path relative to the root of the edit, or a URI from the * repository being edited. If @a copyfrom_path is @c NULL, then @a - * copyfrom_revision must be @c SVN_INVALID_REVNUM; it is invalid to + * copyfrom_revision must be #SVN_INVALID_REVNUM; it is invalid to * pass a mix of valid and invalid copyfrom arguments. * * @@ -10642,7 +13047,7 @@ A structure full of callback functions the delta source will invoke * * 6. When the producer calls @c apply_textdelta, it must make all of * the window handler calls (including the @c NULL window at the - * end) before issuing any other @c svn_delta_editor_t calls. + * end) before issuing any other #svn_delta_editor_t calls. * * So, the producer needs to use directory and file batons as if it * is doing a single depth-first traversal of the tree, with the @@ -10695,7 +13100,7 @@ Return a writable generic stream which will parse svndiff-format * data into a text delta, invoking @a handler with @a handler_baton * whenever a new window is ready. If @a error_on_early_close is @c * TRUE, attempting to close this stream before it has handled the entire - * svndiff data set will result in @c SVN_ERR_SVNDIFF_UNEXPECTED_END, + * svndiff data set will result in #SVN_ERR_SVNDIFF_UNEXPECTED_END, * else this error condition will be ignored. @@ -10707,14 +13112,23 @@ Similar to svn_txdelta_to_svndiff2, but always using svndiff +Similar to svn_txdelta_to_svndiff3(), but always using the SVN default + * compression level (#SVN_DELTA_COMPRESSION_LEVEL_DEFAULT). + * + * @since New in 1.4. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Prepare to produce an svndiff-format diff from text delta windows. * @a output is a writable generic stream to write the svndiff data to. * Allocation takes place in a sub-pool of @a pool. On return, @a *handler * is set to a window handler function and @a *handler_baton is set to * the value to pass as the @a baton argument to @a *handler. The svndiff - * version is @a svndiff_version. + * version is @a svndiff_version. @a compression_level is the zlib + * compression level from 0 (no compression) and 9 (maximum compression). * - * @since New in 1.4. + * @since New in 1.7. @@ -10813,7 +13227,7 @@ Create and return a generic text delta stream with @a baton, @a A typedef for a function that will return the md5 checksum of the - * fulltext deltified by a @c svn_txdelta_stream_t object. Will + * fulltext deltified by a #svn_txdelta_stream_t object. Will * return NULL if the final null window hasn't yet been returned by * the stream. The returned value will be allocated in the same pool * as the stream. @a baton is the baton specified when the stream was @@ -10824,7 +13238,7 @@ A typedef for a function that will return the md5 checksum of the A typedef for a function that will set @a *window to the next - * window from a @c svn_txdelta_stream_t object. If there are no more + * window from a #svn_txdelta_stream_t object. If there are no more * delta windows, NULL will be used. The returned window, if any, * will be allocated in @a pool. @a baton is the baton specified * when the stream was created. @@ -10922,7 +13336,7 @@ The length of the source view for this window. The offset of the source view for this window. -An @c svn_txdelta_window_t object describes how to reconstruct a +An #svn_txdelta_window_t object describes how to reconstruct a * contiguous section of the target string (the "target view") using a * specified contiguous region of the source string (the "source * view"). It contains a series of instructions which assemble the @@ -10966,16 +13380,16 @@ Text deltas. * * Since text deltas can be very large, the interface here allows us * to produce and consume them in pieces. Each piece, represented by -* an @c svn_txdelta_window_t structure, describes how to produce the +* an #svn_txdelta_window_t structure, describes how to produce the * next section of the target string. * * To compute a new text delta: * * - We call svn_txdelta() on the streams we want to compare. That -* returns us an @c svn_txdelta_stream_t object. +* returns us an #svn_txdelta_stream_t object. * * - We then call svn_txdelta_next_window() on the stream object -* repeatedly. Each call returns a new @c svn_txdelta_window_t +* repeatedly. Each call returns a new #svn_txdelta_window_t * object, which describes the next portion of the target string. * When svn_txdelta_next_window() returns zero, we are done building * the target string. @@ -10990,106 +13404,22 @@ Action code of delta instruction @copyright ==================================================================== - Copyright (c) 2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. - ==================================================================== - @endcopyright - - @file svn_checksum.h - @brief Subversion checksum routines - - Get libsvn_delta version information. - - @since New in 1.1. - - - - Get libsvn_subr version information. - - @since New in 1.1. - - - - Type of function returning library version. - - @since New in 1.6. - - - - Perform a series of version compatibility checks. Checks if @a - my_version is compatible with each entry in @a checklist. @a - checklist must end with an entry whose label is @c NULL. - - @see svn_ver_compatible() - - @since New in 1.1. - - - -Version query function for this entry - - - An entry in the compatibility checklist. - @see svn_ver_check_list() - - @since New in 1.1. - - - - Check if @a my_version and @a lib_version encode the same version number. - - @since New in 1.2. - - - - Define a static svn_version_t object. - - @since New in 1.1. - - Generate the implementation of a version query function. - - @since New in 1.1. - - Check library version compatibility. Return #TRUE if the client's - version, given in @a my_version, is compatible with the library - version, provided in @a lib_version. - - This function checks for version compatibility as per our - guarantees, but requires an exact match when linking to an - unreleased library. A development client is always compatible with - a previous released library. - - @since New in 1.1. - - - -The version tag (#SVN_VER_NUMTAG).\ Must always point to a -statically allocated string. - - - - @copyright - ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -11098,17 +13428,22 @@ statically allocated string. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -11117,17 +13452,22 @@ statically allocated string. @copyright ==================================================================== - Copyright (c) 2000-2006 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -11183,17 +13523,22 @@ statically allocated string. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -11202,98 +13547,44 @@ statically allocated string. @copyright ==================================================================== - Copyright (c) 2001-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. - ==================================================================== - @endcopyright - - @file svn_version.h - @brief Version information. - - @copyright - ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright - @file svn_types.h - @brief Subversion's data types - -Major version number. - * - * Modify when incompatible changes are made to published interfaces. - -Minor version number. - * - * Modify when new functionality is added or new interfaces are - * defined, but all changes are backward compatible. - - Patch number. - - Modify for every released patch. - - @since New in 1.1. + @file svn_checksum.h + @brief Subversion checksum routines -@deprecated Provided for backward compatibility with the 1.0 API. -@deprecated Provided for backward compatibility with the 1.0 API. -Version tag: a string describing the version. - * - * This tag remains " (dev build)" in the repository so that we can - * always see from "svn --version" that the software has been built - * from the repository rather than a "blessed" distribution. - * - * When rolling a tarball, we automatically replace this text with " (r1234)" - * (where 1234 is the last revision on the branch prior to the release) - * for final releases; in prereleases, it becomes " (Alpha 1)", - * " (Beta 1)", etc., as appropriate. +This compression level effectively disables data compression. + * However, the data pre-processing costs may still not be zero. * - * Always change this at the same time as SVN_VER_NUMTAG. + * @since New in 1.7. -Number tag: a string describing the version. +This is the maximum compression level we can pass to zlib. * - * This tag is used to generate a version number string to identify - * the client and server in HTTP requests, for example. It must not - * contain any spaces. This value remains "-dev" in the repository. - * - * When rolling a tarball, we automatically replace this text with "" - * for final releases; in prereleases, it becomes "-alpha1, "-beta1", - * etc., as appropriate. - * - * Always change this at the same time as SVN_VER_TAG. + * @since New in 1.7. -Revision number: The repository revision number of this release. +This is the default compression level we pass to zlib. It + * should be between 0 and 9, with higher numbers resulting in + * better compression rates but slower operation. * - * This constant is used to generate the build number part of the Windows - * file version. Its value remains 0 in the repository. - * - * When rolling a tarball, we automatically replace it with what we - * guess to be the correct revision number. + * @since New in 1.7. -Version number -Version number with tag (contains no whitespace) -Complete version string - Version information. Each library contains a function called - svn_libname_version() that returns a pointer to a statically - allocated object of this type. + Get libsvn_delta version information. @since New in 1.1. @@ -11313,9 +13604,16 @@ Version/format files. Set @a *version to the integer that starts the file at @a path. If the * file does not begin with a series of digits followed by a newline, - * return the error @c SVN_ERR_BAD_VERSION_FILE_FORMAT. Use @a pool for + * return the error #SVN_ERR_BAD_VERSION_FILE_FORMAT. Use @a pool for * all allocations. + + +Wrapper for apr_file_name_get(). @a *filename is utf8-encoded. + * + * @note The file name may be NULL. + * + * @since New in 1.7. Wrapper for apr_dir_read(). Ensures that @a finfo->name is @@ -11329,6 +13627,12 @@ Wrapper for apr_dir_remove(). @a dirname is utf8-encoded. * @note This function has this name to avoid confusion with * svn_io_remove_dir2(), which is recursive. + + +Wrapper for apr_dir_close(). + * + * @since New in 1.7. + Wrapper for apr_dir_open(). @a dirname is utf8-encoded. @@ -11362,7 +13666,11 @@ Move the file from @a from_path to @a to_path, even across device -Wrapper for apr_file_rename(). @a from_path and @a to_path are +Rename and/or move the node (not necessarily a regular file) at + * @a from_path to a new path @a to_path within the same filesystem. + * In some cases, an existing node at @a to_path will be overwritten. + * + * A wrapper for apr_file_rename(). @a from_path and @a to_path are * utf8-encoded. @@ -11375,12 +13683,12 @@ Wrapper for apr_file_trunc(). Open a unique file in @a dirpath, and write @a nbytes from @a buf to - the file before closing it. Return the name of the newly created file - in @a *tmp_path, allocated in @a pool. + the file before flushing it to disk and closing it. Return the name + of the newly created file in @a *tmp_path, allocated in @a pool. If @a dirpath is @c NULL, use the path returned from svn_io_temp_dir(). (Note that when using the system-provided temp directory, it may not - be possibly to atomically rename the resulting file due to cross-device + be possible to atomically rename the resulting file due to cross-device issues.) The file will be deleted according to @a delete_when. @@ -11398,13 +13706,31 @@ Wrapper for apr_file_write(). Wrapper for apr_file_seek(). -Wrapper for apr_file_read_full(). +Similar to svn_io_file_read_full2 with hit_eof being set + * to @c NULL. + * + * @deprecated Provided for backward compatibility with the 1.6 API + + + +Wrapper for apr_file_read_full(). + * + * If @a hit_eof is not NULL, EOF will be indicated there and no + * svn_error_t error object will be created upon EOF. + * + * @since New in 1.7 + Wrapper for apr_file_read(). Wrapper for apr_file_info_get(). + + +Wrapper for apr_file_putc(). + * @since New in 1.7 + Wrapper for apr_file_getc(). @@ -11414,6 +13740,14 @@ Wrapper for apr_file_close(). Wrapper for apr_file_open(). @a fname is utf8-encoded. + + +Examine up to @a len bytes of data in @a buf to determine if the + * can be considered binary data, in which case return TRUE. + * If the data can be considered plain-text data, return FALSE. + * + * @since New in 1.7. + Like svn_io_detect_mimetype2, but with @a mimetypes_map set to @@ -11484,7 +13818,7 @@ Invoke the configured @c diff3 program, in utf8-encoded @a dir * used instead. * * Set @a *exitcode to diff3's exit status. If @a *exitcode is anything - * other than 0 or 1, then return @c SVN_ERR_EXTERNAL_PROGRAM. (Note the + * other than 0 or 1, then return #SVN_ERR_EXTERNAL_PROGRAM. (Note the * following from the diff3 info pages: "An exit status of 0 means * `diff3' was successful, 1 means some conflicts were found, and 2 * means trouble.") @@ -11497,7 +13831,7 @@ Invoke the configured @c diff3 program, in utf8-encoded @a dir -Similar to svn_io_run_diff2() but with @diff_cmd encoded in internal +Similar to svn_io_run_diff2() but with @a diff_cmd encoded in internal * encoding used by APR. * * @deprecated Provided for backwards compatibility with the 1.5 API. @@ -11534,24 +13868,40 @@ Run a command to completion, by first calling svn_io_start_cmd() and Wait for the process @a *cmd_proc to complete and optionally retrieve its exit code. @a cmd is used only in error messages. - If @a exitcode is not NULL, and SVN_NO_ERROR is returned, @a *exitcode - will contain the exit code of the process. If @a exitcode is NULL and - the exit code is non-zero, then an @c SVN_ERR_EXTERNAL_PROGRAM error - will be returned. + If @a exitcode is not NULL, set @a *exitcode to the exit code of the + process and do not consider any exit code to be an error. If @a exitcode + is NULL, then if the exit code of the process is non-zero then return an + #SVN_ERR_EXTERNAL_PROGRAM error. - If @a exitwhy is not NULL, and SVN_NO_ERROR is returned, @a *exitwhy - will indicate why the process terminated. If @a exitwhy is NULL, - and the exit reason is not @c APR_PROC_CHECK_EXIT(), then an - @c SVN_ERR_EXTERNAL_PROGRAM error will be returned. + If @a exitwhy is not NULL, set @a *exitwhy to indicate why the process + terminated and do not consider any reason to be an error. If @a exitwhy + is NULL, then if the termination reason is not @c APR_PROC_CHECK_EXIT() + then return an #SVN_ERR_EXTERNAL_PROGRAM error. @since New in 1.3. + Similar to svn_io_start_cmd2() but with @a infile_pipe, @a + outfile_pipe, and @a errfile_pipe always FALSE. + + @deprecated Provided for backward compatibility with the 1.6 API + @since New in 1.3. + + + Start @a cmd with @a args, using utf8-encoded @a path as working - directory. Connect @a cmd's stdin, stdout, and stderr to @a infile, - @a outfile, and @a errfile, except where they are NULL. Return the - process handle for the invoked program in @a *cmd_proc. + directory. Return the process handle for the invoked program in @a + *cmd_proc. + + If @a infile_pipe is TRUE, connect @a cmd's stdin to a pipe; + otherwise, connect it to @a infile (which may be NULL). If + @a outfile_pipe is TRUE, connect @a cmd's stdout to a pipe; otherwise, + connect it to @a outfile (which may be NULL). If @a errfile_pipe + is TRUE, connect @a cmd's stderr to a pipe; otherwise, connect it + to @a errfile (which may be NULL). (Callers must pass FALSE for + each of these boolean values for which the corresponding file + handle is non-NULL.) @a args is a list of utf8-encoded const char * arguments, terminated by @c NULL. @a args[0] is the name of the program, though it @@ -11566,46 +13916,81 @@ Run a command to completion, by first calling svn_io_start_cmd() and will result in error output being written to @a errfile, if non-NULL, and a non-zero exit status being returned to the parent process. - @since New in 1.3. + @since New in 1.7. -This function will recursively walk over the files and directories - * rooted at @a dirname, a utf8-encoded path. For each file or directory, - * @a walk_func is invoked, passing in the @a walk_baton, the utf8-encoded - * full path to the entry, an @c apr_finfo_t structure, and a temporary - * pool for allocations. For any directory, @a walk_func will be invoked - * on the directory itself before being invoked on any subdirectories or - * files within the directory. +Similar to svn_io_dir_walk(), but only calls @a walk_func for + * files of type APR_DIR (directory) and APR_REG (regular file). + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + +Recursively walk the directory rooted at @a dirname, a + * utf8-encoded path, invoking @a walk_func (with @a walk_baton) for + * each item in the tree. For a given directory, invoke @a walk_func + * on the directory itself before invoking it on any children thereof. + * + * Deliver to @a walk_func the information specified by @a wanted, + * which is a combination of @c APR_FINFO_* flags, plus the + * information specified by @c APR_FINFO_TYPE and @c APR_FINFO_NAME. * - * The set of information passed to @a walk_func is specified by @a wanted, - * and the items specified by @c APR_FINFO_TYPE and @c APR_FINFO_NAME. + * Use @a pool for all allocations. + * + * @note This function does not currently pass all file types to @a + * walk_func -- only APR_DIR, APR_REG, and APR_LNK. We reserve the + * right to pass additional file types through this interface in the + * future, though, so implementations of this callback should + * explicitly test FINFO->filetype. See the APR library's + * apr_filetype_e enum for the various filetypes and their meanings. * - * All allocations will be performed in @a pool. + * @since New in 1.7. Callback function type for svn_io_dir_walk() + + +Create a svn_io_dirent2_t instance for path. Specialized variant of + * svn_io_stat() that directly translates node_kind and special. + * + * If @a ignore_enoent is set to @c TRUE, set *dirent_p->kind to + * svn_node_none instead of returning an error. + * + * @since New in 1.7. + Similar to svn_io_get_dirents2(), but @a *dirents is a hash table - * with @c svn_node_kind_t values. + * with #svn_node_kind_t values. * * @deprecated Provided for backwards compatibility with the 1.2 API. +Similar to svn_io_get_dirents3, but returns a mapping to svn_io_dirent_t + * structures instead of svn_io_dirent2_t and with only a single pool. + * + * @since New in 1.3. + * @deprecated Provided for backward compatibility with the 1.6 API. + + + Read all of the disk entries in directory @a path, a utf8-encoded * path. Set @a *dirents to a hash mapping dirent names (char *) to - * @c svn_io_dirent_t structures, allocated in @a pool. + * #svn_io_dirent2_t structures, allocated in @a pool. + * + * If @a only_check_type is set to @c TRUE, only the kind and special + * fields of the svn_io_dirent2_t are filled. * * @note The `.' and `..' directories normally returned by * apr_dir_read() are NOT returned in the hash. * * @note The kind field in the @a dirents is set according to the mapping - * as documented for svn_io_check_path() + * as documented for svn_io_check_path(). * - * @since New in 1.3. + * @since New in 1.7. @@ -11617,6 +14002,7 @@ Read all of the disk entries in directory @a path, a utf8-encoded * apr_dir_read() are NOT returned in the hash. * * @since New in 1.4. + * @deprecated Provided for backward compatibility with the 1.6 API. @@ -11632,14 +14018,27 @@ Recursively remove directory @a path. @a path is utf8-encoded. * doesn't exist. Use @a pool for temporary allocations. * * Because recursive delete of a directory tree can be a lengthy operation, - * provide @a cancel_func and @a cancel_baton for interruptability. + * provide @a cancel_func and @a cancel_baton for interruptibility. * * @since New in 1.5. +Similar to svn_io_remove_file2(), except with @a ignore_enoent set to FALSE. + * + * @deprecated Provided for backwards compatibility with the 1.6 API. + + + Remove file @a path, a utf8-encoded path. This wraps apr_file_remove(), - * converting any error to a Subversion error. + * converting any error to a Subversion error. If @a ignore_enoent is TRUE, and + * the file is not present (APR_STATUS_IS_ENOENT returns TRUE), then no + * error will be returned. + * + * The file will be removed even if it is not writable. (On Windows and + * OS/2, this function first clears the file's read-only bit.) + * + * @since New in 1.7. @@ -11653,7 +14052,7 @@ Sets @a *result to a string containing the contents of the already opened Similar to svn_stringbuf_from_file2(), except that if @a filename - * is "-", return the error @c SVN_ERR_UNSUPPORTED_FEATURE and don't + * is "-", return the error #SVN_ERR_UNSUPPORTED_FEATURE and don't * touch @a *result. * * @deprecated Provided for backwards compatibility with the 1.4 API. @@ -11692,10 +14091,22 @@ Read the contents of @a stream into memory, returning the data in + Same as svn_stream_contents_same2(), but the streams will not be closed. + + @since New in 1.4. + @deprecated Provided for backward compatibility with the 1.6 API. + + + Set @a *same to TRUE if @a stream1 and @a stream2 have the same - * contents, else set it to FALSE. Use @a pool for temporary allocations. + * contents, else set it to FALSE. * - * @since New in 1.4. + * Both streams will be closed before this function returns (regardless of + * the result, or any possible error). + * + * Use @a scratch_pool for temporary allocations. + * + * @since New in 1.7. @@ -11724,7 +14135,6 @@ Set @a *same to TRUE if @a stream1 and @a stream2 have the same the two streams). If the closure is not desired, then you can use svn_stream_disown() to protect either or both of the streams from being closed. - ### TODO: should close the streams ALWAYS, even on error exit @since New in 1.6. @@ -11754,12 +14164,73 @@ Write to @a stream using a printf-style @a fmt specifier, passed through Write to @a stream using a printf-style @a fmt specifier, passed through * apr_psprintf() using memory from @a pool. + + +Return a writable stream which, when written to, writes to both of the + * underlying streams. Both of these streams will be closed upon closure of + * the returned stream; use svn_stream_disown() if this is not the desired + * behavior. One or both of @a out1 and @a out2 may be @c NULL. If both are + * @c NULL, @c NULL is returned. + * + * @since New in 1.7. + + + +Seek to a @a mark in a generic @a stream. + * This function returns the #SVN_ERR_STREAM_SEEK_NOT_SUPPORTED error + * if the stream doesn't implement seeking. Passing NULL as @a mark, + * seeks to the start of the stream. + * + * @see svn_stream_mark() + * @since New in 1.7. + + + +Set a @a mark at the current position of a generic @a stream, + * which can later be sought back to using svn_stream_seek(). + * The @a mark is allocated in @a pool. + * + * This function returns the #SVN_ERR_STREAM_SEEK_NOT_SUPPORTED error + * if the stream doesn't implement seeking. + * + * @see svn_stream_seek() + * @since New in 1.7. + + + +Returns @c TRUE if the generic @a stream supports svn_stream_mark(). + * + * @see svn_stream_mark() + * @since New in 1.7. + + + +Reset a generic stream back to its origin. E.g. On a file this would be + * implemented as a seek to position 0). This function returns a + * #SVN_ERR_STREAM_RESET_NOT_SUPPORTED error when the stream doesn't + * implement resetting. + * + * @since New in 1.7. + Close a generic stream. @see svn_stream_t. Write to a generic stream. @see svn_stream_t. + + + Skip @a len bytes from a generic @a stream. If the stream is exhausted + before @a len bytes have been read, return an error. + + @note No assumption can be made on the semantics of this function + other than that the stream read pointer will be advanced by *len + bytes. Depending on the capabilities of the underlying stream + implementation, this may for instance be translated into a sequence + of reads or a simple seek operation. If the stream implementation has + not provided a skip function, this will read from the stream and + discard the data. + Read from a generic stream. @see svn_stream_t. @@ -11822,6 +14293,22 @@ Set @a *out to a generic stream connected to stdout, allocated in * @a pool. The stream and its underlying APR handle will be closed * when @a pool is cleared or destroyed. + + +Set @a *err to a generic stream connected to stderr, allocated in + * @a pool. The stream and its underlying APR handle will be closed + * when @a pool is cleared or destroyed. + * + * @since New in 1.7. + + + +Set @a *in to a generic stream connected to stdin, allocated in + * @a pool. The stream and its underlying APR handle will be closed + * when @a pool is cleared or destroyed. + * + * @since New in 1.7. + Similar to svn_stream_from_aprfile2(), except that the file will @@ -11855,7 +14342,7 @@ Create a writable stream to a file in the directory @a dirpath. * * If @a dirpath is @c NULL, use the path returned from svn_io_temp_dir(). * (Note that when using the system-provided temp directory, it may not - * be possibly to atomically rename the resulting file due to cross-device + * be possible to atomically rename the resulting file due to cross-device * issues.) * * The file will be deleted according to @a delete_when. @@ -11904,11 +14391,29 @@ Return a stream allocated in @a pool which forwards all requests Create a stream that is empty for reading and infinite for writing. - + +Set @a stream's seek function to @a seek_fn + * + * @since New in 1.7. + + + +Set @a stream's mark function to @a mark_fn + * + * @since New in 1.7. + + + Set @a stream's close function to @a close_fn Set @a stream's write function to @a write_fn + + +Set @a stream's skip function to @a skip_fn + * + * @since New in 1.7 + Set @a stream's read function to @a read_fn @@ -11918,12 +14423,41 @@ Set @a stream's baton to @a baton Create a generic stream. @see svn_stream_t. + + +Seek handler function for a generic stream. @see svn_stream_t and + * svn_stream_seek(). + * + * @since New in 1.7. + + + +Mark handler function for a generic stream. @see svn_stream_t and + * svn_stream_mark(). + * + * @since New in 1.7. + + + +An opaque type which represents a mark on a stream. There is no + * concrete definition of this type, it is a named type for stream + * implementation specific baton pointers. + * + * @see svn_stream_mark(). + * @since New in 1.7. + Close handler function for a generic stream. @see svn_stream_t. Write handler function for a generic stream. @see svn_stream_t. + + +Skip data handler function for a generic stream. @see svn_stream_t + * and svn_stream_skip(). + * @since New in 1.7. + Read handler function for a generic stream. @see svn_stream_t. @@ -11956,11 +14490,20 @@ An abstract stream of bytes--either incoming or outgoing or both. * to the maximum extent possible; thus, a short read with no * associated error implies the end of the input stream, and a short * write should never occur without an associated error. + * + * In Subversion 1.7 reset support was added as an optional feature of + * streams. If a stream implements resetting it allows reading the data + * again after a successful call to svn_stream_reset(). -Copy file @a file from location @a src_path to location @a dest_path. - * Use @a pool for memory allocations. +Copy the file whose basename (or relative path) is @a file within + * directory @a src_path to the same basename (or relative path) within + * directory @a dest_path. Overwrite the destination file if it already + * exists. The destination directory (including any directory + * components in @a name) must already exist. Set the destination + * file's permissions to match those of the source. Use @a pool for + * memory allocations. @@ -12190,7 +14733,7 @@ Recursively copy directory @a src into @a dst_parent, as a new entry named * * If @a cancel_func is non-NULL, invoke it with @a cancel_baton at * various points during the operation. If it returns any error - * (typically @c SVN_ERR_CANCELLED), return that error immediately. + * (typically #SVN_ERR_CANCELLED), return that error immediately. @@ -12205,6 +14748,8 @@ Recursively copy directory @a src into @a dst_parent, as a new entry named Copy permission flags from @a src onto the file at @a dst. Both * filenames are utf8-encoded filenames. + * + * @since New in 1.6. @@ -12236,7 +14781,7 @@ Set @a *dir to a directory path (allocated in @a pool) deemed Like svn_io_open_unique_file2, but can't delete on pool cleanup. * - * @deprecated Provided for backward compatibility with the 1.0 API + * @deprecated Provided for backward compatibility with the 1.3 API * * @note In 1.4 the API was extended to require either @a f or * @a unique_name_p (the other can be NULL). Before that, both were @@ -12253,17 +14798,25 @@ Like svn_io_open_uniquely_named(), but takes a joined dirpath and -Create a writable file in the directory @a dirpath. The file will have - * an arbitrary and unique name, and the full path will be returned in - * @a temp_path. The file will be returned in @a file. Both will be - * allocated from @a result_pool. +Create a writable file, with an arbitrary and unique name, in the + * directory @a dirpath. Set @a *temp_path to its full path, and set + * @a *file to the file handle, both allocated from @a result_pool. Either + * @a file or @a unique_name may be @c NULL. If @a file is @c NULL, the file + * will be created but not open. * * If @a dirpath is @c NULL, use the path returned from svn_io_temp_dir(). * (Note that when using the system-provided temp directory, it may not - * be possibly to atomically rename the resulting file due to cross-device + * be possible to atomically rename the resulting file due to cross-device * issues.) * - * The file will be deleted according to @a delete_when. + * The file will be deleted according to @a delete_when. If @a delete_when + * is @c svn_io_file_del_on_close and @a file is @c NULL, the file will be + * deleted before this function returns. + * + * When passing @c svn_io_file_del_none please don't forget to eventually + * remove the temporary file to avoid filling up the system temp directory. + * It is often appropriate to bind the lifetime of the temporary file to + * the lifetime of a pool by using @c svn_io_file_del_on_pool_cleanup. * * Temporary allocations will be performed in @a scratch_pool. * @@ -12285,17 +14838,18 @@ Like svn_io_check_path(), but resolve symlinks. This returns the Determine the @a kind of @a path. @a path should be UTF-8 encoded. * - * If @a path is a file, set @a *kind to @c svn_node_file. + * If @a path is a file, set @a *kind to #svn_node_file. * - * If @a path is a directory, set @a *kind to @c svn_node_dir. + * If @a path is a directory, set @a *kind to #svn_node_dir. * - * If @a path does not exist, set @a *kind to @c svn_node_none. + * If @a path does not exist, set @a *kind to #svn_node_none. * - * If @a path exists but is none of the above, set @a *kind to @c - * svn_node_unknown. + * If @a path exists but is none of the above, set @a *kind to + * #svn_node_unknown. * - * If unable to determine @a path's kind, return an error, with @a *kind's - * value undefined. + * If @a path is not a valid pathname, set @a *kind to #svn_node_none. If + * unable to determine @a path's kind for any other reason, return an error, + * with @a *kind's value undefined. * * Use @a pool for temporary allocations. * @@ -12303,7 +14857,7 @@ Determine the @a kind of @a path. @a path should be UTF-8 encoded. -If @c kind is @c svn_node_file, whether this entry is a special file; +If @c kind is #svn_node_file, whether this entry is a special file; * else FALSE. * * @see svn_io_check_special_path(). @@ -12314,9 +14868,52 @@ The kind of this entry. Represents the kind and special status of a directory entry. + * + * Note that the first two fields are exactly identical to svn_io_dirent2_t + * to allow returning a svn_io_dirent2_t as a svn_io_dirent_t. * * @since New in 1.3. + + +Duplicates a @c svn_io_dirent2_t structure into @a result_pool. + * + * @since New in 1.7. + + + +Creates a new #svn_io_dirent2_t structure + * + * @since New in 1.7. + + + +The time the file was last modified + + +The filesize of this entry or undefined for a directory + + +If @c kind is #svn_node_file, whether this entry is a special file; + * else FALSE. + * + * @see svn_io_check_special_path(). + + + +The kind of this entry. + + +A set of directory entry data elements as returned by svn_io_get_dirents + * + * Note that the first two fields are exactly identical to svn_io_dirent_t + * to allow returning a svn_io_dirent2_t as a svn_io_dirent_t. + * + * Use svn_io_dirent2_create() to create new svn_dirent2_t instances or + * svn_io_dirent2_dup() to duplicate an existing instance. + * + * @since New in 1.7. + Remove when the associated pool is cleared @@ -12332,6 +14929,20 @@ No deletion ever @since New in 1.6 + + + Return an error of type #SVN_ERR_CHECKSUM_MISMATCH for @a actual and + @a expected checksums which do not match. Use @a fmt, and the following + parameters to populate the error message. + + @note This function does not actually check for the mismatch, it just + constructs the error. + + @a scratch_pool is used for temporary allocations; the returned error + will be allocated in its own pool (as is typical). + + @since New in 1.7. + Return the digest size of @a checksum. @@ -12383,13 +14994,32 @@ Parse the hex representation @a hex of a checksum of kind @a kind and * * @since New in 1.6. + + +Return @a checksum from the serialized format at @a data. The checksum + * will be allocated in @a result_pool, with any temporary allocations + * performed in @a scratch_pool. + * + * @since New in 1.7. + + + +Return a serialized representation of @a checksum, allocated in + * @a result_pool. Temporary allocations are performed in @a scratch_pool. + * + * Note that @a checksum may not be NULL. + * + * @since New in 1.7. + Return the hex representation of @a checksum, allocating the * string in @a pool. If @a checksum->digest is all zeros (that is, - * 0, not '0'), then return NULL. + * 0, not '0') then return NULL. In 1.7+, @a checksum may be NULL + * and NULL will be returned in that case. * * @since New in 1.6. + * @note Passing NULL for @a checksum in 1.6 will cause a segfault. @@ -12414,7 +15044,7 @@ Compare checksums @a checksum1 and @a checksum2. If their kinds do not -Set @c checksum->digest to all zeros, which, by convention, matches +Set @a checksum->digest to all zeros, which, by convention, matches * all other checksums. * * @since New in 1.6. @@ -12443,12 +15073,278 @@ The bytes of the checksum. @since New in 1.6. + + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_wc.h + @brief Subversion's working copy library + + Requires: + - A working copy + + Provides: + - Ability to manipulate working copy's versioned data. + - Ability to manipulate working copy's administrative files. + + Used By: + - Clients. + + Notes: + The 'path' parameters to most of the older functions can be + absolute or relative (relative to current working + directory). If there are any cases where they are + relative to the path associated with the + 'svn_wc_adm_access_t *adm_access' baton passed along with the + path, those cases should be explicitly documented, and if they + are not, please fix it. All new functions introduced since + Subversion 1.7 require absolute paths, unless explicitly + documented otherwise. + + Starting with Subversion 1.7, several arguments are re-ordered + to be more consistent through the api. The common ordering used + is: + + Firsts: + - Output arguments + Then: + - Working copy context + - Local abspath + Followed by: + - Function specific arguments + - Specific callbacks with their batons + Finally: + - Generic callbacks (with baton) from directly functional to + just observing: + - svn_wc_conflict_resolver_func2_t + - svn_wc_external_update_t + - svn_cancel_func_t + - svn_wc_notify_func2_t + - Result pool + - Scratch pool. + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_types.h + @brief Subversion's data types + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_string.h + @brief Counted-length strings for Subversion, plus some C string goodies. + + There are two string datatypes: @c svn_string_t and @c svn_stringbuf_t. + The former is a simple pointer/length pair useful for passing around + strings (or arbitrary bytes) with a counted length. @c svn_stringbuf_t is + buffered to enable efficient appending of strings without an allocation + and copy for each append operation. + + @c svn_string_t contains a const char * for its data, so it is + most appropriate for constant data and for functions which expect constant, + counted data. Functions should generally use const @c svn_string_t + * as their parameter to indicate they are expecting a constant, + counted string. + + @c svn_stringbuf_t uses a plain char * for its data, so it is + most appropriate for modifiable data. + +

Invariants

+ + 1. Null termination: + + Both structures maintain a significant invariant: + + s->data[s->len] == '\\0' + + The functions defined within this header file will maintain + the invariant (which does imply that memory is + allocated/defined as @c len+1 bytes). If code outside of the + @c svn_string.h functions manually builds these structures, + then they must enforce this invariant. + + Note that an @c svn_string(buf)_t may contain binary data, + which means that strlen(s->data) does not have to equal @c + s->len. The NULL terminator is provided to make it easier to + pass @c s->data to C string interfaces. + + + 2. Non-NULL input: + + All the functions assume their input data is non-NULL, + unless otherwise documented, and may seg fault if passed + NULL. The input data may *contain* null bytes, of course, just + the data pointer itself must not be NULL. + +

Memory allocation

+ + All the functions make a deep copy of all input data, and never store + a pointer to the original input data. + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_checksum.h + @brief Subversion checksum routines + + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_types.h + @brief Subversion's data types + + Various types of checksums. + + @since New in 1.6. +
The checksum is (or should be set to) a SHA1 checksum. The checksum is (or should be set to) an MD5 checksum. + + + Parse the C string @a str into an unsigned 32 bit number, and return + it in @a *n. Assume that the number is represented in base 10. + Raise an error if conversion fails (e.g. due to overflow). + + @since New in 1.7. + + + + Parse the C string @a str into an unsigned 64 bit number, and return + it in @a *n. Assume that the number is represented in base 10. + Raise an error if conversion fails (e.g. due to overflow). + + @since New in 1.7. + + + + Parse the C string @a str into an unsigned 64 bit number, and return + it in @a *n. Assume that the number is represented in base @a base. + Raise an error if conversion fails (e.g. due to overflow), or if the + converted number is smaller than @a minval or larger than @a maxval. + + @since New in 1.7. + + + + Parse the C string @a str into a 32 bit number, and return it in @a *n. + Assume that the number is represented in base 10. + Raise an error if conversion fails (e.g. due to overflow). + + @since New in 1.7. + + + + Parse the C string @a str into a 64 bit number, and return it in @a *n. + Assume that the number is represented in base 10. + Raise an error if conversion fails (e.g. due to overflow). + + @since New in 1.7. + + + + Parse the C string @a str into a 64 bit number, and return it in @a *n. + Assume that the number is represented in base @a base. + Raise an error if conversion fails (e.g. due to overflow), or if the + converted number is smaller than @a minval or larger than @a maxval. + + @since New in 1.7. + Compare two strings @a atr1 and @a atr2, treating case-equivalent @@ -12477,7 +15373,13 @@ The checksum is (or should be set to) an MD5 checksum. @since New in 1.2. - + +Return @c TRUE iff @a str exactly matches any of the elements of @a list. + * + * @since new in 1.7 + + + Return @c TRUE iff @a str matches any of the elements of @a list, a list * of zero or more glob patterns. @@ -12490,14 +15392,12 @@ Like svn_cstring_split(), but append to existing @a array instead of @} -C strings. - * - * @defgroup svn_string_cstrings c string functions - * @{ +@defgroup svn_string_cstrings C string functions +@{ Divide @a input into substrings along @a sep_chars boundaries, return an - * array of copies of those substrings, allocating both the array and - * the copies in @a pool. + * array of copies of those substrings (plain const char*), allocating both + * the array and the copies in @a pool. * * None of the elements added to the array contain any of the * characters in @a sep_chars, and none of the new elements are empty @@ -12547,6 +15447,17 @@ Append an array of bytes onto @a targetstr. * * reallocs if necessary. @a targetstr is affected, nothing else is. + + +Append a single character @a byte onto @a targetstr. + * This is an optimized version of svn_stringbuf_appendbytes() + * that is much faster to call and execute. Gains vary with the ABI. + * The advantages extend beyond the actual call because the reduced + * register pressure allows for more optimization within the caller. + * + * reallocs if necessary. @a targetstr is affected, nothing else is. + * @since New in 1.7. + Fill bytestring @a str with character @a c. @@ -12587,8 +15498,8 @@ Create a new stringbuf with the contents of the given string Create a new empty bytestring with at least @a minimum_size bytes of * space available in the memory block. * - * The allocated string buffer will be one byte larger then @a size to account - * for a final '\0'. + * The allocated string buffer will be one byte larger than @a minimum_size + * to account for a final '\\0'. * * @since New in 1.6. @@ -12600,10 +15511,8 @@ Create a new bytestring containing a generic string of bytes @} -svn_stringbuf_t functions. - * - * @defgroup svn_string_svn_stringbuf_t svn_stringbuf_t functions - * @{ +@defgroup svn_string_svn_stringbuf_t svn_stringbuf_t functions +@{ Create a new bytestring containing a C string (NULL-terminated). @@ -12644,10 +15553,8 @@ Create a new bytestring containing a generic string of bytes * (NOT NULL-terminated) -svn_string_t functions. - * - * @defgroup svn_string_svn_string_t svn_string_t functions - * @{ +@defgroup svn_string_svn_string_t svn_string_t functions +@{ Create a new bytestring containing a C string (NULL-terminated). @@ -12673,17 +15580,22 @@ A buffered string, capable of appending without an allocation and copy @copyright ==================================================================== - Copyright (c) 2000-2006 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -12739,17 +15651,22 @@ A buffered string, capable of appending without an allocation and copy @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -12810,28 +15727,12 @@ A type of function that handles an assertion failure or other internal * The function may alter its behaviour according to compile-time * and run-time and even interactive conditions. * + * @see SVN_ERROR_IN_CATEGORY() + * * @since New in 1.6. -A statement macro for checking error values. - * - * Evaluate @a expr. If it yields an error, return that error from the - * current function. Otherwise, continue. - * - * The do { ... } while (0) wrapper has no semantic effect, - * but it makes this macro syntactically equivalent to the expression - * statement it resembles. Without it, statements like - * - * @code - * if (a) - * SVN_ERR (some operation); - * else - * foo; - * @endcode - * - * would not mean what they appear to. - A statement macro, very similar to @c SVN_ERR. * * This macro will wrap the error with the specified text before @@ -12843,11 +15744,16 @@ A statement macro, similar to @c SVN_ERR, but returns an integer. * return @c EXIT_FAILURE. @} +Error groups + * + * @defgroup svn_error_error_groups Error groups + * @{ + Return TRUE if @a err is an error specifically related to locking a path in the repository, FALSE otherwise. - SVN_ERR_FS_OUT_OF_DATE is in here because it's a non-fatal error - that can be thrown when attempting to lock an item. + SVN_ERR_FS_OUT_OF_DATE and SVN_ERR_FS_NOT_FOUND are in here because it's a + non-fatal error that can be thrown when attempting to lock an item. @since New in 1.2. @@ -12856,6 +15762,18 @@ A statement macro, similar to @c SVN_ERR, but returns an integer. @since New in 1.2. +Evaluates to @c TRUE iff @a apr_err (of type #apr_status_t) is in the given + * @a category, which should be one of the @c SVN_ERR_*_CATEGORY_START + * constants. + * + * @since New in 1.7. + +@} +Internal malfunctions and assertions + * + * @defgroup svn_error_malfunction_assertion Malfunctions and assertions + * @{ + Report that an internal malfunction has occurred, and possibly terminate * the program. * @@ -12903,6 +15821,7 @@ Similar to SVN_ERR_ASSERT(), but without the option of returning * * @since New in 1.6. +Report a "Not implemented" malfunction. Internal use only. A helper function for the macros that report malfunctions. Handle a * malfunction by calling the current "malfunction handler" which may have * been specified by a call to svn_error_set_malfunction_handler() or else @@ -12918,6 +15837,51 @@ A helper function for the macros that report malfunctions. Handle a * * @since New in 1.6. + + +A statement macro for checking error values. + * + * Evaluate @a expr. If it yields an error, return that error from the + * current function. Otherwise, continue. + * + * The do { ... } while (0) wrapper has no semantic effect, + * but it makes this macro syntactically equivalent to the expression + * statement it resembles. Without it, statements like + * + * @code + * if (a) + * SVN_ERR(some operation); + * else + * foo; + * @endcode + * + * would not mean what they appear to. + + A macro for wrapping an error in a source-location trace message. + + This macro can be used when directly returning an already created + error (when not using SVN_ERR, svn_error_create(), etc.) to ensure + that the call stack is recorded correctly. + + @since New in 1.7. + + Returns an error chain that is based on @a err's error chain but + does not include any error tracing placeholders. @a err is not + modified, except for any allocations using its pool. + + The returned error chain is allocated from @a err's pool and shares + its message and source filename character arrays. The returned + error chain should *not* be cleared because it is not a fully + fledged error chain, only clearing @a err should be done to clear + the returned error chain. If @a err is cleared, then the returned + error chain is unusable. + + @a err can be #SVN_NO_ERROR. If @a err is not #SVN_NO_ERROR, then + the last link in the error chain must be a non-tracing error, i.e, + a real error. + + @since New in 1.7. + Like svn_handle_warning2() but with @c prefix set to "svn: " @@ -12930,6 +15894,8 @@ Like svn_handle_warning2() but with @c prefix set to "svn: " stdio stream @a stream, prefixed by @a prefix. Allocations are performed in the error's pool. + @a error may not be @c NULL. + @since New in 1.2. @@ -12968,6 +15934,16 @@ Create a new error that is a deep copy of @a err and return it. * * @since New in 1.2. +
+ +Return the first error in @a err's chain that has an error code @a + * apr_err or #SVN_NO_ERROR if there is no error with that code. The + * returned error should @em not be cleared as it shares memory with @a err. + * + * If @a err is #SVN_NO_ERROR, return #SVN_NO_ERROR. + * + * @since New in 1.7. + Return the root cause of @a err by finding the last error in its @@ -12981,27 +15957,32 @@ Return the root cause of @a err by finding the last error in its Add @a new_err to the end of @a chain's chain of errors. The @a new_err * chain will be copied into @a chain's pool and destroyed, so @a new_err * itself becomes invalid after this function. + * + * Either @a chain or @a new_err can be functions that return svn_error_t* + * but if both are functions they can be evaluated in either order as + * per the C language rules. -Wrapper macro to collect file and line information Compose two errors, returning the composition as a brand new error * and consuming the original errors. Either or both of @a err1 and * @a err2 may be @c SVN_NO_ERROR. If both are not @c SVN_NO_ERROR, * @a err2 will follow @a err1 in the chain of the returned error. * + * Either @a err1 or @a err2 can be functions that return svn_error_t* + * but if both are functions they can be evaluated in either order as + * per the C language rules. + * * @since New in 1.6. -Wrapper macro to collect file and line information A quick n' easy way to create a wrapped exception with your own * message, before throwing it up the stack. (It uses all of the * @a child's fields.) -Wrapper macro to collect file and line information Wrap a @a status from an APR function. If @a fmt is NULL, this is * equivalent to svn_error_create(status,NULL,NULL). Otherwise, * the error message is constructed by formatting @a fmt and the @@ -13012,7 +15993,6 @@ Wrap a @a status from an APR function. If @a fmt is NULL, this is -Wrapper macro to collect file and line information Create an error structure with the given @a apr_err and @a child, * with a printf-style error message produced by passing @a fmt, using * apr_psprintf(). @@ -13058,24 +16038,26 @@ If @a err has a custom error message, return that, otherwise Put an English description of @a statcode into @a buf and return @a buf, * NULL-terminated. @a statcode is either an svn error or apr error. - - -Set the error location for debug mode. @copyright ==================================================================== - Copyright (c) 2000-2004, 2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -13084,17 +16066,22 @@ Set the error location for debug mode. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -13104,17 +16091,22 @@ Set the error location for debug mode. the best kind of (@c svn_error_t *) ! @copyright ==================================================================== - Copyright (c) 2000-2009 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -13124,14 +16116,21 @@ the best kind of (@c svn_error_t *) ! Collection of Subversion error code values, located within the * APR user error space. - - Return a deep copy of @a segment, allocated in @a pool. - + +@} +A line number, such as in a file or a stream. + * + * @since New in 1.7. + + + + Return a deep copy of @a segment, allocated in @a pool. + @since New in 1.5. -A callback invoked by generators of @c svn_location_segment_t +A callback invoked by generators of #svn_location_segment_t objects, used to report information about a versioned object's history in terms of its location in the repository filesystem over time. @@ -13155,14 +16154,14 @@ The beginning (oldest) and ending (youngest) revisions for this @since New in 1.5. - + Returns true if the changeset committed in revision @a rev is one of the changesets in the range @a range. @since New in 1.5. - + Return a copy of @a range, allocated in @a pool. @since New in 1.5. @@ -13199,10 +16198,10 @@ equals 'end' the meaning of the range is not defined. - Returns an @c svn_lock_t, allocated in @a pool with all fields initialized + Returns an #svn_lock_t, allocated in @a pool with all fields initialized to NULL values. - @note To allow for extending the @c svn_lock_t structure in the future + @note To allow for extending the #svn_lock_t structure in the future releases, this function should always be used to allocate the structure. @since New in 1.2. @@ -13211,8 +16210,8 @@ equals 'end' the meaning of the range is not defined. A user defined callback that subversion will call with a user defined * baton to see if the current operation should be continued. If the operation - * should continue, the function should return @c SVN_NO_ERROR, if not, it - * should return @c SVN_ERR_CANCELLED. + * should continue, the function should return #SVN_NO_ERROR, if not, it + * should return #SVN_ERR_CANCELLED. @@ -13234,7 +16233,7 @@ The maximum amount we can ever hold in memory. Validate @a mime_type. * * If @a mime_type does not contain a "/", or ends with non-alphanumeric - * data, return @c SVN_ERR_BAD_MIME_TYPE, else return success. + * data, return #SVN_ERR_BAD_MIME_TYPE, else return success. * * Use @a pool only to find error allocation. * @@ -13245,8 +16244,8 @@ Validate @a mime_type. -Same as @c svn_commit_callback2_t, but uses individual - * data elements instead of the @c svn_commit_info_t structure +Same as #svn_commit_callback2_t, but uses individual + * data elements instead of the #svn_commit_info_t structure * * @deprecated Provided for backward compatibility with the 1.3 API. @@ -13262,7 +16261,7 @@ Callback function type for commits. - Similar to @c svn_log_entry_receiver_t, except this uses separate + Similar to #svn_log_entry_receiver_t, except this uses separate parameters for each part of the log entry. @deprecated Provided for backward compatibility with the 1.4 API. @@ -13270,12 +16269,12 @@ Callback function type for commits. The callback invoked by log message loopers, such as - * @c svn_ra_plugin_t.get_log() and svn_repos_get_logs(). + * #svn_ra_plugin_t.get_log() and svn_repos_get_logs(). * * This function is invoked once on each log message, in the order * determined by the caller (see above-mentioned functions). * - * @a baton is what you think it is, and @a log_entry contains relevent + * @a baton is what you think it is, and @a log_entry contains relevant * information for the log message. Any of @a log_entry->author, * @a log_entry->date, or @a log_entry->message may be @c NULL. * @@ -13285,7 +16284,7 @@ The callback invoked by log message loopers, such as * * If @a log_entry->changed_paths is non-@c NULL, then it contains as keys * every path committed in @a log_entry->revision; the values are - * (@c svn_log_changed_path_t *) structures. + * (#svn_log_changed_path_t *) structures. * * If @a log_entry->has_children is @c TRUE, the message will be followed * immediately by any number of merged revisions (child messages), which are @@ -13302,7 +16301,7 @@ The callback invoked by log message loopers, such as * @since New in 1.5. - + Return a deep copy of @a log_entry, allocated in @a pool. * * The resulting svn_log_entry_t has @c changed_paths set to the same @@ -13313,26 +16312,42 @@ Return a deep copy of @a log_entry, allocated in @a pool. - Returns an @c svn_log_entry_t, allocated in @a pool with all fields + Returns an #svn_log_entry_t, allocated in @a pool with all fields initialized to NULL values. - @note To allow for extending the @c svn_log_entry_t structure in future + @note To allow for extending the #svn_log_entry_t structure in future releases, this function should always be used to allocate the structure. @since New in 1.5. + + + Whether @a revision is a merged revision resulting from a reverse merge. + + @since New in 1.7. + + + + Whether @a revision should be interpreted as non-inheritable in the + same sense of #svn_merge_range_t. + + @since New in 1.7. + A hash containing as keys every path committed in @a revision; the - * values are (@c svn_log_changed_path2_t *) stuctures. + * values are (#svn_log_changed_path2_t *) structures. * * If this value is not @c NULL, it MUST have the same value as * changed_paths or svn_log_entry_dup() will not create an identical copy. * * The subversion core libraries will always set this field to the same - * value as changed_paths for compatibity with users assuming an older + * value as changed_paths for compatibility with users assuming an older * version. * + * @note See http://svn.haxx.se/dev/archive-2010-08/0362.shtml for + * further explanation. + * * @since New in 1.6. @@ -13350,7 +16365,7 @@ A hash containing as keys every path committed in @a revision; the HAS_CHILDREN flag is always FALSE. For more information see: - http://subversion.tigris.org/merge-tracking/design.html#commutative-reporting + https://svn.apache.org/repos/asf/subversion/trunk/notes/merge-tracking/design.html#commutative-reporting @@ -13362,10 +16377,10 @@ The revision of the commit. A hash containing as keys every path committed in @a revision; the - * values are (@c svn_log_changed_path_t *) stuctures. + * values are (#svn_log_changed_path_t *) structures. * * The subversion core libraries will always set this field to the same - * value as changed_paths2 for compatibity reasons. + * value as changed_paths2 for compatibility reasons. * * @deprecated Provided for backward compatibility with the 1.5 API. @@ -13373,7 +16388,7 @@ A hash containing as keys every path committed in @a revision; the A structure to represent all the information about a particular log entry. - @note To allow for extending the @c svn_log_entry_t structure in future + @note To allow for extending the #svn_log_entry_t structure in future releases, always use svn_log_entry_create() to allocate the structure. @since New in 1.5. @@ -13397,7 +16412,7 @@ Source path of copy (if any). A structure to represent a path that changed for a log entry. Same as - @c svn_log_changed_path2_t, but without the node kind. + #svn_log_changed_path2_t, but without the node kind. @deprecated Provided for backward compatibility with the 1.5 API. @@ -13409,15 +16424,23 @@ Source path of copy (if any). - Returns an @c svn_log_changed_path2_t, allocated in @a pool with all fields + Returns an #svn_log_changed_path2_t, allocated in @a pool with all fields initialized to NULL, None or empty values. - @note To allow for extending the @c svn_log_changed_path2_t structure in + @note To allow for extending the #svn_log_changed_path2_t structure in future releases, this function should always be used to allocate the structure. @since New in 1.6. + + +Are properties modified, may be svn_tristate_unknown. + * @since New in 1.7. + + +Is the text modified, may be svn_tristate_unknown. + * @since New in 1.7. The type of the node, may be svn_node_unknown. @@ -13434,7 +16457,7 @@ Source path of copy (if any). A structure to represent a path that changed for a log entry. - @note To allow for extending the @c svn_log_changed_path2_t structure in + @note To allow for extending the #svn_log_changed_path2_t structure in future releases, always use svn_log_changed_path2_create() to allocate the structure. @@ -13448,19 +16471,23 @@ Source path of copy (if any). - Allocate an object of type @c svn_commit_info_t in @a pool and + Allocate an object of type #svn_commit_info_t in @a pool and return it. - The @c revision field of the new struct is set to @c - SVN_INVALID_REVNUM. All other fields are initialized to @c NULL. + The @c revision field of the new struct is set to #SVN_INVALID_REVNUM. + All other fields are initialized to @c NULL. - @note Any object of the type @c svn_commit_info_t should + @note Any object of the type #svn_commit_info_t should be created using this function. This is to provide for extending the svn_commit_info_t in the future. @since New in 1.3. + + +repository root, may be @c NULL if unknown. + @since New in 1.7. error message from post-commit hook, or NULL. @@ -13499,7 +16526,7 @@ length of file text, or 0 for directories node kind - It is sometimes convenient to indicate which parts of an @c svn_dirent_t + It is sometimes convenient to indicate which parts of an #svn_dirent_t object you are actually interested in, so that calculating and sending the data corresponding to the other fields can be avoided. These values can be used for that purpose. @@ -13520,10 +16547,54 @@ A general subversion directory entry. Return the appropriate depth for @a depth_str. @a word is as * returned from svn_depth_to_word(). If @a depth_str does not - * represent a recognized depth, return @c svn_depth_unknown. + * represent a recognized depth, return #svn_depth_unknown. * * @since New in 1.5. + + +The concept of depth for directories. + * + * @note This is similar to, but not exactly the same as, the WebDAV + * and LDAP concepts of depth. + * + * @since New in 1.5. + + + +D + all descendants (full recursion from D). Updates will pull + in any files or subdirectories not already present; those + subdirectories' this_dir entries will have depth-infinity. + Equivalent to the pre-1.5 default update behavior. + + +D + immediate children (D and its entries). Updates will pull in + any files or subdirectories not already present; those + subdirectories' this_dir entries will have depth-empty. + + +D + its file children, but not subdirs. Updates will pull in any + files not already present, but not subdirectories. + + +Just the named directory D, no entries. Updates will not pull in + any files or subdirectories not already present. + + +Exclude (i.e., don't descend into) directory D. + @note In Subversion 1.5, svn_depth_exclude is *not* supported + anywhere in the client-side (libsvn_wc/libsvn_client/etc) code; + it is only supported as an argument to set_path functions in the + ra and repos reporters. (This will enable future versions of + Subversion to run updates, etc, against 1.5 servers with proper + svn_depth_exclude behavior, once we get a chance to implement + client-side support for svn_depth_exclude.) + + + +Depth undetermined or ignored. In some contexts, this means the + client should choose an appropriate default depth. The server + will generally treat it as #svn_depth_infinity. An enum to indicate whether recursion is needed. @@ -13550,14 +16621,14 @@ Valid revision numbers begin at 0 The 'official' invalid revision num Not really invalid...just unimportant -- one day, this can be its * own unique value, for now, just make it the same as - * @c SVN_INVALID_REVNUM. + * #SVN_INVALID_REVNUM. Convert NULL-terminated C string @a str to a revision number. Parse NULL-terminated C string @a str as a revision number and store its value in @a rev. If @a endptr is non-NULL, then the address of the first non-numeric character in @a str is stored in it. If there are no digits in @a str, then @a endptr is set (if - non-NULL), and the error @c SVN_ERR_REVNUM_PARSE_FAILURE error is + non-NULL), and the error #SVN_ERR_REVNUM_PARSE_FAILURE error is returned. Negative numbers parsed from @a str are considered invalid, and result in the same error. @@ -13602,14 +16673,47 @@ About Special Files in Subversion * routines from 1. A revision number. + + +Return the appropriate tristate for @a word. If @a word is "true", returns + * #svn_tristate_true; if @a word is "false", returns #svn_tristate_false, + * for all other values (including NULL) returns #svn_tristate_unknown. + * + * @since New in 1.7. + + + +Return a constant string "true", "false" or NULL representing the value of + * @a tristate. + * + * @since New in 1.7. + + + +Generic three-state property to represent an unknown value for values + * that are just like booleans. The values have been set deliberately to + * make tristates disjoint from #svn_boolean_t. + * + * @note It is unsafe to use apr_pcalloc() to allocate these, since '0' is + * not a valid value. + * + * @since New in 1.7. Return the appropriate node_kind for @a word. @a word is as * returned from svn_node_kind_to_word(). If @a word does not - * represent a recognized kind or is @c NULL, return @c svn_node_unknown. + * represent a recognized kind or is @c NULL, return #svn_node_unknown. * * @since New in 1.6. + + +On Windows, APR_STATUS_IS_ENOTDIR includes several kinds of + * invalid-pathname error but not ERROR_INVALID_NAME, so we include it. + * We also include ERROR_DIRECTORY as that was not included in apr versions + * before 1.4.0 and this fix is not backported +@} +The various types of nodes in the Subversion filesystem. something's here, but we don't know what @@ -13622,24 +16726,70 @@ regular file absent + + +Return the value of the hash table entry indexed by @a hi. + + +Return the key length of the hash table entry indexed by @a hi. + + +@defgroup APR_ARRAY_compat_macros APR Array Compatibility Helper Macros + * These macros are provided by APR itself from version 1.3. + * Definitions are provided here for when using older versions of APR. + * @{ + +index into an apr_array_header_t +easier array-pushing syntax +@} +@defgroup apr_hash_utilities APR Hash Table Helpers + * These functions enable the caller to dereference an APR hash table index + * without type casts or temporary variables. + * + * ### These are private, and may go away when APR implements them natively. + * @{ + +Return the key of the hash table entry indexed by @a hi. -Source line where the error originated. Only used iff @c SVN_DEBUG. +Source line where the error originated (iff @c SVN_DEBUG; + * undefined otherwise). + -Source file where the error originated. Only used iff @c SVN_DEBUG. +Source file where the error originated (iff @c SVN_DEBUG; + * undefined otherwise). + -The pool holding this error and any child errors it wraps +The pool in which this error object is allocated. (If + * Subversion's APIs are used to manage error chains, then this pool + * will contain the whole error chain of which this object is a + * member.) -ptr to the error we "wrap" +Pointer to the error we "wrap" (may be @c NULL). Via this + * member, individual error object can be strung together into an + * "error chain". + -details from producer of error +Details from the producer of error. + * + * Note that if this error was generated by Subversion's API, you'll + * probably want to use svn_err_best_message() to get a single + * descriptive string for this error chain (see the @a child member) + * or svn_handle_error2() to print the error chain in full. This is + * because Subversion's API functions sometimes add many links to + * the error chain that lack details (used only to produce virtual + * stack traces). (Use svn_error_purge_tracing() to remove those + * trace-only links from the error chain.) + -APR error value, possibly SVN_ custom err +APR error value; possibly an SVN_ custom error code (see + * `svn_error_codes.h' for a full listing). + The FilePath character encoding is unknown @@ -13760,7 +16910,8 @@ Rewind the directory to the first entry. * * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may * not be filled in, and you need to check the @c finfo->valid bitmask - * to verify that what you're looking for is there. + * to verify that what you're looking for is there. When no more + * entries are available, APR_ENOENT is returned. @@ -13877,16 +17028,18 @@ Structure for referencing directories. Eliminate redundant entries in a table by either overwriting - or merging duplicates + or merging duplicates. @param t Table. @param flags APR_OVERLAP_TABLES_MERGE to merge, or APR_OVERLAP_TABLES_SET to overwrite + @remark When merging duplicates, the two values are concatenated, + separated by the string ", ". Iterate over a table running the provided function once for every - element in the table. The @param vp varargs paramater must be a + element in the table. The @param vp varargs parameter must be a list of zero or more (char *) keys followed by a NULL pointer. If zero keys are given, the @param comp function will be invoked for every element in the table. Otherwise, the function is invoked @@ -13936,7 +17089,7 @@ in the _NONSTD convention. -Merge two tables into one new table +Merge two tables into one new table. @param p The pool to use for the new table @param overlay The first table to put in the new table @param base The table to add at the end of the new table @@ -13951,7 +17104,7 @@ same key. @param val The value to add. @remark When adding data, this function does not make a copy of the key or the value, so care should be taken to ensure that the values will not - change after they have been added.. + change after they have been added. @@ -13966,33 +17119,35 @@ same key. Add data to a table by merging the value with data that has already been -stored +stored. The merging is done by concatenating the two values, separated +by the string ", ". @param t The table to search for the data -@param key The key to merge data for +@param key The key to merge data for (case does not matter) @param val The data to add @remark If the key is not found, then this function acts like apr_table_addn Add data to a table by merging the value with data that has already been -stored +stored. The merging is done by concatenating the two values, separated +by the string ", ". @param t The table to search for the data -@param key The key to merge data for +@param key The key to merge data for (case does not matter) @param val The data to add @remark If the key is not found, then this function acts like apr_table_add -Remove data from the table +Remove data from the table. @param t The table to remove data from -@param key The key of the data being removed +@param key The key of the data being removed (case does not matter) -Add a key/value pair to a table, if another element already exists with the -same key, this will over-write the old data. +Add a key/value pair to a table. If another element already exists with the +same key, this will overwrite the old data. @param t The table to add the data to. -@param key The key to use +@param key The key to use (case does not matter) @param val The value to add @warning When adding data, this function does not make a copy of the key or the value, so care should be taken to ensure that the values will @@ -14000,10 +17155,10 @@ same key, this will over-write the old data. -Add a key/value pair to a table, if another element already exists with the -same key, this will over-write the old data. +Add a key/value pair to a table. If another element already exists with the +same key, this will overwrite the old data. @param t The table to add the data to. -@param key The key fo use +@param key The key to use (case does not matter) @param val The value to add @remark When adding data, this function makes a copy of both the key and the value. @@ -14011,14 +17166,14 @@ same key, this will over-write the old data. Get the value associated with a given key from the table. After this call, -The data is still in the table +the data is still in the table. @param t The table to search for the key -@param key The key to search for +@param key The key to search for (case does not matter) @return The value associated with the key, or NULL if the key does not exist. -Delete all of the elements from a table +Delete all of the elements from a table. @param t The table to clear @@ -14032,7 +17187,7 @@ of dynamically allocated memory pointed to by the fields. -Create a new table and copy another table into it +Create a new table and copy another table into it. @param p The pool to allocate the new table out of @param t The table to copy @return A copy of the table passed in @@ -14040,7 +17195,7 @@ Create a new table and copy another table into it -Make a new table +Make a new table. @param p The pool to allocate the pool out of @param nelts The number of elements in the initial table. @return The new table. @@ -14048,7 +17203,7 @@ Make a new table -Generates a new string from the apr_pool_t containing the concatenated +Generate a new string from the apr_pool_t containing the concatenated sequence of substrings referenced as elements within the array. The string will be empty if all substrings are empty or null, or if there are no elements in the array. If sep is non-NUL, it will be inserted between @@ -14077,7 +17232,7 @@ and only if the code subsequently does a push or arraycat. -Copy the entire array +Copy the entire array. @param p The pool to allocate the copy of the array out of @param arr The array to copy @return An exact copy of the array passed in @@ -14087,7 +17242,7 @@ Copy the entire array -Concatenate two arrays together +Concatenate two arrays together. @param dst The destination array, and the one to go first in the combined array @param src The source array to add to the destination array @@ -14116,14 +17271,14 @@ A helper macro for pushing elements into an APR array. * * @return the location where the new object should be placed -Remove an element from an array (as a first-in, last-out stack) +Remove an element from an array (as a first-in, last-out stack). @param arr The array to remove an element from. @return Location of the element in the array. @remark If there are no elements in the array, NULL is returned. -Add a new element to an array (as a first-in, last-out stack) +Add a new element to an array (as a first-in, last-out stack). @param arr The array to add an element to. @return Location for the new element in the array. @remark If there are no free spots in the array, then this function will @@ -14131,7 +17286,7 @@ Add a new element to an array (as a first-in, last-out stack) -Create an array +Create an array. @param p The pool to allocate the memory out of @param nelts the number of elements in the initial array @param elt_size The size of each element in the array. @@ -14139,19 +17294,19 @@ Create an array -Determine if the array is empty (either NULL or having no elements) +Determine if the array is empty (either NULL or having no elements). @param a The array to check @return True if empty, False otherwise -Determine if the table is empty (either NULL or having no elements) +Determine if the table is empty (either NULL or having no elements). @param t The table to check @return True if empty, False otherwise -Get the elements from a table +Get the elements from a table. @param t The table @return An array containing the contents of the table @@ -14195,12 +17350,22 @@ An opaque array type @file apr_tables.h @brief APR Table library -@defgroup apr_tables Table and Array Functions -@ingroup APR -Tables are used to store entirely opaque structures -for applications, while Arrays are usually used to -deal with string lists. -@{ + @defgroup apr_tables Table and Array Functions + @ingroup APR + Arrays are used to store data which is referenced sequentially or + as a stack. Functions are provided to push and pop individual + elements as well as to operate on the entire array. + + Tables are used to store data which can be referenced by key. + Limited capabilities are provided for tables with multiple elements + which share a key; while key lookup will return only a single + element, iteration is available. Additionally, a table can be + compressed to resolve duplicates. + + Both arrays and tables may store string or binary data; some features, + such as concatenation or merging of elements, work only for string + data. + @{ the table abstract data type @@ -14420,7 +17585,8 @@ number of microseconds per second @return apr_time_t as a usec @return apr_time_t as a msec @return apr_time_t as a msec -@return a second as an apr_time_t +@return milliseconds as an apr_time_t +@return seconds as an apr_time_t @return a second and usec combination as an apr_time_t @return the current time @@ -14704,11 +17870,15 @@ Create a new pool. pool. If it is non-NULL, the new pool will inherit all of its parent pool's attributes, except the apr_pool_t will be a sub-pool. +@remark This function is thread-safe, in the sense that multiple threads + can safely create subpools of the same parent pool concurrently. + Similarly, a subpool can be created by one thread at the same + time that another thread accesses the parent pool. Create a new pool. @param newpool The pool we have just created. -Find the pools allocator +Find the pool's allocator @param pool The pool to get the allocator from. @@ -14778,6 +17948,10 @@ Create a new pool. @param abort_fn A function to use if the pool cannot allocate more memory. @param allocator The allocator to use with the new pool. If NULL the allocator of the parent pool will be used. +@remark This function is thread-safe, in the sense that multiple threads + can safely create subpools of the same parent pool concurrently. + Similarly, a subpool can be created by one thread at the same + time that another thread accesses the parent pool. @@ -15082,10 +18256,16 @@ signal numbers typedef particularly in the presence of die()). Instead, we maintain pools, and allocate items (both memory and I/O - handlers) from the pools --- currently there are two, one for per - transaction info, and one for config info. When a transaction is over, - we can delete everything in the per-transaction apr_pool_t without fear, - and without thinking too hard about it either. + handlers) from the pools --- currently there are two, one for + per-transaction info, and one for config info. When a transaction is + over, we can delete everything in the per-transaction apr_pool_t without + fear, and without thinking too hard about it either. + + Note that most operations on pools are not thread-safe: a single pool + should only be accessed by a single thread at any given time. The one + exception to this rule is creating a subpool of a given pool: one or more + threads can safely create subpools at the same time that another thread + accesses the parent pool. @file apr_general.h This is collection of oddballs that didn't fit anywhere else, @@ -15103,12 +18283,150 @@ Return a human readable string describing the specified error. @defgroup apr_errno Error Codes -@ingroup APR +@ingroup APR @{ Type for specifying an error or status code. + + Creates parent directories if required + + + Extended Parameter container of and + + + + + Base Extended Parameter container of commands + + + + Extended Parameter container of 's CreateRepository method + + + + Extended Parameter container of 's GetAppliedMergeInfo method + + + + Extended Parameter container of 's CreateRepository method + + + + Extended Parameter container of 's GetSuggestedMergeSources method + + + + +If TRUE, recurse up path's directory and look for +a versioned directory. If found, add all intermediate paths between it +and path. If not found, fail with SVN_ERR_CLIENT_NO_VERSIONED_PARENTS. + + + + If force is not set and path is already under version control, return the error +SVN_ERR_ENTRY_EXISTS. If force is set, do not error on already-versioned items. When used +on a directory in conjunction with the recursive flag, this has the effect of scheduling +for addition unversioned files and directories scattered deep within a versioned tree. + + + Extended Parameter container of + + + + Extended Parameter container of + + + + Gets or sets a boolean that if set to true tells copy not to process +externals definitions as part of this operation. + + + Always copies the result to below the target (this behaviour is always used if multiple targets are provided) + + + Creates parent directories if required + + + Extended Parameter container of SvnClient.Copy(SvnTarget^,String^,SvnCopyArgs^)" /> and + + + + + Gets the list of changelist-names + + + Extended Parameter container for SvnClient.PropertyList + + + + Gets the of the command + + + Gets the list of changelist-names + + + Extended Parameter container of 's Diff command + + + + Extended Parameter container of + + + + Extended Parameter container of + + + + Extended Parameter container of + + + + Gets the list of changelist-names + + + Extended Parameter container of 's GetProperty + + + + Extended Parameter container of 's Property method + + + + Extended Parameter container of 's Changed method + + + + Extended Parameter container of and + + + + Gets or sets the blame range as + + + Extended Parameter container for SvnClient.Blame + + + + Extended Parameter container of 's CreateRepository method + + + + Extended Parameter container of 's GetRevisionProperty + + + + Extended Parameter container of 's Changed method + + + + Only retrieve the properties if the node is of the specified kind. Unknown for retrieving the kind + + + Extended Parameter container of + + Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list @@ -15118,34 +18436,118 @@ Type for specifying an error or status code. - - Gets the list of changelist-names + + Extended Parameter container of 's RecoverRepository method + - - Extended Parameter container of SvnClient.Info + + Extended Parameter container of - - Extended Parameter container of 's RecoverRepository method + + Gets or sets a boolean indicating whether the paths changed in the revision should be provided + Defaults to true + + + Extended Parameter container of 's ChangeInfo command - - Gets the list of changelist-names + + Gets the revision in which the Url's are evaluated (Aka peg revision) - - Extended Parameter container of 's Diff command + + Extended Parameter container of 's Write method - - Extended Parameter container of + + Tries to parse a single SvnExternalItem + + + Tries to parse a single SvnExternalItem + + + Writes the value to the specified + + + Creates a string containing the external in string format. Optionally preferring formats compatible with older clients + + + Creates a string containing the external in string format. Preferring formats compatible with older clients + + + Gets the absolute or relative url of the external (What to insert) + + + Gets the target path of the external (Where to place the external) + + + Extended Parameter container of - - If Force is not set then this operation will fail if any path contains locally modified -and/or unversioned items. If Force is set such items will be deleted. + + Gets the list of changelist-names - - Extended Parameter container of and + + Include actual only (tree conflict) nodes in the result (Default true) + + + Include excluded nodes in the result (Default true) + + + Extended Parameter container of SvnClient.Info + + + + Gets the list of changelist-names + + + Extended Parameter container for SvnClient.ListChangeList + + + + Gets or sets the AllowObsstructions value + + If AllowObstructions is TRUE then the update tolerates +existing unversioned items that obstruct added paths from @a URL. Only +obstructions of the same type (file or dir) as the added item are +tolerated. The text of obstructing files is left as-is, effectively +treating it as a user modification after the update. Working +properties of obstructing items are set equal to the base properties. + If AllowObstructions is FALSE then the update will abort +if there are any unversioned obstructing items + + + + + Gets or sets the revision to load. Defaults to the peg revision or Head + + + Extended Parameter container of + + + + Gets the list of changelist-names + + + Extended Parameter container of + + + + Gets the list of changelist-names + + + Extended Parameter container of + + + + Extended Parameter container of + + + + Gets a instance for the current hook request + + + Extended Parameter container of 's DeleteRepository method @@ -15254,22 +18656,28 @@ Set @a *dest to a utf8-encoded stringbuf from native stringbuf @a src; @copyright ==================================================================== - Copyright (c) 2000-2004, 2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @file svn_utf.h @brief UTF-8 conversion routines + Whenever a conversion routine cannot convert to or from UTF-8, the error returned has code @c APR_EINVAL. @@ -15290,9 +18698,9 @@ Set @a *dest to a utf8-encoded stringbuf from native stringbuf @a src; @} - Attempt to load @a libname, returning it in @a dso. + Attempt to load @a libname, returning it in @a *dso. - If @a libname cannot be loaded set @a dso to NULL and return + If @a libname cannot be loaded set @a *dso to NULL and return @c SVN_NO_ERROR. @note Due to pool lifetime issues DSOs are all loaded into a global @@ -15304,39 +18712,33 @@ Set @a *dest to a utf8-encoded stringbuf from native stringbuf @a src; - Initialize the DSO loading routines. - - @note This should be called prior to the creation of any pool that - is passed to a function that comes from a DSO, otherwise you - risk having the DSO unloaded before all pool cleanup callbacks - that live in the DSO have been executed. If it is not called - prior to @c svn_dso_load being used for the first time there - will be a best effort attempt made to initialize the subsystem, - but it will not be entirely thread safe and it risks running - into the previously mentioned problems with DSO unloading and - pool cleanup callbacks. - - Calls svn_dso_initialize2(void) upon error aborts. - - @deprecated Provided for backwards compatibility with the 1.5 API. - - @since New in 1.4. +The same as svn_dso_initialize2(), except that if there is an error this + * calls abort() instead of returning the error. + * + * @deprecated Provided for backwards compatibility with the 1.5 API. + * + * @since New in 1.4. @copyright ==================================================================== - Copyright (c) 2006, 2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15344,53 +18746,40 @@ Set @a *dest to a utf8-encoded stringbuf from native stringbuf @a src; @brief DSO loading routines - - Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list - - - Gets or sets a boolean indicating whether the paths changed in the revision should be provided + + Gets or sets a value indicating how to translate line endings ( = no translation - - + + Gets or sets a directory to receive all file versions + The directory to place the versions in or null to only delegate the files to the event handler - - Extended Parameter container of - + + Gets or sets the blame range as - - Extended Parameter container of + + Extended Parameter container of - - Tries to parse a single SvnExternalItem - - - Tries to parse a single SvnExternalItem - - - Writes the value to the specified - - - Creates a string containing the external in string format. Optionally preferring formats compatible with older clients + + Gets or sets a value indicating whether to clean the database logfiles after the hotcopy - - Creates a string containing the external in string format. Preferring formats compatible with older clients + + Extended Parameter container of 's CreateRepository method + - - Gets the absolute or relative url of the external (What to insert) + + Gets the of the command - - Gets the target path of the external (Where to place the external) + + Gets or sets the author passed to the hook scripts - - Extended Parameter container of - + + Gets or sets a value indicating whether to call the hook after changing the revision property - - Extended Parameter container of 's Changed method - + + Gets or sets a value indicating whether to call the hook before changing the revision property - + Extended Parameter container of 's CreateRepository method @@ -15440,75 +18829,6 @@ target's properties). Extended Parameter container of - - Extended Parameter container of 's Changed method - - - - Extended Parameter container of - - - - Gets or sets a boolean indicating whether the paths changed in the revision should be provided - Defaults to true - - - Extended Parameter container of 's ChangeInfo command - - - - Gets the list of changelist-names - - - Extended Parameter container of - - - - Extended Parameter container of 's GetRevisionPropertyList - - - - Gets or sets the author passed to the hook scripts - - - Gets or sets a value indicating whether to call the hook after changing the revision property - - - Gets or sets a value indicating whether to call the hook before changing the revision property - - - Extended Parameter container of 's CreateRepository method - - - - Extended Parameter container of 's GetRevisionProperty - - - - Extended Parameter container of 's Property method - - - - Gets or sets a value indicating how to translate line endings ( = no translation - - - Gets or sets a directory to receive all file versions - The directory to place the versions in or null to only delegate the files to the event handler - - - Gets or sets the blame range as - - - Extended Parameter container of - - - - Gets or sets the blame range as - - - Extended Parameter container for SvnClient.Blame - - Adds the certificate @a cert to the list of trusted certificates in @a ssl_ctx that will be used for verification. @@ -15544,6 +18864,10 @@ ST and C). The returned table will be allocated in @a pool. Return the depth of the certificate. + + +Allow SNI indicators to be sent to the server. + Use the default root CA certificates as included with the OpenSSL library. @@ -15555,9 +18879,14 @@ algorithm. -@param headers_bucket headers to iterate over -@param func callback routine to invoke for every header in the bucket -@param baton baton to pass on each invocation to func + Iterates over all headers of the message and invokes the callback + function with header key and value. Stop iterating when no more + headers are available or when the callback function returned a + non-0 value. + + @param headers_bucket headers to iterate over + @param func callback routine to invoke for every header in the bucket + @param baton baton to pass on each invocation to func @@ -15615,6 +18944,11 @@ ownership of a private copy of the data. Transform @a bucket in-place into an aggregate bucket. + + +serf_bucket_aggregate_cleanup will instantly destroy all buckets in + the aggregate bucket that have been read completely. Whereas normally, + these buckets are destroyed on every read operation. Advise the response @a bucket that this was from a HEAD request and @@ -15671,64 +19005,153 @@ root of the remote host, without the closing '/'. @} - - Gets or sets a boolean indication whether to retrieve all revision properties - Default value: false + + Gets the list of changelist-names - - Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list - This list defaults to the author, date, logmessage properties. Clear the list to retrieve no properties, -or set RetrieveAllProperties to true to retrieve all properties. - + + Extended Parameter container for SvnClient.DiffSummary + - - Gets or sets the base uri to which relative Uri's are relative + + Extended Parameter container for SvnClient.Blame + - - Gets or sets a boolean indicating whether the merged revisions should be fetched instead of the node changes + + Formats a DateTime in Subversions string format - - Gets or sets a boolean indicating whether only the history of this exact node should be fetched (Aka stop on copying) - If @a StrictNodeHistory is set, copy history (if any exists) will -not be traversed while harvesting revision logs for each target. + + Tries to parse a Svn property into a value - - Gets or sets a boolean indicating whether the paths changed in the revision should be provided + + Gets a list of TortoiseSvn defined directory properties, which are applied recursively on all directories below the set root - - Gets or sets the limit on the number of log items fetched + + +Properties whose values are interpreted as booleans (such as +svn:executable, svn:needs_lock, and svn:special) always fold their +value to this. + - - Gets or sets the range specified by - wrapped as a - New code should either use and or + + All Subversion property names start with this - - Gets the revision in which the Url's are evaluated (Aka peg revision) + + Gets a list of TortoiseSvn defined directory properties, which are applied recursively on all directories below the set root - - Initializes a new instance with the specified range + + A full combination of the first four keywords. - - Initializes a new instance with default properties + + A compressed combination of the other four keywords. - - Extended Parameter container of SvnClient.Log - + + Short version of HeadURL + + + The URL for the head revision of this file. + + + Short version of LastChangedBy + + + Who most recently committed to this file. + + + Short version of LastChangedDate + + + The most recent date (repository time) when this file was changed. + + + Medium version of LastChangedRevision, matching the one CVS uses + + + Short version of LastChangedRevision + + + The most recent revision in which this file was changed + + + The maximum size of an expanded or un-expanded keyword. + + + Extended parameter container for Cleanup + + + + Writes the specified message to the result writer and appends a + + + Writes the progress message to the result writer + The default implementation calls with the specified message + + + Writes the specified message to the result writer + + + Subversion Client Context wrapper; base class of objects using client context + + + + Creates the comparer used to compare the tokens. Defaults to Comparer<TToken>::Default + + + Gets the comparer used to compare the tokens + The instance returned is creatd by + + + Gets a boolean indicating whether the merge result contains differences + + + Gets a boolean indicating whether the merge result contains conflicts + + + Gets or sets a boolean indication whether to retrieve all revision properties + Default value: false + + + Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list + This list defaults to the author, date, logmessage properties. Clear the list to retrieve no properties, +or set RetrieveAllProperties to true to retrieve all properties. + + + + Gets or sets a boolean indicating whether the merged revisions should be fetched instead of the node changes + + + Gets or sets a boolean indicating whether only the history of this exact node should be fetched (Aka stop on copying) + If @a StrictNodeHistory is set, copy history (if any exists) will +not be traversed while harvesting revision logs for each target. + + + Gets or sets a boolean indicating whether the paths changed in the revision should be provided + + + Gets or sets the limit on the number of log items fetched + + + Extended Parameter container of + - + @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15737,17 +19160,22 @@ not be traversed while harvesting revision logs for each target. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15756,17 +19184,22 @@ not be traversed while harvesting revision logs for each target. @copyright ==================================================================== - Copyright (c) 2000-2006 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15822,17 +19255,22 @@ not be traversed while harvesting revision logs for each target. @copyright ==================================================================== - Copyright (c) 2000-2004, 2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15841,17 +19279,22 @@ not be traversed while harvesting revision logs for each target. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15860,17 +19303,22 @@ not be traversed while harvesting revision logs for each target. @copyright ==================================================================== - Copyright (c) 2000-2008 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -15881,52 +19329,31 @@ not be traversed while harvesting revision logs for each target. Provides: Broad wrappers around working copy library functionality. Used By: Client programs. + @copyright + ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + ==================================================================== + @endcopyright + + @file svn_magic.h + @brief Subversion interface to libmagic. + - - Extended Parameter container for SvnClient.Blame - - - - Extended Parameter container of 's CreateRepository method - - - - Extended Parameter container of 's Write method - - - - Gets the of the command - - - Extended Parameter container of - - - - Gets the list of changelist-names - - - Extended Parameter container for SvnClient.ListChangeList - - - - Base Extended Parameter container of commands - - - - Extended parameter container for Cleanup - - - - Gets the list of changelist-names - - - Extended Parameter container of - - - - Extended Parameter container of - - Factory function to create a new SvnDeltaNode instance for the specified file @@ -15989,7 +19416,7 @@ specified by the Called before open root to specify the target settings - The SvnDeltaEditor is a generic receiver of Subversion changes. + The SvnDeltaEditor is a generic receiver of Subversion changes. Hook events on this class or override methods on descendants of this class to receive changes @@ -16004,7 +19431,7 @@ after this event returns Called when a delta window is ready for processing - Creates a new instance to transform + Creates a new instance to transform , into while optionally verifying if is true and verification data is available. @@ -16026,39 +19453,61 @@ verification data is available. Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use After this method is called all properties are either stored managed, or are no longer readable - - Gets a instance for the current hook request - - - Extended Parameter container of + + Extended Parameter container for SvnClient.List - - Gets or sets the AllowObsstructions value - - If AllowObstructions is TRUE then the update tolerates -existing unversioned items that obstruct added paths from @a URL. Only -obstructions of the same type (file or dir) as the added item are -tolerated. The text of obstructing files is left as-is, effectively -treating it as a user modification after the update. Working -properties of obstructing items are set equal to the base properties. - If AllowObstructions is FALSE then the update will abort -if there are any unversioned obstructing items - - + + Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list - - Gets or sets the revision to load. Defaults to the peg revision or Head + + Gets or sets a boolean indicating whether the paths changed in the revision should be provided - - Extended Parameter container of + - - Gets the list of changelist-names + + Gets or sets a boolean indication whether to retrieve all revision properties + Default value: false - - Extended Parameter container for SvnClient.DiffSummary + + Gets the list of properties to retrieve. Only SVN 1.5+ repositories allow adding custom properties to this list + This list defaults to the author, date, logmessage properties. Clear the list to retrieve no properties, +or set RetrieveAllProperties to true to retrieve all properties. + + + + Gets or sets the base uri to which relative Uri's are relative + + + Gets or sets a boolean indicating whether the merged revisions should be fetched instead of the node changes + + + Gets or sets a boolean indicating whether only the history of this exact node should be fetched (Aka stop on copying) + If @a StrictNodeHistory is set, copy history (if any exists) will +not be traversed while harvesting revision logs for each target. + + + Gets or sets a boolean indicating whether the paths changed in the revision should be provided + + + Gets or sets the limit on the number of log items fetched + + + Gets or sets the range specified by - wrapped as a + New code should either use and or + + + Gets the revision in which the Url's are evaluated (Aka peg revision) + + + Initializes a new instance with the specified range + + + Initializes a new instance with default properties + + + Extended Parameter container of SvnClient.Log @@ -16133,6 +19582,9 @@ instance over the specified credential instance Container for all subversion authentication settings on a client + + The Window handle (HWND) of the owner Window + The password to authorize with @@ -16198,71 +19650,134 @@ is false SharpSvn SvnClient exception + + When not NULL, contains a String, Uri or SvnTarget, or an IEnumberable of one of these, +containing (some of) the targets of the command executed. This to help debugging issues from just +handling the exceptions + Gets the root cause of the exception; commonly the most Gets the raw subversion error code casted to a + + Gets the operating system error code when there is one +(Only valid if SvnErrorCategory returns ) + + - Gets the operating system error code when there is one + Gets the operating system error code when there is one (Only valid if SvnErrorCategory returns ) Gets the raw subversion error code - + + Raises the event. + + + Raises the event. + + + Raises the event. + + + Raises the event. + + + +Raised just before a command is executed. This allows a listener +to cleanup before a new command is started + + + + +Raised on progress. The event is first +raised on the object and +then on the + + + +Raised when a subversion exception occurs. +Set to true to cancel +throwing the exception + + + + +Raised to allow canceling operations. The event is first +raised on the object and +then on the + + Streamingly retrieve the log messages for a set of revision(s). - + Streamingly retrieve the log messages for a set of revision(s) Streamingly retrieve the log messages for a set of revision(s). - + + Streamingly retrieve the log messages for a set of revision(s). + + + Resolves a dated or head revision to an actual revision number + + + Resolves a dated or head revision to an actual revision number + Resolves a dated or head revision to an actual revision number + + Get the latest revision in the repository - + Get the latest revision in the repository Get the latest revision in the repository - + Reparents the session to the specified Uri in the same repository - + Reparents the session to the specified Uri Reparents the session to the specified Uri in the same repository - + Opens the session to the specified Uri - + Opens the session to the specified Uri Opens the session to the specified Uri - - Initializes a new SvnRemoteSession instance and then a session to the specified url + + Initializes a new SvnRemoteSession instance and then a session to the specified url - + Initializes a new SvnRemoteSession instance + + This class gives access to the Subversion network protocol. Make sure all +passed paths use '/' as path separator. Refer to svn_ra.h for details about the +functions on this class, or use the more polished wrappers on the SvnClient class + + Raised to allow canceling operations. The event is first raised on the object and then on the - + Gets the content of a path directly from a repository - + Gets the content of a path directly from a repository Gets the content of a path directly from a repository - + Lists the content of a path directly from a repository - + Lists the content of a path directly from a repository Lists the content of a path directly from a repository @@ -16306,17 +19821,17 @@ then on the Gets a revision property directly from a repository Gets the specified revision property directly from the repository - + Equivalent to svnlook changed - + Gets the changed paths directly from a repository Equivalent to svnlook changed - + Equivalent to svnlook changed - + Gets the changed paths directly from a repository Equivalent to svnlook changed @@ -16327,10 +19842,10 @@ then on the Gets the change information of a change directly from a repository Gets the change information (author, date, log, paths, etc.) of the last change in a repository - + Gets the change information (author, date, log, paths, etc.) of a change in a repository - + Gets the change information of a change directly from a repository Gets the change information (author, date, log, paths, etc.) of the last change in a repository @@ -16369,7 +19884,7 @@ is experimental Gets the working copy version (svnversion) - + Gets a list of entries contained in the specified working copy path Helper method used by AnkhSVN to detect nested working copies Only the entry structures representing files and SVN_WC_ENTRY_THIS_DIR contain complete information. The entry @@ -16377,7 +19892,7 @@ structures representing subdirs have only the `kind' and `state' fields filled i routine to open its @a path and read the @c SVN_WC_ENTRY_THIS_DIR structure, or call svn_wc_entry() on its @a path. - + Gets a list of entries contained in the specified working copy path Helper method used by AnkhSVN to detect nested working copies Only the entry structures representing files and SVN_WC_ENTRY_THIS_DIR contain complete information. The entry @@ -16385,14 +19900,14 @@ structures representing subdirs have only the `kind' and `state' fields filled i routine to open its @a path and read the @c SVN_WC_ENTRY_THIS_DIR structure, or call svn_wc_entry() on its @a path. - + Enumerates through the list of entries contained in the specified working copy path Only the entry structures representing files and SVN_WC_ENTRY_THIS_DIR contain complete information. The entry structures representing subdirs have only the `kind' and `state' fields filled in. If you want info on a subdir, you must use this routine to open its @a path and read the @c SVN_WC_ENTRY_THIS_DIR structure, or call svn_wc_entry() on its @a path. - + Enumerates through the list of entries contained in the specified working copy path Only the entry structures representing files and SVN_WC_ENTRY_THIS_DIR contain complete information. The entry structures representing subdirs have only the `kind' and `state' fields filled in. If you want info on a subdir, you must use this @@ -16528,6 +20043,9 @@ then on the Applies the and raises the event + + Raised after a successfull commit + Raised just before committing to allow modifying the log message @@ -16644,6 +20162,9 @@ is set to the exception which would have been throw. Defaults to true. Sets the value of a revision property on files, dirs in a specific revision (svn propset --revision) Sets the value of a revision property on files, dirs in a specific revision (svn propset --revision) + + Gets the (relevant) working copy root of a path or null if the path doesn't have one + Gets the Uuid of a Path, or if path is not versioned true if successfull, otherwise false @@ -16667,6 +20188,10 @@ is set to the exception which would have been throw. Defaults to true. Gets the repository Uri of a path, or null if path is not versioned See also + + Applies a patch file to a directory + Applies a patch file to a directory + Replays the specified revisions on the specified target to the editory @@ -16674,20 +20199,20 @@ is set to the exception which would have been throw. Defaults to true. Replays the specified revisions on the specified target to the editor Replays the specified revisions on the specified target to the editor - + Gets a list of versions of the specified file This function allows access to the raw data used to create a Blame report - + Gets a lists of versions of the specified file Gets a list of versions of the specified file This function allows access to the raw data used to create a Blame report - + Lists the versions of the specified file This function allows access to the raw data used to create a Blame report - + Lists the versions of the specified file Lists the versions of the specified file This function allows access to the raw data used to create a Blame report @@ -16699,42 +20224,42 @@ is set to the exception which would have been throw. Defaults to true. Checks whether the repository of the specified target has the specified capabilities Checks whether the repository of the specified target has the specified capabilities - + Retrieve the content of specified files or URLs with revision and author information per-line (svn blame) - + Retrieve the content of specified files or URLs with revision and author information per-line (svn blame) - + Streamingly retrieve the content of specified files or URLs with revision and author information per-line (svn blame) - + Streamingly retrieve the content of specified files or URLs with revision and author information per-line (svn blame) Streamingly retrieve the content of specified files or URLs with revision and author information per-line (svn blame) - + Retrieves a list of previously merged revisions from the specified source - + Retrieves a list of previously merged revisions from the specified source - + Retrieves previously merged revisions from the specified source - + Retrieves a list of previously merged revisions from the specified source Retrieves previously merged revisions from the specified source - + Retrieves a list of revisions of source that are available for merging - + Retrieves a list of revisions of source that are available for merging - + Retrieves revisions of source that are available for merging - + Retrieves a list of revisions of source that are available for merging Retrieves revisions of source that are available for merging @@ -16754,24 +20279,24 @@ is set to the exception which would have been throw. Defaults to true. Gets a list of Uri's which might be valid merge sources The list contains copy-from locations and previous merge locations - + Gets the contents of the specified changelist below a specified directory (svn changelist) - + Gets the contents of the specified changelist below a specified directory (svn changelist) Gets the contents of the specified changelist below a specified directory (svn changelist) - + Streamingly gets the contents of the specified changelist below a specified directory (svn changelist) - + Streamingly gets the contents of the specified changelist below a specified directory (svn changelist) Streamingly gets the contents of the specified changelist below a specified directory (svn changelist) - + Deassociate the specified path(s) from the specified changelist (svn changelist) - + Deassociate the specified path(s) from the specified changelist (svn changelist) @@ -16781,10 +20306,10 @@ is set to the exception which would have been throw. Defaults to true. Deassociate the specified path(s) from the specified changelist (svn changelist) Deassociate the specified path(s) from the specified changelist (svn changelist) - + Associate the specified path(s) with the specified changelist (svn changelist) - + Associate the specified path(s) with the specified changelist (svn changelist) @@ -16794,20 +20319,20 @@ is set to the exception which would have been throw. Defaults to true. Associate the specified path(s) with the specified changelist (svn changelist) Associate the specified path(s) with the specified changelist (svn changelist) - + Streamingly retrieves the differences between two revisions or paths (svn diff --summarize) Subversion limitation: Currently only works over Uri targets - + Retrieves the differences between two revisions or paths (svn diff --summarize) Streamingly retrieves the differences between two revisions or paths (svn diff --summarize) Subversion limitation: Currently only works over Uri targets - + Streamingly retrieves the differences between two revisions or paths (svn diff --summarize) Subversion limitation: Currently only works over Uri targets - + Streamingly retrieves the differences between two revisions or paths (svn diff --summarize) Streamingly retrieves the differences between two revisions or paths (svn diff --summarize) Subversion limitation: Currently only works over Uri targets @@ -16894,17 +20419,17 @@ Merges the changes from to + Gets all properties on files or dirs (svn proplist) - + Gets all properties on files or dirs (svn proplist) Gets all properties on files or dirs (svn proplist) - + Streamingly lists all properties on files or dirs (svn proplist) - + Streamingly lists all properties on files or dirs (svn proplist) Streamingly lists all properties on files or dirs (svn proplist) @@ -16935,6 +20460,29 @@ Merges the changes from to Removes the specified property from the specfied path + + Sets the specified property on the specfied path to value + Use to remove an existing property + + + Sets the specified property on the specfied path to value + Use to remove an existing property + + + Sets the specified property on the specfied path to value + Use to remove an existing property + + + Set the value of a property on files, dirs (svn propset) + Sets the specified property on the specfied path to value + Use to remove an existing property + + + Removes the specified property from the specfied path + + + Removes the specified property from the specfied path + Removes the specified property from the specfied path @@ -16942,19 +20490,19 @@ Merges the changes from to + Sets the specified property on the specfied path to value Use to remove an existing property - + Sets the specified property on the specfied path to value Use to remove an existing property - + Sets the specified property on the specfied path to value Use to remove an existing property - + Set the value of a property on files, dirs (svn propset) Sets the specified property on the specfied path to value Use to remove an existing property @@ -16976,90 +20524,90 @@ Merges the changes from to to remove an existing property - + UnlockURLs (svn unlock) UnlockURLs (svn unlock) - + UnlockURLs (svn unlock) UnlockURLs (svn unlock) UnlockURLs (svn unlock) - + Unlock working copy paths (svn unlock) Unlock working copy paths (svn unlock) - + Unlock working copy paths (svn unlock) Unlock working copy paths (svn unlock) Unlock working copy paths (svn unlock) - + LockURLs in the repository, so that no other user can commit changes to them (svn lock) LockURLs in the repository, so that no other user can commit changes to them (svn lock) - + LockURLs in the repository, so that no other user can commit changes to them (svn lock) LockURLs in the repository, so that no other user can commit changes to them (svn lock) LockURLs in the repository, so that no other user can commit changes to them (svn lock) - + Lock working copy paths in the repository, so that no other user can commit changes to them (svn lock) Lock working copy paths in the repository, so that no other user can commit changes to them (svn lock) - + Lock working copy paths in the repository, so that no other user can commit changes to them (svn lock) Lock working copy paths in the repository, so that no other user can commit changes to them (svn lock) Lock working copy paths in the repository, so that no other user can commit changes to them (svn lock) - + Move and/or rename something in repository, remembering history (svn move) Move and/or rename something in repository, remembering history (svn move) - + Move and/or rename something in repository, remembering history (svn move) Move and/or rename something in repository, remembering history (svn move) - + Move and/or rename something in repository, remembering history (svn move) Move and/or rename something in repository, remembering history (svn move) - + Move and/or rename something in repository, remembering history (svn move) Move and/or rename something in repository, remembering history (svn move) Move and/or rename something in repository, remembering history (svn move) - + Move and/or rename something in working copy, remembering history (svn move) Move and/or rename something in working copy, remembering history (svn move) - + Move and/or rename something in working copy, remembering history (svn move) @@ -17117,6 +20665,19 @@ All members must be of the same type. Duplicate something in working copy, remembering history (svn copy) Duplicate something in working copy, remembering history (svn copy) + + Recursively upgrades a working copy.(svn upgrade) + true if the operation succeeded; false if it did not + Operation failed and args.ThrowOnError = true + Parameters invalid + + + Recursively upgrades a working copy.(svn upgrade) + Recursively upgrades a working copy.(svn upgrade) + true if the operation succeeded; false if it did not + Operation failed + Parameters invalid + Cleans up the specified path, removing all workingcopy locks left behind by crashed clients true if the operation succeeded; false if it did not @@ -17140,10 +20701,10 @@ All members must be of the same type. Remove 'conflicted' state on a working copy file or directory using the specified choice Calls with SvnAccept.Merged - + Restore pristine working copy file (undo most local edits) (svn revert) - + Restore pristine working copy file (undo most local edits) (svn revert) @@ -17153,10 +20714,10 @@ All members must be of the same type. Restore pristine working copy file (undo most local edits) (svn revert) Restore pristine working copy file (undo most local edits) (svn revert) - + Send changes from your working copy to the repository (svn commit) - + Send changes from your working copy to the repository (svn commit) @@ -17165,10 +20726,10 @@ All members must be of the same type. Send changes from your working copy to the repository (svn commit) - + Send changes from your working copy to the repository (svn commit) - + Send changes from your working copy to the repository (svn commit) @@ -17212,13 +20773,13 @@ by importing the root remotely, checking that out and then adding the files loca by importing the root remotely, checking that out and then adding the files locally Implemented as an Add follwed by an obstructed checkout - + Remove files and directories from version control at the repository (svn delete|remove) - + Remove files and directories from version control at the repository (svn delete|remove) - + Remove files and directories from version control at the repository (svn delete|remove) @@ -17231,10 +20792,10 @@ by importing the root remotely, checking that out and then adding the files loca Remove files and directories from version control at the repository (svn delete|remove) Remove files and directories from version control at the repository (svn delete|remove) - + Remove files and directories from version control, scheduling (svn delete|remove) - + Remove files and directories from version control, scheduling (svn delete|remove) @@ -17244,10 +20805,10 @@ by importing the root remotely, checking that out and then adding the files loca Remove files and directories from version control, scheduling (svn delete|remove) Remove files and directories from version control, scheduling (svn delete|remove) - + Create a new directory under version control at the repository (svn mkdir) - + Create a new directory under version control at the repository (svn mkdir) @@ -17260,10 +20821,10 @@ by importing the root remotely, checking that out and then adding the files loca Create a new directory under version control at the repository (svn mkdir) Create a new directory under version control at the repository (svn mkdir) - + Create a new directory under version control, scheduling (svn mkdir) - + Create a new directory under version control, scheduling (svn mkdir) @@ -17273,30 +20834,30 @@ by importing the root remotely, checking that out and then adding the files loca Create a new directory under version control, scheduling (svn mkdir) Create a new directory under version control, scheduling (svn mkdir) - + Gets information about the specified target Gets information about the specified target - + Gets information about the specified target - + Streamingly retrieves information about a local or remote item (svn info) Gets information about the specified target - + Streamingly lists directory entries in the repository. (svn list) - + Gets a list of directory entries in the repository. (svn list) Streamingly lists directory entries in the repository. (svn list) - + Streamingly lists directory entries in the repository. (svn list) - + Streamingly lists directory entries in the repository. (svn list) Streamingly lists directory entries in the repository. (svn list) @@ -17307,55 +20868,55 @@ by importing the root remotely, checking that out and then adding the files loca Writes the content of specified files or URLs to a stream. (svn cat) Writes the content of specified files or URLs to a stream. (svn cat) - + Gets log messages of the specified target - + Gets log messages of the specified target - + Gets log messages of the specified target - + Gets log messages of the specified target - + Gets log messages of the specified target - + Retrieve the log messages for a set of revision(s) and/or file(s). (svn log) Gets log messages of the specified target - + Gets log messages of the specified target path - + Gets log messages of the specified target path - + Gets log messages of the specified target A pegrevision applied on the target overrides one set on the args object - + Gets log messages of the specified target - + Gets log messages of the specified target - + Streamingly retrieve the log messages for a set of revision(s) and/or file(s). (svn log) Gets log messages of the specified target - + Gets a list of status data for the specified path - + Recursively gets a list of 'interesting' status data for the specified path - + Gets status data for the specified path - + Retrieve the status of working copy files and directories (svn status) Recursively gets 'interesting' status data for the specified path @@ -17422,24 +20983,24 @@ They will be added in next commit(svn add) Recursively exports the specified target to the specified path Subversion optimizes this call if you specify a workingcopy file instead of an url - + Updates the specified paths to the specified revision Operation failed and args.ThrowOnError = true Parameters invalid true if the operation succeeded; false if it did not - + Updates the specified paths to the specified revision Operation failed and args.ThrowOnError = true Parameters invalid true if the operation succeeded; false if it did not - + Recursively updates the specified paths to the latest (HEAD) revision Operation failed Parameters invalid - + Recursively updates the specified paths to the latest (HEAD) revision Operation failed Parameters invalid @@ -17500,6 +21061,9 @@ They will be added in next commit(svn add) Raises the event. + + Raises the event. + Raises the event. @@ -17526,6 +21090,12 @@ throwing the exception Raised on conflict. The event is first raised on the object and +then on the + + + +Raised on progress. The event is first +raised on the object and then on the @@ -17591,6 +21161,12 @@ the managed resource handler Gets the the applies to; null if it applies to a revision property + + While the configuration isn't used yet, allows overriding specific configuration options + + + Gets the subversion global ignore pattern as specified in the configuration + Gets or sets a boolean indicating whether to always use the subversion integrated diff library instead of the user configured diff tools @@ -17612,6 +21188,46 @@ handler for svn+ssh:// is registered Gets or sets a boolean indicating whether commits will fail if no log message is provided The default value of this property is true + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties are either stored managed, or are no longer readable + + + Retrieve StartRevision-EndRevision as a + + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties are either stored managed, or are no longer readable + + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties are either stored managed, or are no longer readable + + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties are either stored managed, or are no longer readable + + + Gets the nesting level of the logs via merges + + + Set to true when the following items are merged-child items of this item. + + + Gets or sets a boolean indicating whether this file should be filtered from the patch handling + + + Path to a temporary file containing the result of the patch + + + Path to a temporary file containing the rejected hunks of the patch + + + The path to the node as stored in the patch file, normalized to Windows style + + + The path to the node as stored in the patch file, kept in Subversion canonical format + Gets the file contents of the current version as readable stream (Only valid in EventHandler) Not in the EventHandler @@ -17651,14 +21267,11 @@ handler for svn+ssh:// is registered Gets the raw content status of the node when available - - Gets a boolean indicating whether the node is a file external - Gets the tree conflict data of this node or null if this node doesn't have a tree conflict - - Gets the recorded node type of this node + + The length of the file currently in the working copy, matching the name of this node. -1 if there is no such file. Gets an object containing detailed workingcopy information of this node @@ -17678,9 +21291,18 @@ handler for svn+ssh:// is registered Gets the out of date status of the item; if true the RemoteUpdate* properties are set + + Gets a boolean indicating whether the node is a file external + Gets a boolean indicating whether the file is switched in the working copy + + Gets the repository id as String + + + Gets the repository id as Guid + Gets a boolean indicating whether the file is copied in the working copy A file or directory can be 'copied' if it's scheduled for addition-with-history @@ -17695,12 +21317,24 @@ handler for svn+ssh:// is registered Property status in working copy + + The status of the text/content of the node + Content status in working copy + + The node status (combination of restructuring operations, text and property status. + + + The path returned by the subversion api + - The path the notification is about, translated via - The property contains the path in normalized format; while returns the exact path from the subversion api + The full path the notification is about, as translated via + See also . + + + Gets the recorded node type of this node Serves as a hashcode for the specified type @@ -17765,13 +21399,13 @@ normal Gets a list of applied merges - + ConsiderInheritance is ignored at this time - + ConsiderInheritance is ignored at this time - + Initializes a new instance of the class with the values from the specified collection @@ -17790,7 +21424,7 @@ normal Set to true when the following items are merged-child items of this item. - Gets the log origin SharpSvn used for retrieving the logfile + Gets the log origin SharpSvn used for retrieving the log Serves as a hashcode for the specified type @@ -17859,6 +21493,9 @@ normal Serves as a hashcode for the specified type + + The SHA1 checksum of the file. (Used to return a MD5 checksom in Subversion <= 1.6) + Gets a boolean indicating whether working copy information is available in this instance @@ -17907,6 +21544,14 @@ at the specified version Serves as a hashcode for the specified type + + Gets the list of custom properties retrieved with the log + Properties must be listed in SvnLogArgs.RetrieveProperties to be available here + + + Gets the list of custom properties retrieved with the log + Properties must be listed in SvnLogArgs.RetrieveProperties to be available here + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use After this method is called all properties are either stored managed, or are no longer readable @@ -17921,7 +21566,7 @@ at the specified version If action relates to properties, specifies the name of the property. - When @c action is @c svn_wc_notify_merge_begin, and both the left and right sides + When @c action is @c svn_wc_notify_merge_begin, and both the left and right sides of the merge are from the same URL. In all other cases, it is NULL @@ -17934,12 +21579,12 @@ action is @c svn_wc_notify_locked. For other actions, it is NULL. - [[[ The base revision before updating (Not guaranteed compatible with future Subversion versions!)]]] + The base revision before updating When action is svn_wc_notify_update_completed, target revision -of the update, or @c SVN_INVALID_REVNUM if not available; when action is -c svn_wc_notify_blame_revision, processed revision. In all other cases, +of the update, or @c SVN_INVALID_REVNUM if not available; when action is +c svn_wc_notify_blame_revision, processed revision. In all other cases, it is @c SVN_INVALID_REVNUM. @@ -17953,7 +21598,7 @@ it is @c SVN_INVALID_REVNUM. Points to an error describing the reason for the failure when -action is one of the following: @c svn_wc_notify_failed_lock, svn_wc_notify_failed_unlock, +action is one of the following: @c svn_wc_notify_failed_lock, svn_wc_notify_failed_unlock, svn_wc_notify_failed_external. Is @c NULL otherwise. @@ -17985,184 +21630,22551 @@ svn_wc_notify_failed_external. Is @c NULL otherwise. The path the notification is about The property contains the path in normalized format; while returns the exact path from the subversion api - - Serves as a hashcode for the specified type + + Serves as a hashcode for the specified type + + + Gets a boolean indicating whether the Comment was generated by a Generic WebDav client + + + The path the notification is about, translated via + The property contains the path in normalized format; while returns the exact path from the subversion api + + + + + + + + + + + + + + + + + + Gets the operation creating the tree conflict + + + Gets the of + + + Gets the revision of + + + Gets the relative uri of the path inside the repository + Does not include an initial '/'. Ends with a '/' if is . + + + Serves as a hashcode for the specified type + + + Serves as a hashcode for the specified type + + + error message from post-commit hook, or NULL + + + Serves as a hashcode for the specified type + + + Gets the SvnTarget as string + + + Gets the target name in normalized format + + + Gets the operational revision + + + (Optional) The node kind of + + + (Required) The repository root of + + + The target specified + + + (Required) The Uri of . Only differs from target if +specifies a + + + Generic encapsulation of a specific revision of a node in subversion + + + Gets a boolean whether the revision specifies an explicit repository revision + Explicit: Is set, doesn't require a workingcopy and is repository wide applyable + + + Gets a boolean indicating whether the revisionnumber requires a workingcopy to make any sense + + + Serves as a hashcode for the specified type + + + Gets the instance managing authentication on behalf of this client + + + Gets the path to SharpSvn's plink. The path is encoded to be safe for subversion configuration settings + + + Initializes a default configuration. Avoids loading a configuration at a later time + + + Merges configuration from the specified path into the existing configuration + + + Loads the standard subversion configuration and ensures the subversion config dir by creating default files + + + Loads the subversion configuration from the specified path and optionally ensures the path is a subversion config dir by creating default files + + + Loads the subversion configuration from the specified path + + + Subversion Client Context wrapper; base class of objects using client context + + + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties are either stored managed, or are no longer readable + + + Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use + After this method is called all properties values are stored in managed code + + + Long path capable version of + + + Invoke TrySplitCommandLine with as expander + + + Gets the normalized directory name of path (Long path enabled version of , always returning full paths) + + + Gets the filename of the specified target + + + +Converts a local relative path to a valid relative Uri + + + + Gets a file:// style uri for the specified local path + + + +Converts a string from a Uri path to a local path name; unescaping when necessary + + + + +Appends the specified path suffix to the given Uri + + + + +Checks whether the specified path is an absolute path + + + + +Normalizes the Uri to a full absolute Uri + + + + +Checks whether normalization is required + + This method does not verify the casing of invariant parts + + + +Normalizes the path to a full path + + This normalizes drive letters to upper case and hostnames to lowercase to match Subversion 1.6 behavior + + + Gets a boolean indicating whether at least one of the +parent paths or the path (file/directory) itself is a working copy. + + + + Gets a boolean indicating whether the path could contain a Subversion Working Copy + Assumes path is a directory + + + Gets the pathname exactly like it is on disk + + + Gets the absolute pathname exactly like it is on disk (fixing casing). +For not existing paths, if bestEffort is TRUE, returns a path based on existing parents. Otherwise return NULL for not existing paths + + + Gets the absolute pathname exactly like it is on disk (fixing casing); returns NULL for non existing paths + + + Gets the repository Uri of a path, or null if path is not versioned + + + Generated mapping from apr_errno.h + + + System error EDEADLOCK + + + System error ENOSYS + + + System error ENOLCK + + + System error EDEADLK + + + System error EDOM + + + System error EMLINK + + + System error EROFS + + + System error EFBIG + + + System error ENOTTY + + + System error EISDIR + + + System error ENODEV + + + System error EFAULT + + + System error ECHILD + + + System error ENOEXEC + + + System error E2BIG + + + System error ENXIO + + + System error EIO + + + System error ESRCH + + + System error EPERM + + + The given lock was busy. + + + Two passwords do not match. + + + The APR function has not been implemented on this + + + Ininitalizer value. If no option has been found, but + + + APR is using a shared key as the key to the shared memory + + + APR is using a file name as the key to the shared memory + + + APR is using anonymous shared memory + + + APR was unable to find the socket in the poll structure + + + APR has encountered the end of the file + + + Getopt found an option that is missing an argument + + + Getopt found an option not in the option string + + + The operation was incomplete although some processing + + + The operation did not finish before the timeout + + + The child has not finished executing + + + The child has finished executing + + + The thread is not detached + + + The thread is detached + + + Program is currently executing in the parent + + + Program is currently executing in the child + + + APR_ENOTENOUGHENTROPY Not enough entropy to continue + + + The given process wasn't recognized by APR + + + APR_ESYMNOTFOUND Could not find the requested symbol + + + The given path was above the root path. + + + The given path was neither relative nor absolute. + + + The given path was relative. + + + The given path was absolute. + + + APR was unable to open the dso object. For more + + + The specified netmask is invalid + + + The specified IP address is invalid + + + There is no more shared memory available + + + General failure (specific information not available) + + + APR was not given a thread key structure + + + APR was not given a thread structure + + + APR was not given a socket + + + APR was not given a poll structure + + + APR was not given a lock structure + + + APR was not given a directory structure + + + APR was not given a time structure + + + APR was not given a process structure + + + APR was given an invalid socket + + + APR was given an invalid date + + + APR was not provided a pool with which to allocate memory + + + APR was unable to perform a stat on the file + + + APR_OS_START_SYSERR folds platform-specific system error values into + + + APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into + + + APR_OS_START_CANONERR is where APR versions of errno values are defined + + + APR_OS_START_USEERR is obsolete, defined for compatibility only. + + + APR_OS_START_USERERR are reserved for applications that use APR that + + + APR_UTIL_START_STATUS is where APR-Util starts defining it's + + + APR_OS_START_STATUS is where the APR specific status codes start. + + + APR_UTIL_ERRSPACE_SIZE is the size of the space that is reserved for + + + APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit + + + APR_OS_START_ERROR is where the APR specific error values start. + + + Generated mapping from winerror.h + + + +The virtualization storage subsystem has generated an error. + + + + +The file size of this virtual hard disk is not valid. + + + + +The size of the virtual hard disk is not valid. + + + + +Failed to write to the metadata of the virtual hard disk. + + + + +Failed to read the metadata of the virtual hard disk. + + + + +The chain of virtual hard disks is corrupted. The time stamp of the parent virtual hard disk does not match the time stamp of the differencing disk. + + + + +The chain of virtual hard disks is corrupted. There is a mismatch in the identifiers of the parent virtual hard disk and differencing disk. + + + + +The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk. + + + + +The virtual hard disk is corrupted. The block bitmap does not match with the block data present in the virtual hard disk. + + + + +The system does not support this version of the virtual hard disk. The block size is invalid. + + + + +The virtual hard disk is corrupted. The block allocation table in the virtual hard disk is corrupt. + + + + +Failed to write to the virtual hard disk failed because the system failed to allocate a new block in the virtual hard disk. + + + + +The virtual hard disk is corrupted. The sparse header in the virtual hard disk is corrupt. + + + + +The system does not support this version of the virtual hard disk.This version of the sparse header is not supported. + + + + +The virtual hard disk is corrupted. The sparse header checksum does not match the on-disk checksum. + + + + +The version does not support this version of the file format. + + + + +The system does not recognize the file format of this virtual hard disk. + + + + +The virtual hard disk is corrupted. The virtual hard disk drive footer in the virtual hard disk is corrupted. + + + + +The virtual hard disk is corrupted. The virtual hard disk drive footer checksum does not match the on-disk checksum. + + + + +The virtual hard disk is corrupted. The virtual hard disk drive footer is missing. + + + + +Some BCD entries were not synchronized correctly with the firmware. + + + + +Entries enumerated have exceeded the allowed threshold. + + + + +Some BCD entries were not imported correctly from the BCD store. + + + + +The specified number of disks is invalid. + + + + +A primary pack is already present. + + + + +The pack has no valid log copies. + + + + +The operation is only supported on simple and spanned plexes. + + + + +The operation is not supported on mirrored volumes. + + + + +The specified number of disks in a plex member is invalid. + + + + +The specified number of disks in a plex is invalid. + + + + +All disks failed to be updated with the new content of the log. + + + + +The specified pack is not the primary pack. + + + + +The configuration of the pack is online. + + + + +The configuration of the pack is offline. + + + + +The boot disk experienced failures. + + + + +All disks participating to the volume must have the same sector size. + + + + +The specified number of extents is invalid. + + + + +The specified volume already has a retain partition. + + + + +The specified volume is offline. + + + + +The specified volume does not have a retain partition. + + + + +The operation is only supported on mirrored volumes. + + + + +The specified size for the volume is not a multiple of the sector size. + + + + +The specified volume length is invalid. + + + + +The specified volume id is invalid. There are no volumes with the specified volume id. + + + + +The specified volume contains a missing disk. + + + + +An unexpected layout change occurred outside of the volume manager. + + + + +There is currently a transaction in process. + + + + +There is already a pending request for notifications. Wait for the existing request to return before requesting for more notifications. + + + + +The Size fields in the VM_VOLUME_LAYOUT input structure are incorrectly set. + + + + +The operation is only supported on simple plexes. + + + + +The operation is only supported on RAID-5 plexes. + + + + +The specified plex type is invalid. + + + + +The specified plex is currently regenerating. + + + + +The specified plex is missing. + + + + +The specified plex is the last active plex in the volume. The plex cannot be removed or else the volume will go offline. + + + + +The specified plex index is greater or equal than the number of plexes in the volume. + + + + +The same plex index was specified more than once. + + + + +The specified plex is already in-sync with the other active plexes. It does not need to be regenerated. + + + + +Failed to update the disk's partition layout. + + + + +The specified disk has an unsupported partition style. Only MBR and GPT partition styles are supported. + + + + +The pack does not have a quorum of healthy disks. + + + + +The specified pack already has a quorum of healthy disks. + + + + +The specified pack is offline. + + + + +The specified pack name is invalid. + + + + +The specified pack is the invalid pack. The operation cannot complete with the invalid pack. + + + + +The specified pack id is invalid. There are no packs with the specified pack id. + + + + +The specified source and target packs are identical. + + + + +The specified number of plexes is invalid. + + + + +The specified number of members is invalid. + + + + +The notifications have been reset. Notifications for the current user are invalid. Unregister and re-register for notifications. + + + + +The specified notification user does not exist. Failed to unregister user for notifications. + + + + +There are currently no registered users for notifications. The task number is irrelevant unless there are registered users. + + + + +All disks belonging to the pack failed. + + + + +The specified member is already regenerating. + + + + +The specified member is not detached. Cannot replace a member which is not detached. + + + + +The specified member is missing. It cannot be regenerated. + + + + +The specified member index is greater or equal than the number of members in the volume plex. + + + + +The same member index was specified more than once. + + + + +The specified member is already in-sync with the other active members. It does not need to be regenerated. + + + + +There is already a maximum number of registered users. + + + + +The specified interleave length is invalid. + + + + +The system does not support fault tolerant volumes. + + + + +The specified extent lengths cannot be used to construct a volume with specified length. + + + + +The specified parition overlaps an EBR (the first track of an extended partition on a MBR disks). + + + + +The specifed volume extent is not sector aligned. + + + + +The specified volume extent is not within the public region of the disk. + + + + +The specified volume is retained and can only be extended into a contiguous extent. The specified extent to grow the volume is not contiguous with the specified volume. + + + + +The specified extent is already used by other volumes. + + + + +Dynamic disks are not supported on this system. + + + + +A disk in the volume layout provides extents to more than one plex. + + + + +A disk in the volume layout provides extents to more than one member of a plex. + + + + +The specified disk set contains volumes which exist on disks outside of the set. + + + + +The specified disk has an invalid sector size. + + + + +The force revectoring of bad sectors failed. + + + + +There is not enough usable space for this operation. + + + + +The specified disk is not empty. + + + + +The specified disk is missing. The operation cannot complete on a missing disk. + + + + +The disk layout contains more than the maximum number of supported partitions. + + + + +The disk layout contains primary partitions in between logical drives. This is an invalid disk layout. + + + + +The disk layout contains partitions which are samller than the minimum size. + + + + +The disk layout contains partitions which are not cylinder aligned. + + + + +The disk layout contains non-basic partitions which appear after basic paritions. This is an invalid disk layout. + + + + +The specified disk has an invalid disk layout. + + + + +The specified disk(s) cannot be removed since it is the last remaining voter. + + + + +The specified disk is an invalid disk. Operation cannot complete on an invalid disk. + + + + +The specified disk id is invalid. There are no disks with the specified disk id. + + + + +The disk is already dynamic. + + + + +The same disk was specified more than once in the migration list. + + + + +The disk contains non-simple volumes. + + + + +A majority of disks failed to be updated with the new configuration. + + + + +The configuration on the disk is not insync with the in-memory configuration. + + + + +The configuration data on the disk is corrupted. + + + + +The configuration database is full. + + + + +One or more disks were not fully migrated to the target pack. They may or may not require reimport after fixing the hardware problems. + + + + +The regeneration operation was not able to copy all data from the active plexes due to bad sectors. + + + + +A virtual machine is running with its memory allocated across multiple NUMA nodes. This does not indicate a problem unless the performance of your virtual machine is unusually slow. If you are experiencing performance problems, you may need to modify the NUMA configuration. For detailed information, see http://go.microsoft.com/fwlink/?LinkId=92362. + + + + +Cannot restore this virtual machine to the saved state because of hypervisor incompatibility. Delete the saved state data and then try to start the virtual machine. + + + + +Cannot restore this virtual machine because an item read from the saved state data is not recognized. Delete the saved state data and then try to start the virtual machine. + + + + +Cannot restore this virtual machine because the saved state data cannot be read. Delete the saved state data and then try to start the virtual machine. + + + + +Cannot create the memory block for the virtualization infrastructure driver because the requested number of pages exceeded the limit. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot lock or map the memory block page for the virtualization infrastructure driver because it has already been locked using a reserve page set page. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The reserve page set for the virtualization infrastructure driver is too small to use in the lock request. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot destroy or reuse the reserve page set for the virtualization infrastructure driver because it is in use. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The lock or unlock request uses an invalid guest operating system memory address. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The memory mapped I/O for this page range no longer exists. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot set or reset the memory block property more than once for the virtualization infrastructure driver. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +This kernel mode interface for the virtualization infrastructure driver has already been initialized. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The maximum number of kernel mode clients for the virtualization infrastructure driver has been reached. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Invalid state for the virtual processor. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot stop the virtual processor immediately because of a pending intercept. + + + + +Cannot add a virtual processor to the partition because the maximum has been reached. + + + + +The message queue for the virtualization infrastructure driver has been closed. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Notifications cannot be created on the memory block because it is use. + + + + +The handle is not a valid parent partition mapping handle for the virtualization infrastructure driver. + + + + +The request to lock or map a memory block page failed because the virtualization infrastructure driver memory block limit has been reached. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot install client notifications because no message queue for the virtualization infrastructure driver is associated with the memory block. + + + + +The handle is not a valid page range handle for the virtualization infrastructure driver. + + + + +The handle is not a valid message queue handle for the virtualization infrastructure driver. + + + + +The request exceeded the memory block page limit for the virtualization infrastructure driver. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The handle is not a valid memory block handle for the virtualization infrastructure driver. + + + + +The memory block for the virtualization infrastructure driver is already associated with a message queue. + + + + +The non-uniform memory access (NUMA) node index does not match a valid index in the system NUMA topology. + + + + +The non-uniform memory access (NUMA) node settings do not match the system NUMA topology. In order to start the virtual machine, you will need to modify the NUMA configuration. For detailed information, see http://go.microsoft.com/fwlink/?LinkId=92362. + + + + +Cannot unlock the page array for the guest operating system memory address because it does not match a previous lock request. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The memory block for the virtualization infrastructure driver is still being used and cannot be destroyed. + + + + +The memory block page for the virtualization infrastructure driver cannot be mapped because the page map limit has been reached. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +A message queue with the same name already exists for the virtualization infrastructure driver. + + + + +The virtualization infrastructure driver has encountered an error. Could not find the requested partition. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The virtualization infrastructure driver has encountered an error. The requested partition does not exist. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +Cannot create the partition for the virtualization infrastructure driver because another partition with the same name already exists. + + + + +The message queue name of the virtualization infrastructure driver exceeds the maximum. + + + + +The partition name of the virtualization infrastructure driver exceeds the maximum. + + + + +The name of the partition or message queue for the virtualization infrastructure driver is invalid. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +No handler exists to handle the message for the virtualization infrastructure driver. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The message queue for the virtualization infrastructure driver is full and cannot accept new messages. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The number of registered handlers for the virtualization infrastructure driver exceeded the maximum. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +The handler for the virtualization infrastructure driver is already registered. Restarting the virtual machine may fix the problem. If the problem persists, try restarting the physical computer. + + + + +No hypervisor is present on this system. + + + + +A hypervisor feature is not available to the user. + + + + +There are not enough resources to complete the operation. + + + + +The physical connection being used for debuggging has not recorded any receive activity since the last operation. + + + + +An attempt to retrieve debugging data failed because none was available. + + + + +The proximity domain information is invalid. + + + + +The hypervisor could not perform the operation because the object or value was either already in use or being used for a purpose that would not permit completing the operation. + + + + +The hypervisor could not complete the operation because a required feature of the synthetic interrupt controller (SynIC) was disabled. + + + + +The indicated partition is not in a valid state for saving or restoring. + + + + +The previous virtual interrupt has already been acknowledged. + + + + +The previous virtual interrupt has not been acknowledged. + + + + +Not enough buffers were supplied to send a message. + + + + +The hypervisor could not perform the operation because the specified connection identifier is invalid. + + + + +The hypervisor could not perform the operation because the specified port identifier is invalid. + + + + +The hypervisor could not perform the operation because the specified VP index is invalid. + + + + +A partition with the specified partition Id does not exist. + + + + +The maximum partition depth has been exceeded for the partition hierarchy. + + + + +There is not enough memory in the hypervisor pool to complete the operation. + + + + +The specified value of a partition property is out of range or violates an invariant. + + + + +The hypervisor does not recognize the specified partition property. + + + + +The operation is not allowed in the current state. + + + + +The hypervisor could not perform the operation because the partition is entering or in an invalid state. + + + + +Access to the specified object was denied. + + + + +The hypervisor could not perform the operation beacuse an invalid parameter was specified. + + + + +The hypervisor could not perform the operation beacuse a parameter has an invalid alignment. + + + + +The hypervisor does not support the operation because the encoding for the hypercall input register is not supported. + + + + +The hypervisor does not support the operation because the specified hypercall code is not supported. + + + + +The request will be completed later by NDIS status indication. + + + + +The wireless local area network interface is power down and doesn't support the requested operation. + + + + +The wireless local area network interface is busy and can not perform the requested operation. + + + + +The wireless local area network interface is in auto configuration mode and doesn't support the requested parameter change operation. + + + + +The miniport adapter is in low power state. + + + + +The current state of the specified port on this network interface does not support the requested operation. + + + + +The specified port does not exist on this network interface. + + + + +The revision number specified in the structure is not supported. + + + + +Network interface was not found. + + + + +The offload operation on the network interface has been paused. + + + + +The specified request is not a valid operation for the target device. + + + + +The network address used in the request is invalid. + + + + +The I/O operation failed because network media is disconnected or wireless access point is out of range. + + + + +An attempt to allocate a hardware resource failed because the resource is used by another component. + + + + +An attempt was made to map a file that is alreay mapped. + + + + +An error occured while NDIS tried to map the file. + + + + +An attempt was made to map a file that can not be found. + + + + +An attempt was made to remove a token ring group address that is in use by other components. + + + + +Network interface does not support this media type. + + + + +The network interface has been removed. + + + + +Network interface does not support this OID (Object Identifier) + + + + +The length of buffer submitted for this operation is too small. + + + + +The data used for this operation is not valid. + + + + +The length of the buffer submitted for this operation is not valid. + + + + +Network interface is not ready to complete this operation. + + + + +An attempt was made to send an invalid packet on a network interface. + + + + +Netword interface does not support this request. + + + + +Network interface can not process the request because it is being reset. + + + + +Netowork interface aborted the request. + + + + +At attempt was made to remove a multicast address that was never added. + + + + +An attempt was made to add a duplicate multicast address to the list. + + + + +The multicast list on the network interface is full. + + + + +Network interface has encountered an internal unrecoverable failure. + + + + +Failed to open the network interface. + + + + +Failed to find the network interface or network interface is not ready. + + + + +An invalid characteristics table was used. + + + + +An invalid version was specified. + + + + +The binding to the network interface is being closed. + + + + +The combination of IPsec transform types is not valid. + + + + +The IPsec cipher transform is not compatible with the policy. + + + + +The packet should be dropped, no ICMP should be sent. + + + + +The IPsec cipher transform is not valid. + + + + +The IPsec authentication transform is not valid. + + + + +The notification function for a callout returned an error. + + + + +The maximum number of sublayers has been reached. + + + + +The parameter is incorrect. + + + + +The provider context is of the wrong type. + + + + +The enumeration template or subscription will never match any objects. + + + + +An IKE policy cannot contain an Extended Mode policy. + + + + +The Diffie-Hellman group is not compatible with the policy type. + + + + +The authentication method is not compatible with the policy type. + + + + +The raw context or the provider context is not compatible with the callout. + + + + +The raw context or the provider context is not compatible with the layer. + + + + +The action type is not compatible with the sublayer. + + + + +The action type is not compatible with the layer. + + + + +A policy cannot contain the same keying module more than once. + + + + +A filter cannot contain multiple conditions operating on a single field. + + + + +A reserved field is non-zero. + + + + +An integer value is outside the allowed range. + + + + +An FWP_VALUE or FWPM_CONDITION_VALUE is of the wrong type. + + + + +A filter condition contains a match type that is not compatible with the operands. + + + + +The filter weight is not valid. + + + + +The action type is not one of the allowed action types for a filter. + + + + +The displayData.name field cannot be null. + + + + +An array that must contain at least one element is zero length. + + + + +The time interval is not valid. + + + + +An FWP_RANGE is not valid. + + + + +A network mask is not valid. + + + + +The flags field contains an invalid value. + + + + +An enumerator is not valid. + + + + +A required pointer is null. + + + + +The call is not allowed for the current security association state. + + + + +The traffic parameters do not match those for the security association context. + + + + +A notification could not be delivered because a message queue is at its maximum capacity. + + + + +The maximum number of callouts has been reached. + + + + +The object is built in so cannot be deleted. + + + + +The call tried to associate two objects with incompatible lifetimes. + + + + +The call is allowed for kernel-mode callers only. + + + + +The operation is not supported by the specified layer. + + + + +Collection of network diagnostic events is disabled. + + + + +The call timed out while waiting to acquire the transaction lock. + + + + +The call is not allowed from within a read-only transaction. + + + + +The session has been cancelled. + + + + +The explicit transaction has been forcibly cancelled. + + + + +The call is not allowed from within an explicit transaction. + + + + +The call must be made from within an explicit transaction. + + + + +The call was made from the wrong session so cannot be completed. + + + + +The call is not allowed from within a dynamic session. + + + + +The object is referenced by other objects so cannot be deleted. + + + + +An object with that GUID or LUID already exists. + + + + +The object does not exist. + + + + +The sublayer does not exist. + + + + +The provider context does not exist. + + + + +The provider does not exist. + + + + +The layer does not exist. + + + + +The filter does not exist. + + + + +The filter condition does not exist. + + + + +The callout does not exist. + + + + +The system firmware failed to enable clearing of system memory on reboot. + + + + +The auto-unlock master key was not available from the operating system volume. Retry the operation using the BitLocker WMI interface. + + + + +BitLocker Drive Encryption can only be used for recovery purposes in this version of Windows. + + + + +The path specified in the Boot Configuration Data (BCD) for a BitLocker Drive Encryption integrity-protected application is incorrect. Please verify and correct your BCD settings and try again. + + + + +BitLocker Drive Encryption cannot enter raw access mode for this volume. + + + + +No action was taken as BitLocker Drive Encryption is in raw access mode. + + + + +Boot debugging is enabled. Run bcdedit to turn it off. + + + + +No action was taken as a system reboot is required. + + + + +The BitLocker encryption key could not be obtained. + + + + +The access token associated with the current thread is not an impersonated token. + + + + +This operation cannot be performed while the volume is in use. + + + + +Critical BitLocker Drive Encryption system files are not available. Use Windows Startup Repair to restore files. + + + + +This Windows license does not support BitLocker Drive Encryption. To use BitLocker Drive Encryption, please upgrade your Windows license. + + + + +BitLocker Drive Encryption cannot be enabled on this computer. Contact the computer manufacturer for BIOS upgrade instructions. + + + + +The file system does not extend to the end of the volume. + + + + +The group policy setting requiring FIPS compliance prevented BitLocker from being disabled. Please contact your domain administrator for more information. + + + + +The Boot Configuration Data (BCD) settings have changed since BitLocker was enabled. + + + + +A boot application has changed since BitLocker was enabled. + + + + +The BitLocker encryption key could not be obtained from the Trusted Platform Module (TPM) and PIN. + + + + +The BitLocker encryption key could not be obtained from the Trusted Platform Module (TPM). + + + + +The Trusted Platform Module (TPM) was not able to unlock the volume because the system boot information changed. + + + + +BitLocker Drive Encryption can only be used for recovery purposes in Safe-Mode. + + + + +The Trusted Platform Module (TPM) is disabled. + + + + +The BitLocker encryption key could not be obtained from the startup key or recovery password. + + + + +The BitLocker startup key or recovery password file is corrupt or invalid. + + + + +The BitLocker startup key or recovery password could not be read from the USB device. Ensure the USB device is plugged into the computer, then turn on BitLocker and try again. If the problem persists contact the computer manufacturer for BIOS upgrade instructions. + + + + +No TPM protectors exist on the volume to perform the hardware test. + + + + +The specified key protector is not of the correct type. + + + + +The volume must be fully decrypted to complete this operation. + + + + +The group policy setting requiring FIPS compliance prevented the recovery password from being saved. Please contact your domain administrator for more information. + + + + +The group policy setting requiring FIPS compliance prevented the recovery password from being generated or used. Please contact your domain administrator for more information. + + + + +The random number generator check test failed. + + + + +The format of the recovery password file is invalid. Select another recovery password and try again. + + + + +The recovery password file on the USB device is corrupt. Try another USB device. + + + + +The specified key protector was not found on the volume. Try another key protector. + + + + +The file cannot be saved to a relative path. + + + + +An instance of this key protector already exists on the volume. + + + + +BitLocker Drive Encryption detected bootable media (CD, DVD, or USB) in the computer. Remove the media and restart the computer. + + + + +A key must be specified before encryption may begin. + + + + +The volume encryption algorithm and key cannot be set on an encrypted volume. + + + + +Group policy requires a recovery password before encryption may begin. + + + + +BitLocker requires the file system to be NTFS. Convert the volume to NTFS, then enable BitLocker. + + + + +The system partition boot sector does not perform TPM measurements. + + + + +BitLocker Drive Encryption cannot be turned off. Please turn off the auto unlock on all other volumes before turning off BitLocker on the current volume. + + + + +The volume specified is not the operating system volume. + + + + +The recovery information provided does not match required recovery information to unlock the volume. Confirm the information and try again. + + + + +The volume encryption algorithm cannot be used on this sector size. + + + + +The authorization data for the Storage Root Key (SRK) of the Trusted Platform Module (TPM) is not zero and is therefore incompatible with BitLocker. + + + + +The control block for the encrypted volume was updated by another thread. Try again. + + + + +This volume cannot be bound to a TPM. + + + + +A recovery key protector is required. + + + + +All protectors are effectively disabled (clear key exists). + + + + +The operating system volume is not protected by BitLocker Drive Encryption. + + + + +The volume is already bound to the system. + + + + +Cluster configurations are not supported. + + + + +One or more key protectors are required for this volume. + + + + +A write operation failed while converting the volume. + + + + +A read operation failed while converting the volume. + + + + +The buffer supplied to a function was insufficient to contain the returned data. + + + + +The volume specified is not a data volume. + + + + +You must take ownership of the Trusted Platform Module (TPM). + + + + +Volume is not bound to the system. + + + + +Data supplied is malformed. + + + + +This volume cannot be encrypted. + + + + +The file system is corrupt. Run CHKDSK. + + + + +The volume cannot be encrypted because the file system is not supported. + + + + +The volume cannot be encrypted because it contains system boot information. + + + + +The volume cannot be encrypted because it does not have enough free space. + + + + +The control block for the encrypted volume is not valid. + + + + +The specified GUID could not be found. + + + + +The attribute was not set. + + + + +The attribute read from Active Directory has no (zero) values. + + + + +The size of the data obtained from Active Directory was not expected. + + + + +The type of the data obtained from Active Directory was not expected. + + + + +The Active Directory Domain Services forest does not contain the required attributes and classes to host BitLocker Drive Encryption or Trusted Platform Module information. + + + + +BitLocker Drive Encryption could not perform requested action. This condition may occur when two requests are issued at the same time. + + + + +BitLocker Drive Encryption is not enabled on this volume. Turn on BitLocker. + + + + +No secure key protector has been defined. + + + + +You have an incompatible boot manager. Update the boot manager (BOOTMGR). + + + + +You have an incompatible boot sector. Update the boot manager (BOOTMGR). + + + + +If there is a bootable CD or DVD in your computer, remove it, restart the computer and turn on BitLocker again. If the problem persists contact the computer manufacturer for BIOS upgrade instructions. + + + + +The BIOS did not correctly communicate with the Master Boot Record (MBR). Contact the computer manufacturer for BIOS upgrade instructions. + + + + +The BIOS did not correctly communicate with the TPM. Contact the computer manufacturer for BIOS upgrade instructions. + + + + +The volume is not encrypted, no key is available. + + + + +This volume is locked by BitLocker Drive Encryption. Return to the control panel to unlock volume. + + + + +An error occured while attemption to compress or extract the data. + + + + +The execution of the Rules Manager failed. + + + + +The Event Log channel Microsoft-Windows-TaskScheduler must be enabled to perform this operation. + + + + +The Event Log channel Microsoft-Windows-Diagnosis-PLA/Operational must be enabled to perform this operation. + + + + +The session name provided is invalid. + + + + +When specifying the executable that you want to trace, you must specify a full path to the executable and not just a filename. + + + + +Duplicate items are not allowed. + + + + +The wait for the report generation tool to finish has timed out. + + + + +The wait for the Data Collector to start has timed out. + + + + +The wait for the Data Collector Set start notification has timed out. + + + + +Data Collector already exists. + + + + +The executable path you have specified does not exist. Verify that the specified path is correct. + + + + +The executable path you have specified is already configured for API tracing. + + + + +The executable path you have specified refers to a network share or UNC path. + + + + +A conflict was detected in the list of include/exclude APIs. Do not specify the same API in both the include list and the exclude list. + + + + +Data Collector Set is not running. + + + + +A user account is required in order to commit the current Data Collector Set properties. + + + + +The current configuration for this Data Collector Set requires that it contain exactly one Data Collector. + + + + +Property value conflict. + + + + +Property value will be ignored. + + + + +Data Collector Set already exists. + + + + +Not enough free disk space to start Data Collector Set. + + + + +Unable to start Data Collector Set because there are too many folders. + + + + +The Data Collector Set or one of its dependencies is already in use. + + + + +Data Collector Set was not found. + + + + +The BIOS does not support the physical presence interface. + + + + +The BIOS failure prevented the successful execution of the requested TPM operation (e.g. invalid TPM operation request, BIOS communication error with the TPM). + + + + +The user failed to confirm the TPM operation request. + + + + +A general error was detected when attempting to acquire the BIOS's response to a Physical Presence command. + + + + +TBS is not compatible with the version of TPM found on the system. + + + + +The physical presence interface is not supported. + + + + +A new virtual resource could not be created because there are too many open virtual resources. + + + + +A new TBS context could not be created because there are too many open contexts. + + + + +No new entries can be added to the hash table. + + + + +No resources can be unloaded. + + + + +The resource type did not match. + + + + +The requested resource is no longer available. + + + + +The TBS does not recognize the specified ordinal. + + + + +The TPM command failed. + + + + +There are too many TPM contexts in use. + + + + +The TPM does not have enough space to load the requested resource. + + + + +The specified item was not found in the list. + + + + +The specified list is empty, or the iteration has reached the end of the list. + + + + +There was not enough memory to fulfill the request + + + + +The command was canceled. + + + + +The TBS scheduler is not running. + + + + +The RPC subsystem could not be initialized. + + + + +One or more parameters is invalid + + + + +The pointer to the returned handle location was NULL or invalid + + + + +The specified virtual handle matches a virtual handle already in use. + + + + +No entry with the specified key was found. + + + + +An error occurred while communicating with the TPM + + + + +An invalid context parameter was specified. + + + + +The specified context handle is invalid. + + + + +The context could not be cleaned up. + + + + +The specified buffer was too small. + + + + +The random number generated did not pass FIPS RNG check. + + + + +The format of the owner auth data was invalid. + + + + +The specified PCR data was invalid. + + + + +The data given does not appear to be a valid key blob + + + + +One or more of the specified context parameters was not valid. + + + + +The data given does not appear to be a valid delegate blob. + + + + +The specified PCR index was invalid + + + + +The requested supplied data does not appear to be a valid migration authorization blob. + + + + +The key parameters structure was not valid + + + + +The encryption operation failed. + + + + +The key size is not valid. + + + + +The encoding in the blob was not recognized. + + + + +The message was too large for the encoding scheme. + + + + +The TPM returned an unexpected result. + + + + +An error occurred while communicating with the TBS. + + + + +The specified context handle was not valid. + + + + +The specified authorization information was invalid. + + + + +The caller does not have the appropriate rights to perform the requested operation. + + + + +An internal error was detected. + + + + +The specified buffer was too small. + + + + +Not enough memory was available to satisfy the request. + + + + +One or more input parameters is invalid. + + + + +One or more output parameters was NULL or invalid. + + + + +The command buffer cannot contain any more data. + + + + +The command buffer does not contain enough data to satisfy the request. + + + + +The command buffer is not in the correct state. + + + + +The TBS service has been disabled. + + + + +A compatible Trusted Platform Module (TPM) Security Device cannot be found on this computer. + + + + +The input or output buffer is too large. + + + + +The command was canceled. + + + + +The physical presence interface is not supported. + + + + +The TBS service has been started but is not yet running. + + + + +A new virtual resource could not be created because there are too many open virtual resources. + + + + +A new context could not be created because there are too many open contexts. + + + + +The TBS service is not running and could not be started. + + + + +One or more context parameters is invalid. + + + + +An error occurred while communicating with the TPM. + + + + +A specified output buffer is too small. + + + + +The specified context handle does not refer to a valid context. + + + + +A specified output pointer is bad. + + + + +One or more input parameters is bad. + + + + +An internal software error has been detected. + + + + +The TPM is defending against dictionary attacks and is in a time-out period. + + + + +The TPM is currently executing a full selftest. + + + + +SelfTestFull has not been run. + + + + +The TPM is too busy to respond to the command immediately, but the command could be resubmitted at a later time. + + + + +The command within the transport is not supported. + + + + +The command within the transport was blocked. + + + + +The TPM returned a duplicate handle and the command needs to be resubmitted. + + + + +The specified handle was not found. + + + + +The command was blocked. + + + + +There is no room in the context list for additional contexts. + + + + +Bad signature of CMK ticket. + + + + +Attempt to revoke the EK and the EK is not revocable. + + + + +Incorrect migration authority. + + + + +Migration source incorrect. + + + + +Migration destination not authenticated. + + + + +Migration authority signature validation failure. + + + + +Too many contexts held by the TPM. + + + + +The context blob is invalid. + + + + +Delegation is not correct. + + + + +The handle is incorrect. + + + + +The consistency check on w has failed. + + + + +The issuer's validity check has detected an inconsistency. + + + + +The atomic process indicated by the submitted DAA command is not the expected process. + + + + +The consistency check on DAA_tpmSpecific has failed. + + + + +The consistency check on DAA_issuerSettings has failed. + + + + +The consistency check on DAA parameter inputData1 has failed. + + + + +The consistency check on DAA parameter inputData0 has failed. + + + + +The DAA command has no resources availble to execute the command. + + + + +Attempt to context save a owner evict controlled key. + + + + +There was a command executed outside of an exclusive transport session. + + + + +Delegation table management not enabled. + + + + +Attempt to manage a family other then the delegated family. + + + + +The delegate administration is locked. + + + + +The resource pointed to by context is not loaded. + + + + +No operator AuthData value is set. + + + + +The maximum number of NV writes without an owner has been exceeded. + + + + +The gap between saved context counts is too large. + + + + +The write is not a complete write of the area. + + + + +The counter handle is incorrect. + + + + +The key is under control of the TPM Owner and can only be evicted by the TPM Owner. + + + + +The structure tag and version are invalid or inconsistent. + + + + +The NV area attributes conflict. + + + + +The NV area has already been written to. + + + + +The family count value does not match. + + + + +There is no protection on the write to the NV area. + + + + +The NV area is read only and can't be written to. + + + + +The locality is incorrect for the attempted operation. + + + + +The NV area is locked and not writtable. + + + + +NV_LoadKey blob requires both owner and blob authorization. + + + + +Wrong operation to load an NV key. + + + + +The operation requires a signed command. + + + + +The permission to manipulate the NV storage is not available. + + + + +The command is attempting to use an invalid family ID. + + + + +The TPM is attempting to execute a command only available when in FIPS mode. + + + + +When saving context identified resource type does not match actual resource. + + + + +Make identity blob not properly typed. + + + + +Attempt to reset a PCR register that requires locality and locality modifier not part of command transport. + + + + +Attempt to reset a PCR register that does not have the resettable attribute. + + + + +TPM audit construction failed and the underlying command was returning success. + + + + +TPM audit construction failed and the underlying command was returning a failure code also. + + + + +The TPM does not allow for wrapped transport sessions. + + + + +The TPM cannot perform this version of the capability. + + + + +Either the physicalPresence or physicalPresenceLock bits have the wrong value. + + + + +A mode parameter is bad, such as capArea or subCapArea for TPM_GetCapability, phsicalPresence parameter for TPM_PhysicalPresence, or migrationType for TPM_CreateMigrationBlob. + + + + +The size of the data (or blob) parameter is bad or inconsistent with the referenced key. + + + + +The signature or encryption scheme for this key is incorrect or not permitted in this situation. + + + + +The migration properties of this key are incorrect. + + + + +The key properties in TPM_KEY_PARMs are not supported by this TPM. + + + + +Signed data cannot include additional DER information. + + + + +The command was received in the wrong sequence relative to TPM_Init and a subsequent TPM_Startup. + + + + +The submitted entity type is not allowed. + + + + +The usage of a key is not allowed. + + + + +The TPM does not have an Endorsement Key (EK) installed. + + + + +An invalid handle was used. + + + + +The decryption process did not complete. + + + + +The encryption process had a problem. + + + + +An IO error occurred transmitting information to the TPM. + + + + +The tag value sent to for a command is invalid. + + + + +The authorization for the second key in a 2 key function failed authorization. + + + + +Self-test has failed and the TPM has shutdown. + + + + +The calculation is unable to proceed because the existing SHA-1 thread has already encountered an error. + + + + +There is no existing SHA-1 thread. + + + + +The paramSize argument to the command has the incorrect value . + + + + +The named PCR value does not match the current PCR value. + + + + +The TPM does not have the space to perform the operation. + + + + +A random string was too short. + + + + +The TPM has insufficient internal resources to perform the requested action. + + + + +The Trusted Platform Module (TPM) already has an owner. + + + + +An encrypted blob is invalid or was not created by this TPM. + + + + +There is no Storage Root Key (SRK) set. + + + + +No room to load key. + + + + +PCR information could not be interpreted. + + + + +Migration authorization failed. + + + + +Unacceptable encryption scheme. + + + + +The key handle points to an invalid key. + + + + +The key handle cannot be interpreted. + + + + +The ability to install an owner is disabled. + + + + +The ordinal was unknown or inconsistent. + + + + +The operation failed. + + + + +The target command has been disabled. + + + + +Enable the Trusted Platform Module (TPM). + + + + +Activate the Trusted Platform Module (TPM). + + + + +The clear disable flag is set and all clear operations now require physical access. + + + + +An operation completed successfully but the auditing of that operation failed. + + + + +One or more parameter is bad. + + + + +The index to a PCR, DIR or other register is incorrect. + + + + +Authentication failed. + + + + +This is an error mask to convert TPM hardware errors to win errors. + + + + +The function failed because the current session is changing its type. This function cannot be called when the current session is changing its type. There are currently three types of sessions: console, disconnected and remote. + + + + +An internal error caused an operation to fail. + + + + +An array passed to the function cannot hold all of the data that the function must copy into the array. + + + + +The function failed because the specified GDI device did not have any monitors associated with it. + + + + +The function failed because an invalid pointer parameter was passed to it. A pointer parameter is invalid if it is NULL, points to an invalid address, points to a kernel mode address, or is not correctly aligned. + + + + +This function does not support GDI mirroring display devices because GDI mirroring display devices do not have any physical monitors associated with them. + + + + +The function failed because the specified GDI display device was not attached to the Windows desktop. + + + + +This function cannot find an actual GDI display device which corresponds to the specified GDI display device name. + + + + +This function can only be used if a program is running in the local console session. It cannot be used if the program is running on a remote desktop session or on a terminal server session. + + + + +SetMonitorColorTemperature()'s caller passed a color temperature to it which the current monitor did not support. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + + + + +The monitor returned an invalid monitor technology type. CRT, Plasma and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + + + + +The Monitor Configuration API only works with monitors which support the MCCS 1.0 specification, MCCS 2.0 specification or the MCCS 2.0 Revision 1 specification. + + + + +The MCCS version in a monitor's mccs_ver capability does not match the MCCS version the monitor reports when the VCP Version (0xDF) VCP code is used. + + + + +The monitor does not comply with the MCCS specification it claims to support. + + + + +The monitor's VCP Version (0xDF) VCP code returned an invalid version value. + + + + +A continuous VCP code's current value is greater than its maximum value. This error code indicates that a monitor returned an invalid value. + + + + +The operating system asynchronously destroyed the monitor which corresponds to this handle because the operating system's state changed. This error typically occurs because the monitor PDO associated with this handle was removed, the monitor PDO associated with this handle was stopped, or a display mode change occurred. A display mode change occurs when windows sends a WM_DISPLAYCHANGE windows message to applications. + + + + +This function failed because an invalid monitor handle was passed to it. + + + + +An error occurred because the checksum field in a DDC/CI message did not match the message's computed checksum value. This error implies that the data was corrupted while it was being transmitted from a monitor to a computer. + + + + +An error occurred because the field length of a DDC/CI message contained an invalid value. + + + + +An operation failed because a DDC/CI message had an invalid value in its command field. + + + + +An internal Monitor Configuration API error occured. + + + + +The monitor returned a DDC/CI capabilities string which did not comply with the ACCESS.bus 3.0, DDC/CI 1.1, or MCCS 2 Revision 1 specification. + + + + +The function failed because a monitor returned an invalid Timing Status byte when the operating system used the DDC/CI Get Timing Report & Timing Message command to get a timing report from a monitor. + + + + +The data received from the monitor is invalid. + + + + +The monitor does not support the specified VCP code. + + + + +An error occurred while receiving data from the device on the I2C bus. + + + + +An error occurred while transmitting data to the device on the I2C bus. + + + + +No device on the I2C bus has the specified address. + + + + +The monitor connected to the specified video output does not have an I2C bus. + + + + +The IOPMVideoOutput::Configure function returns this error code if the passed in sequence number is not the expected sequence number or the passed in OMAC value is invalid. + + + + +The IOPMVideoOutput::COPPCompatibleGetInformation or IOPMVideoOutput::Configure method failed because the display driver does not support the OPM_GET_ACP_AND_CGMSA_SIGNALING and OPM_SET_ACP_AND_CGMSA_SIGNALING GUIDs. + + + + +Either the IOPMVideoOutput::COPPCompatibleGetInformation, IOPMVideoOutput::GetInformation, or IOPMVideoOutput::Configure method failed. This error is only returned if a video output has COPP semantics. IOPMVideoOutput::COPPCompatibleGetInformation returns this error code if the caller requested OPM specific information. IOPMVideoOutput::GetInformation always returns this error if a video output has COPP semantics. IOPMVideoOutput::Configure returns this error when the caller tries to use an OPM specific command. + + + + +The method failed because an unexpected error occurred inside of a display driver. + + + + +The IOPMVideoOutput::GetInformation and IOPMVideoOutput::COPPCompatibleGetInformation methods return this error if the passed in sequence number is not the expected sequence number or the passed in OMAC value is invalid. + + + + +Either the IOPMVideoOutput::COPPCompatibleGetInformation, IOPMVideoOutput::GetInformation, or IOPMVideoOutput::Configure method failed. This error is only returned if a video output has OPM semantics. IOPMVideoOutput::COPPCompatibleGetInformation always returns this error if a video output has OPM semantics. IOPMVideoOutput::GetInformation returns this error code if the caller requested COPP specific information. IOPMVideoOutput::Configure returns this error when the caller tries to use a COPP specific command. + + + + +The method failed because the session is changing its type. No IOPMVideoOutput methods can be called when a session is changing its type. There are currently three types of sessions: console, disconnected and remote. + + + + +The operating system asynchronously destroyed this OPM video output because the operating system's state changed. This error typically occurs because the monitor PDO associated with this video output was removed, the monitor PDO associated with this video output was stopped, the video output's session became a non-console session or the video output's desktop became an inactive desktop. + + + + +The IOPMVideoOutput::Configure method cannot enable HDCP because the display adapter's HDCP hardware is already being used by other physical outputs. + + + + +The IOPMVideoOutput::Configure method cannot enable the specified output protection technology because the output's screen resolution is too high. + + + + +The IOPMVideoOutput::GetInformation method cannot return the version of the SRM being used because the application never successfully passed an SRM to the video output. + + + + +The video output cannot enable the Content Generation Management System Analogue (CGMS-A) protection technology because it does not support CGMS-A. + + + + +The video output cannot enable Analogue Copy Protection (ACP) because it does not support ACP. + + + + +The video output cannot enable the High-bandwidth Digital Content Protection (HDCP) System because it does not support HDCP. + + + + +The HDCP System Renewability Message passed to this function did not comply with section 5 of the HDCP 1.1 specification. + + + + +The function failed because the display adapter's Hardware Functionality Scan failed to validate the graphics hardware. + + + + +A video output could not be created because the frame buffer is in theater mode. + + + + +A video output could not be created because the frame buffer is in spanning mode. + + + + +A certificate could not be returned because the certificate buffer passed to the function was too small. + + + + +The function failed because the caller passed in an invalid OPM user mode handle. + + + + +An internal error caused this operation to fail. + + + + +The GDI display device passed to this function does not have any active video outputs. + + + + +The specified encrypted parameters are invalid. + + + + +The driver does not support UAB. + + + + +The driver does not support COPP. + + + + +The driver does not support OPM. + + + + +An operation is being attempted that requires the display adapter to be in a quiescent state. + + + + +Starting the adapter has been deferred temporarily. + + + + +The display adapter is being polled for children too frequently at the same polling level. + + + + +The driver trying to start is not the same as the driver for the POSTed display adapter. + + + + +Starting the leadlink adapter has been deferred temporarily. + + + + +The adapter link was found to be in an inconsistent state. Not all adapters are in an expected PNP/Power state. + + + + +An attempt was made to power up a lead link display adapter when the chain links were powered down. + + + + +An attempt was made to start a lead link display adapter when the chain links were not started yet. + + + + +The chain of linked adapters is not ready to start because of an unknown failure. + + + + +Some chain adapters in a linked configuration were not enumerated yet. + + + + +Lead adapter in a linked configuration was not enumerated yet. + + + + +The display adapter is not linked to any other adapters. + + + + +Child device presence was not reliably detected. + + + + +Specified display adapter child device does not support descriptor exposure. + + + + +Specified display adapter child device already has an external device connected to it. + + + + +Client VidPN is not set on this adapter (e.g. no user mode initiated mode changes took place on this adapter yet). + + + + +Specified client type was not recognized. + + + + +Miniport requested that augmentation be cancelled for the specified source of the specified VidPN's topology. + + + + +Maximum supported number of present paths has been reached. + + + + +Specified monitor frequency range constraint is invalid. + + + + +Specified monitor capability origin is invalid. + + + + +Specified mode pruning algorithm is invalid + + + + +Specified primary surface has a different private format attribute than the current primary surface + + + + +All available importance ordinals are already used in specified topology. + + + + +Topology changes are not allowed for the specified VidPN. + + + + +Specified scanline ordering type is invalid. + + + + +Specified content transformation is not pinned on the specified VidPN present path. + + + + +No more than one unassigned mode set can exist at any given time for a given VidPN source/target. + + + + +Specified VidPN present path copy protection type is invalid. + + + + +Specified VidPN present path content type is invalid. + + + + +Specified VidPN topology recommendation reason is invalid. + + + + +Specified data set (e.g. mode set, frequency range set, descriptor set, topology, etc.) does not contain any more elements. + + + + +Specified data set (e.g. mode set, frequency range set, descriptor set, topology, etc.) is empty. + + + + +Specified mode is not in the specified mode set. + + + + +Multi-sampling is not supported on the respective VidPN present path. + + + + +Specified gamma ramp is not supported on the respective VidPN present path. + + + + +Specified gamma ramp is invalid. + + + + +Specified content geometry transformation is not supported on the respective VidPN present path. + + + + +Specified VidPN present path content geometry transformation is invalid. + + + + +Specified VidPN present path importance ordinal is invalid. + + + + +Specified VidPN is active and cannot be accessed. + + + + +Specified VidPN source is already owned by a DMM client and cannot be used until that client releases it. + + + + +Failed to acquire display mode management interface. + + + + +Specified target is not part of the specified VidPN's topology. + + + + +Specified pixel value access mode is invalid. + + + + +Specified color basis is invalid. + + + + +Specified pixel format is invalid. + + + + +Specified stride is invalid. + + + + +Specified visible region size is invalid. + + + + +Specified primary surface size is invalid. + + + + +Specified source is not part of the specified VidPN's topology. + + + + +There is no monitor connected on the specified video present target. + + + + +Specified VidPN topology is stale. Please reacquire the new topology. + + + + +VidPN manager of the display adapter in question does not have an active VidPN. + + + + +Display adapter in question does not have an associated VidPN manager. + + + + +Newly arrived monitor could not be associated with a display adapter. + + + + +Specified VidPN source cannot be used because there is no available VidPN target to connect it to. + + + + +ID of the specified video present target is already used by another target in the set. + + + + +ID of the specified video present source is already used by another source in the set. + + + + +Two or more of the specified resources are not related to each other, as defined by the interface semantics. + + + + +Specified video present target subset type is invalid. + + + + +ID of the specified monitor descriptor is already used by another descriptor in the set. + + + + +Specified descriptor is already in the specified monitor descriptor set. + + + + +Specified descriptor is not in the specified monitor descriptor set. + + + + +Specified monitor descriptor is invalid. + + + + +Specified monitor descriptor set is invalid. + + + + +Display adapter must have at least one video present target. + + + + +Display adapter must have at least one video present source. + + + + +Specified present path is not in VidPN's topology. + + + + +Number of video present targets must be greater than or equal to the number of video present sources. + + + + +System failed to determine a mode that is supported by both the display adapter and the monitor connected to it. + + + + +ID of the specified mode is already used by another mode in the set. + + + + +Miniport does not have any recommendation regarding the request to provide a functional VidPN given the current display adapter configuration. + + + + +Specified monitor source mode is invalid. + + + + +Specified monitor source mode set is invalid. + + + + +Specified mode set is stale. Please reacquire the new mode set. + + + + +Specified frequency range is already in the specified monitor frequency range set. + + + + +Specified mode set does not specify preference for one of its modes. + + + + +Specified frequency range is not in the specified monitor frequency range set. + + + + +Specified monitor frequency range is invalid. + + + + +Specified monitor frequency range set is invalid. + + + + +Miniport has no recommendation for augmentation of the specified VidPN's topology. + + + + +Specified VidPN present path is invalid. + + + + +Specified video present target is already in the video present target set. + + + + +Specified video present source is already in the video present source set. + + + + +Specified video present target set is invalid. + + + + +Specified video present source set is invalid. + + + + +Specified mode is already in the mode set. + + + + +Specified video present path is already in VidPN's topology. + + + + +Pinned mode must remain in the set on VidPN's cofunctional modality enumeration. + + + + +Specified video present target mode is invalid. + + + + +Specified video present source mode is invalid. + + + + +Specified video signal total region is invalid. + + + + +Specified video signal active region is invalid. + + + + +Specified video signal frequency is invalid. + + + + +Specified VidPN target mode set is invalid. + + + + +Specified VidPN source mode set is invalid. + + + + +No mode is pinned on the specified VidPN source/target. + + + + +Specified VidPN modality is not supported (e.g. at least two of the pinned modes are not cofunctional). + + + + +Specified video present target is invalid. + + + + +Specified video present source is invalid. + + + + +Specified VidPN handle is invalid. + + + + +Specified VidPN topology is valid but is not supported by the display adapter at this time, due to current allocation of its resources. + + + + +Specified VidPN topology is valid but is not supported by this model of the display adapter. + + + + +Specified VidPN topology is invalid. + + + + +GPU exception is detected on the given device. The device is not able to be scheduled. + + + + +The specified allocation lost its content. + + + + +The allocation being referenced doesn't belong to the current device. + + + + +An invalid allocation handle is being referenced. + + + + +An invalid allocation instance is being referenced. + + + + +The allocation being referenced has been closed permanently. + + + + +A locked allocation can't be used in the current command buffer. + + + + +The allocation can't be used from it's current segment location for the specified operation. + + + + +The request failed because a pinned allocation can't be evicted. + + + + +The current allocation can't be unswizzled by an aperture. + + + + +No more unswizzling aperture are currently available. + + + + +The allocation is invalid. + + + + +A problem couldn't be solved due to some currently existing condition. The problem should be tried again immediately. + + + + +A problem couldn't be solved due to some currently existing condition. The problem should be tried again later. + + + + +An object being referenced has reach the maximum reference count already and can't be reference further. + + + + +The allocation is currently busy. + + + + +Couldn't probe and lock the underlying memory of an allocation. + + + + +Not enough video memory available to complete the operation. + + + + +Specified buffer is not big enough to contain entire requested dataset. Partial data populated up to the size of the buffer. Caller needs to provide buffer of size as specified in the partially populated buffer's content (interface specific). + + + + +The kernel driver detected a version mismatch between it and the user mode driver. + + + + +Not able to present with color convertion + + + + +Not able to present due to denial of desktop access + + + + +Nothing to present due to desktop occlusion + + + + +Present happened but ended up into the changed desktop mode + + + + +The driver stack doesn't match the expected driver model. + + + + +Specified display adapter and all of its state has been reset. + + + + +Specified display adapter handle is invalid. + + + + +The driver needs more DMA buffer space in order to complete the requested operation. + + + + +Exclusive mode ownership is needed to create unmanaged primary allocation. + + + + +Monitor descriptor contains an invalid detailed timing block. + + + + +There is no monitor descriptor data at the specified (offset, size) region. + + + + +Provided monitor descriptor block is either corrupted or does not contain monitor's user friendly name. + + + + +Provided monitor descriptor block is either corrupted or does not contain monitor's detailed serial number. + + + + +WMI data block registration failed for one of the MSMonitorClass WMI subclasses. + + + + +Monitor descriptor contains an invalid standard timing block. + + + + +Checksum of the obtained monitor descriptor is invalid. + + + + +Format of the obtained monitor descriptor is not supported by this release. + + + + +Monitor descriptor could not be obtained. + + + + +{DWM is not queuing presents for the specified window} +The window specified is not currently using queued presents. + + + + +{No DWM redirection surface is available} +The DWM was unable to provide a redireciton surface to complete the DirectX present. + + + + +{Some desktop composition APIs are not supported while remoting} +The operation is not supported while running in a remote session. + + + + +{Desktop composition is disabled} +The operation could not be completed because desktop composition is disabled. + + + + +{Display Driver Stopped Responding} +The %hs display driver has stopped working normally. Save your work and reboot the system to restore full display functionality. +The next time you reboot the machine a dialog will be displayed giving you a chance to report this failure to Microsoft. + + + + +No waiter is present for the filter's reply to this message. + + + + +The specifiec context is already attached to another object + + + + +The specified Transaction Context is already enlisted in a transaction + + + + +The specified volume is already mounted. + + + + +The requested device object does not exist for the given volume. + + + + +The name requested was not found in Filter Manager's name cache and could not be retrieved from the file system. + + + + +An invalid parameter was specified during context registration. + + + + +No registered context allocation definition was found for the given request. + + + + +The system could not find the instance specified. + + + + +The system could not find the volume specified. + + + + +The system could not find the filter specified. + + + + +An instance already exists with this name on the volume specified. + + + + +An instance already exists at this altitude on the volume specified. + + + + +Do not detach the filter from the volume at this time. + + + + +Do not attach the filter to the volume at this time. + + + + +The callback data queue has been disabled. + + + + +A duplicate handler definition has been provided for an operation. + + + + +Non-paged pool must be used for this type of context. + + + + +The object specified for this action is in the process of being deleted, therefore the action requested cannot be completed at this time. + + + + +The Filter Manager had an internal error from which it cannot recover, therefore the operation has been failed. This is usually the result of a filter returning an invalid value from a pre-operation callback. + + + + +The filter must cleanup any operation specific context at this time because it is being removed from the system before the operation is completed by the lower drivers. + + + + +The filter is not ready for attachment to volumes because it has not finished initializing (FltStartFiltering has not been called). + + + + +The Filter Manager was not initialized when a filter tried to register. Make sure that the Filter Manager is getting loaded as a driver. + + + + +Posting this operation to a worker thread for further processing is not safe at this time because it could lead to a system deadlock. + + + + +An invalid name request was made. The name requested cannot be retrieved at this time. + + + + +Disallow the Fast IO path for this operation. + + + + +Asynchronous requests are not valid for this operation. + + + + +A context is already defined for this object. + + + + +A handler was not defined by the filter for this operation. + + + + +The IO was completed by a filter. + + + + +COM+ partitions are currently disabled. + + + + +The specified user cannot write to the system registry + + + + +The specified SAFER level is invalid. + + + + +Access is denied because the component is private. + + + + +Alas, Event Class components cannot be aliased. + + + + +The Base Application Partition exists in all partition sets and cannot be removed. + + + + +A private component cannot be moved (or copied) to a library application or to the base partition + + + + +A component cannot be moved (or copied) to the System Application, an application proxy or a non-changeable application + + + + +A component cannot be moved (or copied) from the System Application, an application proxy or a non-changeable application + + + + +Legacy components may not exist in non-base partitions. + + + + +Applications containing one or more legacy components may not be exported to 1.0 format. + + + + +Only Application Files (*.MSI files) can be installed into partitions. + + + + +Access to the specified partition is denied. + + + + +A recycled process may not be paused. + + + + +The partition specified as default is not a member of the partition set. + + + + +The ProgID provided to the copy operation is invalid. The ProgID is in use by another registered CLSID. + + + + +Library applications may not be NT services. + + + + +A paused process may not be recycled. + + + + +The process has already been recycled. + + + + +Applications running as NT services may not be recycled. + + + + +Library applications may not be recycled. + + + + +One or more users are already assigned to a local partition set. + + + + +COM+ applications that run as NT service may not be pooled or recycled + + + + +The partition(s) specified are not valid. + + + + +The specified application is not currently running + + + + +One of the specified objects cannot be found + + + + +One of the objects being inserted or updated does not belong to a valid parent collection + + + + +Cannot create a duplicate resource of type Distributed Transaction Coordinator + + + + +The message was requeued or moved by a user not in the "QC Trusted User" role + + + + +An unauthenticated message was received by an application that accepts only authenticated messages + + + + +The message is improperly formatted or was damaged in transit + + + + +Unable to marshal an interface that does not support IPersistStream + + + + +MSMQ is required for the requested operation and is not installed + + + + +At least one interface must be marked "queued" in order to create a queued component instance with the "queue" moniker + + + + +Only COM+ Applications marked "queued" can be invoked using the "queue" moniker + + + + +The COM+ Catalog Server threw an exception during execution + + + + +The application cannot be paused or resumed + + + + +There was a type mismatch between a binary and an application + + + + +A binary of unknown or invalid type was provided + + + + +There was a type mismatch between binaries + + + + +The schema version to be migrated could not be found in the COM+ registry database + + + + +This version of the COM+ registry database cannot be migrated + + + + +The COM+ registry database is already running + + + + +The COM+ registry database detected a system error + + + + +The COM+ registry database is not open + + + + +The COM+ registry database has not been initialized + + + + +The partition name is not unique and cannot be resolved to a partition id + + + + +The application name is not unique and cannot be resolved to an application id + + + + +Applications that contain one or more imported components cannot be installed into a non-base partition + + + + +The partition cannot be exported, because one or more components in the partition have the same file name + + + + +The partition cannot be deleted because it is the default partition for one or more users + + + + +The specified partition name is invalid. Check that the name contains at least one visible character + + + + +The specified partition name is already in use on this computer + + + + +You cannot start an application that has been disabled + + + + +This function is valid for the base partition only + + + + +Library applications and application proxies are incompatible + + + + +An event class cannot also be a subscriber component + + + + +Cannot subscribe to this component (the component may have been imported) + + + + +System application is not exportable + + + + +Failed to start application because it is either a library application or an application proxy + + + + +Application Proxy is not exportable + + + + +This operation is not enabled on this platform + + + + +You must have components in an application in order to start the application + + + + +A role assigned to a component, interface, or method did not exist in the application + + + + +A CLSID with the same GUID as the new application ID is already installed on this machine + + + + +This object is not poolable + + + + +Object was not found in registry + + + + +The property value is too large + + + + +The registration file is corrupt + + + + +The component already exists + + + + +The object you are attempting to add or rename already exists + + + + +One or more property settings are either invalid or in conflict with each other + + + + +The service is not installed + + + + +A component in the same DLL is already installed + + + + +The component registrar referenced in this file is not available + + + + +This operation cannot be performed on the system application + + + + +The system was unable to register the TypeLib + + + + +The component move failed because the destination application no longer exists + + + + +The component move was disallowed, because the source or destination application is either a system application or currently locked against changes + + + + +The server catalog version is not supported + + + + +The delete function has been disabled for this object + + + + +Changes to this object and its sub-objects have been disabled + + + + +The file does not contain components or component information + + + + +The TypeLib could not be loaded + + + + +The DLL does not support the components listed in the TypeLib + + + + +GetClassObject failed in the DLL + + + + +The DLL could not be loaded + + + + +The file does not exist + + + + +Errors occurred while in the component registrar + + + + +Application install directory not found + + + + +The registered TypeLib ID is not valid + + + + +DLL could not be loaded + + + + +No server file share available + + + + +DllRegisterServer failed on component install + + + + +Interface information is either missing or changed + + + + +Application file CLSIDs or IIDs do not match corresponding DLLs + + + + +The identity or password set on the application is not valid + + + + +Unable to set required authentication level for update request + + + + +The component's progID is missing or corrupt + + + + +The component's CLSID is missing or corrupt + + + + +One or more users in the application file are not valid + + + + +One or more users are not valid + + + + +An error occurred copying the file + + + + +The role already exists + + + + +The application is already installed + + + + +The file path is invalid + + + + +Invalid version number in application file + + + + +Error occurred reading the application file + + + + +Error occurred writing to the application file + + + + +The object is already registered + + + + +The object was not found in the catalog + + + + +One or more of the object's properties are missing or invalid + + + + +Errors occurred accessing one or more objects - the ErrorInfo collection may have more detail + + + + +The new cache item exceeds the maximum per-item size defined for the cache. + + + + +The requested cache item is too old and was deleted from the cache. + + + + +The requested item could not be found in the cache. + + + + +No PIN was presented to the smart card. + + + + +The action was cancelled by the user. + + + + +The end of the smart card file has been reached. + + + + +The card cannot be accessed because the maximum number of PIN entry attempts has been reached. + + + + +The card cannot be accessed because the wrong PIN was presented. + + + + +Access was denied because of a security violation. + + + + +The smart card has been removed, so that further communication is not possible. + + + + +The smart card has been reset, so any shared state information is invalid. + + + + +Power has been removed from the smart card, so that further communication is not possible. + + + + +The smart card is not responding to a reset. + + + + +The reader cannot communicate with the smart card, due to ATR configuration conflicts. + + + + +The smart card is read only and cannot be written to. + + + + +The smart card PIN cannot be cached. + + + + +The smart card PIN cache has expired. + + + + +The Smart card resource manager is too busy to complete this operation. + + + + +The requested key container does not exist on the smart card. + + + + +A communications error with the smart card has been detected. Retry the operation. + + + + +Cannot find a smart card reader. + + + + +The requested certificate could not be obtained. + + + + +The requested certificate does not exist. + + + + +An unrecognized error code was returned from a layered component. + + + + +The supplied PIN is incorrect. + + + + +There was an error trying to set the smart card file object pointer. + + + + +The smartcard does not have enough memory to store the information. + + + + +Access is denied to this file. + + + + +The supplied path does not represent a smart card file. + + + + +The supplied path does not represent a smart card directory. + + + + +The identified file does not exist in the smart card. + + + + +The identified directory does not exist in the smart card. + + + + +This smart card does not support the requested feature. + + + + +The requested order of object creation is not supported. + + + + +No Primary Provider can be found for the smart card. + + + + +An unexpected card error has occurred. + + + + +The Smart card resource manager has shut down. + + + + +The Smart card resource manager is not running. + + + + +The smart card does not meet minimal requirements for support. + + + + +The reader driver did not produce a unique reader name. + + + + +The reader driver does not meet minimal requirements for support. + + + + +The PCI Receive buffer was too small. + + + + +The operation has been aborted to allow the server application to exit. + + + + +The specified reader is not currently available for use. + + + + +An attempt was made to end a non-existent transaction. + + + + +An ATR obtained from the registry is not a valid ATR string. + + + + +An internal error has been detected, but the source is unknown. + + + + +An internal communications error has been detected. + + + + +The action was cancelled by the system, presumably to log off or shut down. + + + + +One or more of the supplied parameters values could not be properly interpreted. + + + + +The reader or smart card is not ready to accept commands. + + + + +The requested protocols are incompatible with the protocol currently in use with the smart card. + + + + +The system could not dispose of the media in the requested manner. + + + + +The specified smart card name is not recognized. + + + + +The operation requires a Smart Card, but no Smart Card is currently in the device. + + + + +The smart card cannot be accessed because of other connections outstanding. + + + + +The user-specified timeout value has expired. + + + + +The specified reader name is not recognized. + + + + +The data buffer to receive returned data is too small for the returned data. + + + + +An internal consistency timer has expired. + + + + +Not enough memory available to complete this command. + + + + +Registry startup information is missing or invalid. + + + + +One or more of the supplied parameters could not be properly interpreted. + + + + +The supplied handle was invalid. + + + + +The action was cancelled by an SCardCancel request. + + + + +An internal consistency check failed. + + + + +No installed components were detected. + + + + +An unrecoverable stack overflow was encountered. + + + + +A problem was encountered while attempting to delete the driver from the store. + + + + +The hash for the file is not present in the specified catalog file. The file is likely corrupt or the victim of tampering. + + + + +The specified INF is the wrong type for this operation. + + + + +The installation of this driver is forbidden by system policy. Contact your system administrator. + + + + +The installation of this device is forbidden by system policy. Contact your system administrator. + + + + +A problem was encountered while attempting to add the driver to the store. + + + + +One of the installers for this device cannot perform the installation at this time. + + + + +The file may only be validated by a catalog signed via Authenticode(tm). + + + + +The software was tested for compliance with Windows Logo requirements on a different version of Windows, and may not be compatible with this version. + + + + +The publisher of an Authenticode(tm) signed catalog was not established as trusted. + + + + +The publisher of an Authenticode(tm) signed catalog has not yet been established as trusted. + + + + +The INF was signed with an Authenticode(tm) catalog from a trusted publisher. + + + + +Authenticode(tm) signature verification is not supported for the specified INF. + + + + +A file could not be verified because it does not have an associated catalog signed via Authenticode(tm). + + + + +The requested device install operation is obsolete. + + + + +One or more devices are presently installed using the specified INF. + + + + +The specified file is not an installed OEM INF. + + + + +The requested operation is not supported for a remote machine. + + + + +A problem was encountered when accessing the Plug and Play registry database. + + + + +An unknown exception was encountered. + + + + +The Security Configuration Editor (SCE) APIs have been disabled on this Embedded product. + + + + +An INF was copied into the Windows INF directory in an improper manner. + + + + +The operation involving unsigned file copying was rolled back, so that a system restore point could be set. + + + + +Operation not allowed in WOW64. + + + + +Driver is not intended for this platform. + + + + +Cannot copy to specified target. + + + + +The device could not be dynamically removed. + + + + +The device cannot be disabled. + + + + +An invalid attempt was made to use a device installation file queue for verification of digital signatures relative to other platforms. + + + + +The third-party INF does not contain digital signature information. + + + + +The driver selected for this device does not support Windows. + + + + +The driver selected for this device does not support Windows Vista. + + + + +One of the filter drivers installed for this device is invalid. + + + + +The class installer has denied the request to install or upgrade this device. + + + + +A logical configuration specified in this INF is invalid. + + + + +There is no icon that represents this device or device type. + + + + +There are no compatible drivers for this device. + + + + +The device's co-installer is invalid. + + + + +The device's co-installer has additional work to perform after installation is complete. + + + + +The requested device interface is not present in the system. + + + + +The property page provider registry entry is invalid. + + + + +The Plug and Play service is not available on the remote machine. + + + + +The machine selected for remote communication is not available at this time. + + + + +A general remote communication error occurred. + + + + +The specified machine name does not conform to UNC naming conventions. + + + + +The reference string supplied for this interface device is invalid. + + + + +This interface class does not exist in the system. + + + + +An interface installation section in this INF is invalid. + + + + +The operation cannot be performed because the device interface has been removed from the system. + + + + +The operation cannot be performed because the device interface is currently active. + + + + +There is presently no default device interface designated for this interface class. + + + + +The installation failed because a function driver was not specified for this device instance. + + + + +There is no class driver list for the device information element. + + + + +A service installation section in this INF is invalid. + + + + +The operation cannot be performed because the file queue is locked. + + + + +No class installer parameters have been set for the device information set or element. + + + + +The specified path does not contain any applicable device INFs. + + + + +The operation cannot be performed because the device information element is locked. + + + + +The operation cannot be performed because the device information set is locked. + + + + +There is no device information element currently selected for this device information set. + + + + +The specified hardware profile does not exist. + + + + +The operation does not require any files to be copied. + + + + +The class installer has indicated that the default action should be performed for this installation request. + + + + +The class installer registry entry is invalid. + + + + +The icon representing this install class cannot be loaded. + + + + +The device instance does not exist in the hardware tree. + + + + +The INF from which a driver list is to be built does not exist. + + + + +The device property code is invalid. + + + + +The operation cannot be performed on a device information element that has not been registered. + + + + +The device instance cannot be created because it already exists. + + + + +The install class is not present or is invalid. + + + + +The device instance name is invalid. + + + + +The requested device registry key does not exist. + + + + +There is no driver selected for the device information set or element. + + + + +An existing device was found that is a duplicate of the device being manually installed. + + + + +The INF or the device information set or element does not match the specified install class. + + + + +The INF or the device information set or element does not have an associated install class. + + + + +The files affected by the installation of this file queue have not been backed up for uninstall. + + + + +The required line was not found in the INF. + + + + +The required section was not found in the INF. + + + + +The style of the INF is different than what was requested. + + + + +The syntax of the INF is invalid. + + + + +An INF section was encountered whose name exceeds the maximum section name length. + + + + +A section name marker in the INF is not complete, or does not exist on a line by itself. + + + + +A non-empty line was encountered in the INF before the start of a section. + + + + +The certificate has an invalid name. The name is not included in the permitted list or is explicitly excluded. + + + + +The certificate has invalid policy. + + + + +A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider. + + + + +The certificate was explicitly marked as untrusted by the user. + + + + +The certificate is not valid for the requested usage. + + + + +The certificate's CN name does not match the passed value. + + + + +The revocation process could not continue - the certificate(s) could not be checked. + + + + +The certification path terminates with the test root which is not trusted with the current policy settings. + + + + +A certificate was explicitly revoked by its issuer. + + + + +Generic trust failure. + + + + +A certificate chain could not be built to a trusted root authority. + + + + +A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. + + + + +A certificate is missing or has an empty value for an important field, such as a subject or issuer name. + + + + +A parent of a given certificate in fact did not issue that child certificate. + + + + +A certificate being used for a purpose other than the ones specified by its CA. + + + + +A certificate contains an unknown extension that is marked 'critical'. + + + + +A path length constraint in the certification chain has been violated. + + + + +A certificate that can only be used as an end-entity is being used as a CA or visa versa. + + + + +The validity periods of the certification chain do not nest correctly. + + + + +A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file. + + + + +No signature was present in the subject. + + + + +This object does not read and write self-sizing data. + + + + +The size of the indefinite-sized data could not be determined. + + + + +The size of the data could not be determined. + + + + +Unspecified cryptographic failure. + + + + +Reading / writing Extensions where Attributes are appropriate, and visa versa. + + + + +Error due to problem in ASN.1 decoding process. + + + + +Error due to problem in ASN.1 encoding process. + + + + +The subject is not trusted for the specified action. + + + + +The form specified for the subject is not one supported or known by the specified trust provider. + + + + +The trust verification action specified is not supported by the specified trust provider. + + + + +Unknown trust provider. + + + + +The requested credential requires confirmation. + + + + +Some kind of structural error. + + + + +A check failed in a partially constant table. + + + + +The structure of the DSIG table is incorrect. + + + + +There is a bad version number in the file. + + + + +A call to a CryptoAPI function failed. + + + + +Failed on a file operation (open, map, read, write). + + + + +The file is not an OpenType file. + + + + +The file did not pass the hints check. + + + + +The signature does not have the correct attributes for the policy. + + + + +The file checksum is incorrect. + + + + +A table checksum is incorrect. + + + + +File is too small to contain the last table. + + + + +Too many pad bytes between tables or pad bytes are not 0. + + + + +Two or more tables overlap. + + + + +First table does not appear after header information. + + + + +A table does not start on a long word boundary. + + + + +Duplicate table tags or tags out of alphabetical order. + + + + +The offset table has incorrect values. + + + + +The magic number in the head table is incorrect. + + + + +Could not find the head table in the file. + + + + +Could not retrieve an object from the file. + + + + +Tried to reference a part of the file outside the proper range. + + + + +The certificate does not meet or contain the Authenticode(tm) financial extensions. + + + + +A certificate's basic constraint extension has not been observed. + + + + +The digital signature of the object did not verify. + + + + +The timestamp signature and/or certificate could not be verified or is malformed. + + + + +The signature of the certificate cannot be verified. + + + + +One of the counter signatures was invalid. + + + + +The certificate for the signer of the message is invalid or not found. + + + + +A system-level error occurred while verifying trust. + + + + +Signing certificate cannot include SMIME extension. + + + + +There is a key archival hash mismatch between the request and the response. + + + + +An unexpected key archival hash attribute was found in the response. + + + + +The key archival hash attribute was not found in the response. + + + + +You cannot add the root CA certificate into your local store. + + + + +The key is not exportable. + + + + +The certificate template requires too many RA signatures. Only one RA signature is allowed. + + + + +The certificate template renewal period is longer than the certificate validity period. The template should be reconfigured or the CA certificate renewed. + + + + +One or more certificate templates to be enabled on this certification authority could not be found. + + + + +The EMail name is unavailable and cannot be added to the Subject or Subject Alternate name. + + + + +The public key does not meet the minimum size required by the specified certificate template. + + + + +The request includes a private key for archival by the server, but key archival is not enabled for the specified certificate template. + + + + +The DNS name is unavailable and cannot be added to the Subject Alternate name. + + + + +The Active Directory GUID is unavailable and cannot be added to the Subject Alternate name. + + + + +The UPN is unavailable and cannot be added to the Subject Alternate name. + + + + +The request is missing one or more required signature issuance policies. + + + + +One or more signatures did not include the required application or issuance policies. The request is missing one or more required valid signatures. + + + + +The request is missing one or more required signatures. + + + + +The request is missing required signature policy information. + + + + +The template is missing a required signature policy attribute. + + + + +The request template version is newer than the supported template version. + + + + +The request was made on behalf of a subject other than the caller. The certificate template must be configured to require at least one signature to authorize the request. + + + + +The request is missing a required SMIME capabilities extension. + + + + +The request is missing a required private key for archival by the server. + + + + +The request is missing a required Subject Alternate name extension. + + + + +The request contains conflicting template information. + + + + +The request contains no certificate template information. + + + + +The requested certificate template is not supported by this CA. + + + + +The contacted domain controller cannot support signed LDAP traffic. Update the domain controller or configure Certificate Services to use SSL for Active Directory access. + + + + +The permissions on the certificate template do not allow the current user to enroll for this type of certificate. + + + + +The permissions on this certification authority do not allow the current user to enroll for certificates. + + + + +A memory reference caused a data alignment fault. + + + + +An attempt was made to open a Certification Authority database session, but there are already too many active sessions. The server may need to be configured to allow additional sessions. + + + + +The request contains an invalid renewal certificate attribute. + + + + +At least one security principal must have the permission to manage this CA. + + + + +The request is incorrectly formatted. The encrypted private key must be in an unauthenticated attribute in an outermost signature. + + + + +Cannot archive private key. The certification authority could not verify one or more key recovery certificates. + + + + +Cannot archive private key. The certification authority is not configured for key archival. + + + + +The operation is denied. It can only be performed by a certificate manager that is allowed to manage certificates for the current requester. + + + + +The operation is denied. The user has multiple roles assigned and the certification authority is configured to enforce role separation. + + + + +The certificate contains an encoded length that is potentially incompatible with older enrollment software. + + + + +Certificate service has been suspended for a database restore operation. + + + + +The certification authority's certificate contains invalid data. + + + + +The requested property value is empty. + + + + +The request's current status does not allow this operation. + + + + +The request does not exist. + + + + +The request subject name is invalid or too long. + + + + +ASN1 end of data expected + + + + +ASN1 skipped unknown extension(s). + + + + +ASN1 not yet implemented. + + + + +ASN1 bad PDU type. + + + + +ASN1 bad unicode (UTF8). + + + + +ASN1 bad encoding rule. + + + + +ASN1 bad choice value. + + + + +ASN1 bad tag value met. + + + + +ASN1 bad real value. + + + + +ASN1 bad arguments to function call. + + + + +ASN1 function not supported for this PDU. + + + + +ASN1 buffer overflow. + + + + +ASN1 out of memory. + + + + +ASN1 constraint violated. + + + + +ASN1 value too large. + + + + +ASN1 corrupted data. + + + + +ASN1 unexpected end of data. + + + + +ASN1 internal encode or decode error. + + + + +ASN1 Certificate encode/decode error code base. The ASN1 error values are offset by CRYPT_E_ASN1_ERROR. + + + + +OSS ASN.1 Error: Trace file error. + + + + +OSS ASN.1 Error: System resource error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Trace file error. + + + + +OSS ASN.1 Error: Trace file error. + + + + +OSS ASN.1 Error: Program link error. + + + + +OSS ASN.1 Error: Function not implemented. + + + + +OSS ASN.1 Error: Trace file error. + + + + +OSS ASN.1 Error: Encode/Decode function not implemented. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Multi-threading conflict. + + + + +OSS ASN.1 Error: Internal Error. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Access violation. + + + + +OSS ASN.1 Error: Unsupported BER indefinite-length encoding. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Internal Error. + + + + +OSS ASN.1 Error: Encode/Decode Error. + + + + +OSS ASN.1 Error: Out of memory. + + + + +OSS ASN.1 Error: Encode/Decode version mismatch. + + + + +OSS ASN.1 Error: Invalid argument. + + + + +OSS ASN.1 Error: Invalid data. + + + + +OSS ASN.1 Error: Output buffer is too small, the decoded data has been truncated. + + + + +OSS ASN.1 Error: Unknown ASN.1 data type. + + + + +OSS ASN.1 Error: Signed integer is encoded as a unsigned integer. + + + + +OSS ASN.1 Error: Output Buffer is too small. + + + + +OSS Certificate encode/decode error code base +See asn1code.h for a definition of the OSS runtime errors. The OSS error values are offset by CRYPT_E_OSS_ERROR. + + + + +The public key's algorithm parameters are missing. + + + + +None of the signers of the cryptographic message or certificate trust list is trusted. + + + + +The subject was not found in a Certificate Trust List (CTL). + + + + +Since the server was offline, the called function was unable to complete the usage check. + + + + +The called function was unable to do a usage check on the subject. + + + + +No DLL or exported function was found to verify subject usage. + + + + +The cryptographic operation failed due to a local security option setting. + + + + +The Put operation cannot continue. The file needs to be resized. However, there is already a signature present. A complete signing operation must be done. + + + + +The dwValueType for the CERT_NAME_VALUE is not one of the character strings. Most likely it is either a CERT_RDN_ENCODED_BLOB or CERT_TDN_OCTED_STRING. + + + + +The string contains an invalid X500 name attribute key, oid, value or delimiter. + + + + +The string contains a character not in the 7 bit ASCII character set. + + + + +The string contains a non-printable character. + + + + +The string contains a non-numeric character. + + + + +The certificate is not in the revocation server's database. + + + + +The revocation function was unable to check revocation because the revocation server was offline. + + + + +The revocation function was unable to check revocation for the certificate. + + + + +No Dll or exported function was found to verify revocation. + + + + +The certificate is revoked. + + + + +Final closure is pending until additional frees or closes. + + + + +The signed cryptographic message does not have a signer for the specified signer index. + + + + +Not a cryptographic message or the cryptographic message is not formatted correctly. + + + + +Cannot find the certificate and private key to use for decryption. + + + + +Cannot find the certificate and private key for decryption. + + + + +The certificate does not have a property that references a private key. + + + + +Cannot find the requested object. + + + + +The previous certificate or CRL context was deleted. + + + + +The specified certificate is self signed. + + + + +No provider was specified for the store or object. + + + + +The object or property already exists. + + + + +Cannot find object or property. + + + + +An error occurred while reading or writing to a file. + + + + +An error occurred during encode or decode operation. + + + + +The length specified for the output data was insufficient. + + + + +The protected data needs to be re-protected. + + + + +The streamed cryptographic message requires more data to complete the decode operation. + + + + +The streamed cryptographic message is not ready to return data. + + + + +The cryptographic message does not contain all of the requested attributes. + + + + +Cannot find the original signer. + + + + +Invalid issuer and/or serial number. + + + + +Invalid control type. + + + + +The enveloped-data message does not contain the specified recipient. + + + + +The content of the cryptographic message has not been decrypted yet. + + + + +The content of the cryptographic message has already been decrypted. + + + + +The index value is not valid. + + + + +The hash value is not correct. + + + + +The cryptographic message does not contain an expected authenticated attribute. + + + + +Unexpected cryptographic message encoding. + + + + +Invalid cryptographic message type. + + + + +The object identifier is poorly formatted. + + + + +Unknown cryptographic algorithm. + + + + +An error occurred while performing an operation on a cryptographic message. + + + + +The recipient rejected the renegotiation request. + + + + +Client policy does not allow credential delegation to target server with NLTM only authentication. + + + + +Client policy does not allow credential delegation to target server. + + + + +One or more of the parameters passed to the function was invalid. + + + + +A signature operation must be performed before the user can authenticate. + + + + +The domain controller certificate used for smartcard logon has been revoked. Please contact your system administrator with the contents of your system event log. + + + + +The domain controller certificate used for smartcard logon has expired. Please contact your system administrator with the contents of your system event log. + + + + +An untrusted certificate authority was detected while processing the domain controller certificate used for authentication. There is additional information in the system event log. Please contact your system administrator. + + + + +The revocation status of the domain controller certificate used for smartcard authentication could not be determined. There is additional information in the system event log. Please contact your system administrator. + + + + +An attempt was made by this server to make a Kerberos constrained delegation request for a target outside of the server's realm. This is not supported, and indicates a misconfiguration on this server's allowed to delegate to list. Please contact your administrator. + + + + +The Kerberos subsystem encountered an error. A service for user protocol request was made against a domain controller which does not support service for user. + + + + +The smartcard certificate used for authentication has expired. Please contact your system administrator. + + + + +The smartcard certificate used for authentication was not trusted. Please contact your system administrator. + + + + +The revocation status of the smartcard certificate used for authentication could not be determined. Please contact your system administrator. + + + + +An untrusted certificate authority was detected While processing the smartcard certificate used for authentication. Please contact your system administrator. + + + + +The smartcard certificate used for authentication has been revoked. Please contact your system administrator. There may be additional information in the event log. + + + + +The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you. + + + + +The certificate is not valid for the requested usage. + + + + + SEC_E_NO_KERB_KEY + + + + +The received certificate was mapped to multiple accounts. + + + + +Client's supplied SSPI channel bindings were incorrect. + + + + +The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. + + + + +An unsupported preauthentication mechanism was presented to the Kerberos package. + + + + +The encryption type requested is not supported by the KDC. + + + + +The KDC was unable to generate a referral for the service requested. + + + + +An invalid request was sent to the KDC. + + + + +A system shutdown is in progress. + + + + +Smartcard logon is required and was not used. + + + + +The client certificate does not contain a valid UPN, or does not match the client name in the logon request. Please contact your administrator. + + + + +Expected to find PA data for a hint of what etype to use, but it was not found. + + + + +The KDC reply contained more than one principal name. + + + + +The other end of the security negotiation is requires strong crypto but it is not supported on the local machine. + + + + +The local machine must be a Kerberos KDC (domain controller) and it is not. + + + + +The number of maximum ticket referrals has been exceeded. + + + + +The crypto system or checksum function is invalid because a required function is unavailable. + + + + +The supplied credential handle does not match the credential associated with the security context. + + + + +Unable to accomplish the requested task because the local machine does not have any IP addresses. + + + + +The client is trying to negotiate a context and the server requires user-to-user but didn't send a TGT reply. + + + + +A security context was deleted before the context was completed. This is considered a logon failure. + + + + +The security context could not be established due to a failure in the requested quality of service (e.g. mutual authentication or delegation). + + + + +The client and server cannot communicate, because they do not possess a common algorithm. + + + + +The specified data could not be decrypted. + + + + +The specified data could not be encrypted. + + + + +The received certificate has expired. + + + + +An unknown error occurred while processing the certificate. + + + + +The message received was unexpected or badly formatted. + + + + +The certificate chain was issued by an authority that is not trusted. + + + + +The clocks on the client and server machines are skewed. + + + + +There is no LSA mode context associated with this context. + + + + +The target principal name is incorrect. + + + + +The context data must be renegotiated with the peer. + + + + +The credentials supplied were not complete, and could not be verified. Additional information can be returned from the context. + + + + +The buffers supplied to a function was too small. + + + + +The credentials supplied were not complete, and could not be verified. The context could not be initialized. + + + + +The supplied message is incomplete. The signature was not verified. + + + + +The context has expired and can no longer be used. + + + + +The context has expired and can no longer be used. + + + + +The requested security package does not exist + + + + +The logon was completed, but no network authority was available. The logon was made using locally known information + + + + +The function completed successfully, but both CompleteToken and this function must be called to complete the context + + + + +The function completed successfully, but CompleteToken must be called + + + + +The function completed successfully, but must be called again to complete the context + + + + +No authority could be contacted for authentication. + + + + +The message supplied for verification is out of sequence + + + + +The message or signature supplied for verification has been altered + + + + +No credentials are available in the security package + + + + +The credentials supplied to the package were not recognized + + + + +The logon attempt failed + + + + +The security context does not allow impersonation of the client + + + + +The per-message Quality of Protection is not supported by the security package + + + + +The security package is not able to marshall the logon buffer, so the logon attempt has failed + + + + +The token supplied to the function is invalid + + + + +The security package failed to initialize, and cannot be installed + + + + +The caller is not the owner of the desired credentials + + + + +The requested security package does not exist + + + + +The Local Security Authority cannot be contacted + + + + +The specified target is unknown or unreachable + + + + +The function requested is not supported + + + + +The handle specified is invalid + + + + +Not enough memory is available to complete this request + + + + +The cryptographic provider does not support HMAC. + + + + +This operation requires input from the user. + + + + +An internal consistency check failed. + + + + +The specified data could not be decrypted. + + + + +The supplied buffers overlap incorrectly. + + + + +No more data is available. + + + + +The requested operation is not supported. + + + + +The buffer supplied to a function was too small. + + + + +The parameter is incorrect. + + + + +The supplied handle is invalid. + + + + +The key parameters could not be set because the CSP uses fixed parameters. + + + + +The profile for the user is a temporary profile. + + + + +The security token does not have storage space available for an additional container. + + + + +Provider could not perform the action since the context was acquired as silent. + + + + +A base error occurred. + + + + +An internal error occurred. + + + + +The Keyset parameter is invalid. + + + + +Provider DLL could not be found. + + + + +Provider DLL failed to initialize correctly. + + + + +The digital signature file is corrupt. + + + + +Provider type does not match registered value. + + + + +Keyset as registered is invalid. + + + + +The keyset is not defined. + + + + +Provider type as registered is invalid. + + + + +Provider type not defined. + + + + +Keyset does not exist + + + + +Provider's public key is invalid. + + + + +Invalid provider type specified. + + + + +Invalid provider specified. + + + + +Data already encrypted. + + + + +Object was not found. + + + + +Access denied. + + + + +Object already exists. + + + + +Insufficient memory available for the operation. + + + + +Key does not exist. + + + + +Hash not valid for use in specified state. + + + + +Key not valid for use in specified state. + + + + +Invalid type specified. + + + + +Invalid flags specified. + + + + +Invalid algorithm specified. + + + + +Bad Version of provider. + + + + +Invalid Signature. + + + + +Bad Data. + + + + +Bad Length. + + + + +Bad Key. + + + + +Bad Hash. + + + + +Bad UID. + + + + +Business rule scripts are disabled for the calling application. + + + + +The SID filtering operation removed all SIDs. + + + + +The specified event is currently not being audited. + + + + +An internal error occurred. + + + + +Call Cancellation is disabled + + + + +The COM IAccessControl object is not initialized + + + + +Unable to decode the ACL in the stream provided by the user + + + + +Unable to open the access token of the server process + + + + +The version of ACL format in the stream is not supported by this implementation of IAccessControl + + + + +Not all the DENY_ACCESS ACEs are arranged in front of the GRANT_ACCESS ACEs in the stream. + + + + +The number of ACEs in an ACL exceeds the system limit. + + + + +Unable to close a serialization handle or a file handle. + + + + +Unable to create file + + + + +Unable to generate a uuid. + + + + +Path too long + + + + +Unable to obtain the Windows directory + + + + +Unable to set or reset a serialization handle + + + + +The system function, LookupAccountName, failed + + + + +Unable to find a trustee name that corresponds to a security identifier provided by the user + + + + +The system function, LookupAccountSID, failed + + + + +Unable to find a security identifier that corresponds to a trustee string provided by the user + + + + +Unable to convert a wide character trustee string to a multibyte trustee string + + + + +One of the security identifiers provided by the user was invalid + + + + +One of the trustee strings provided by the user did not conform to the <Domain>\<Name> syntax and it was not the "*" string + + + + +Either NetAccessDel or NetAccessAdd returned an error code. + + + + +The system function, AccessCheck, returned false + + + + +Unable to set a discretionary ACL into a security descriptor + + + + +Unable to obtain the client's security blanket + + + + +The client who called IAccessControl::IsAccessPermitted was not the trustee provided to the method + + + + +Unable to obtain user info from an access token + + + + +Unable to open the access token of the current thread + + + + +Unable to obtain server's security context + + + + +Unable to impersonate DCOM client + + + + +Principal name is not a valid MSSTD name. + + + + +Full subject issuer chain SSL principal name expected from the server. + + + + +There are no synchronize objects to wait on. + + + + +This operation returned because the timeout period expired. + + + + +No context is associated with this call. This happens for some custom marshalled calls and on the client side of the call. + + + + +The marshaled interface data packet (OBJREF) has an invalid or unknown format. + + + + +Remote calls are not allowed for this process. + + + + +Access is denied. + + + + +No security packages are installed on this machine or the user is not logged on or there are no compatible security packages between the client and server. + + + + +Security must be initialized before any interfaces are marshalled or unmarshalled. It cannot be changed once initialized. + + + + +Impersonate on unsecure calls is not supported. + + + + +Call context cannot be accessed after call completed. + + + + +OLE is waiting before retrying a request. + + + + +OLE has sent a request and is waiting for a reply. + + + + +The requested object does not exist. + + + + +The requested object or interface does not exist. + + + + +OLE received a packet with an invalid extension. + + + + +OLE received a packet with an invalid header. + + + + +The version of OLE on the client and server machines does not match. + + + + +CoInitialize has not been called on the current thread. + + + + +The application called an interface that was marshalled for a different thread. + + + + +An outgoing call cannot be made since the application is dispatching an input-synchronous call. + + + + +A call control interfaces was called with invalid data. + + + + +The message filter rejected the call. + + + + +The message filter indicated that the application is busy. + + + + +The object invoked chose not to process the call now. Try again later. + + + + +The object invoked has disconnected from its clients. + + + + +The method called does not exist on the server. + + + + +Cannot change thread mode after it is set. + + + + +The server threw an exception. + + + + +RPC could not call the server or could not return the results of calling the server. + + + + +The requested interface is not registered on the server object. + + + + +Attempted to make calls on more than one thread in single threaded mode. + + + + +Could not allocate some required resource (memory, events, ...) + + + + +System call failed. + + + + +The callee (server [not server application]) is not available and disappeared; all connections are invalid. The call did not execute. + + + + +There is no second outgoing call on same channel in DDE conversation. + + + + +A particular parameter is invalid and cannot be (un)marshalled. + + + + +Received data is invalid; could be server or client data. + + + + +The server (callee) cannot unmarshall the parameter data - low memory, etc. + + + + +The server (callee) cannot marshall the return data - low memory, etc. + + + + +The client (caller) cannot unmarshall the return data - low memory, etc. + + + + +The client (caller) cannot marshall the parameter data - low memory, etc. + + + + +The call was not transmitted properly; the message queue was full and was not emptied after yielding. + + + + +The data packet with the marshalled parameter data is incorrect. + + + + +The caller (client) disappeared while the callee (server) was processing a call. + + + + +The callee (server [not server application]) is not available and disappeared; all connections are invalid. The call may have executed. + + + + +The connection terminated or is in a bogus state and cannot be used any more. Other connections are still valid. + + + + +It is illegal to call out while inside message filter. + + + + +The caller is dispatching an asynchronous call and cannot make an outgoing call on behalf of this call. + + + + +The caller is dispatching an intertask SendMessage call and cannot call out via PostMessage. + + + + +Call was canceled by the message filter. + + + + +Call was rejected by callee. + + + + +Copy Protection Error - The drive's region setting may be permanent or the number of user resets has been exhausted. + + + + +Copy Protection Error - The current DVD's region does not correspond to the region setting of the drive. + + + + +Copy Protection Error - The read failed because the sector is encrypted. + + + + +Copy Protection Error - DVD session key not established. + + + + +Copy Protection Error - The given sector does not have a valid CSS key. + + + + +Copy Protection Error - DVD CSS Authentication failed. + + + + +Generic Copy Protection Error. + + + + +Consolidation of the storage file is inappropriate. (commit succeeded). + + + + +Consolidation of the storage file failed. (commit succeeded). + + + + +Multiple opens prevent consolidated. (commit succeeded). + + + + +The notified event sink will not influence the storage operation. + + + + +The storage operation should retry immediately. + + + + +The storage operation should block until more data is available. + + + + +The underlying file was converted to compound file format. + + + + +The file download has been terminated. + + + + +The file download was aborted abnormally. The file is incomplete. + + + + +The compound file was not created with the STGM_SIMPLE flag + + + + +The compound file is too large for the current implementation + + + + +OLE32.DLL has been loaded at the wrong address. + + + + +The docfile has been corrupted. + + + + +Illegal operation called on object with extant marshallings. + + + + +Illegal operation called on non-file based storage. + + + + +Share.exe or equivalent is required for operation. + + + + +The compound file %1 was produced with a newer version of storage. + + + + +The compound file %1 was produced with an incompatible version of storage. + + + + +Can't save. + + + + +Attempted to use an object that has ceased to exist. + + + + +The storage has been changed since the last commit. + + + + +Attempted to use an object that is busy. + + + + +Invalid flag error. + + + + +That function is not implemented. + + + + +An unexpected error occurred. + + + + +The name %1 is not valid. + + + + +The file %1 is not a valid compound file. + + + + +An API call exited abnormally. + + + + +Illegal write of non-simple property to simple property set. + + + + +There is insufficient disk space to complete operation. + + + + +Invalid parameter error. + + + + +%1 already exists. + + + + +A lock violation has occurred. + + + + +A share violation has occurred. + + + + +A disk error occurred during a read operation. + + + + +A disk error occurred during a write operation. + + + + +An error occurred during a seek operation. + + + + +Disk is write-protected. + + + + +There are no more entries to return. + + + + +Invalid pointer error. + + + + +There is insufficient memory available to complete operation. + + + + +Attempted an operation on an invalid object. + + + + +Access Denied. + + + + +There are insufficient resources to open another file. + + + + +The path %1 could not be found. + + + + +%1 could not be found. + + + + +Unable to perform requested operation. + + + + +Circular dependency between types/modules. + + + + +Inconsistent property functions. + + + + +Error loading type library/DLL. + + + + +Error creating unique tmp file. + + + + +I/O Error. + + + + +Invalid number of arguments. + + + + +Type mismatch. + + + + +Incorrect inheritance depth in standard OLE hmember. + + + + +Duplicate ID in inheritance hierarchy. + + + + +Size may not exceed 64K. + + + + +Wrong module kind for the operation. + + + + +Function not defined in specified DLL. + + + + +Unknown LCID. + + + + +Name already exists in the library. + + + + +Ambiguous name. + + + + +Element not found. + + + + +Type mismatch. + + + + +Invalid forward reference, or reference to uncompiled type. + + + + +Qualified name disallowed. + + + + +Bound to unknown type. + + + + +Library not registered. + + + + +Error accessing the OLE registry. + + + + +Old format or invalid type library. + + + + +Old format or invalid type library. + + + + +Field name not defined in the record. + + + + +Buffer too small. + + + + +Buffer too small + + + + +Division by zero. + + + + +Does not support a collection. + + + + +Invalid callee. + + + + +Parameter not optional. + + + + +Invalid number of parameters. + + + + +Memory is locked. + + + + +Unknown language. + + + + +Invalid index. + + + + +Out of present range. + + + + +Exception occurred. + + + + +Bad variable type. + + + + +No named arguments. + + + + +Unknown name. + + + + +Type mismatch. + + + + +Parameter not found. + + + + +Member not found. + + + + +Unknown interface. + + + + +The class is not configured to support Elevated activation. + + + + +The activation requires that the RunAs value for the application is Activate As Activator. + + + + +The activation requires a display name to be present under the CLSID key. + + + + +The specified machine name was not found in the cache. + + + + +Not all the requested interfaces were available + + + + +The requested allocation size was too large + + + + +An allocation chain contained an invalid link pointer + + + + +An invalid root block pointer was specified + + + + +Object server is stopping when OLE service contacts it + + + + +Moniker path could not be normalized + + + + +OLE service could not communicate with the object server + + + + +Server execution failed + + + + +Bad path to object + + + + +RPC communication failed with OLE service + + + + +OLE service could not bind object + + + + +Attempt to create a class object failed + + + + +The task settings do not allow the task to start on demand. + + + + +The task has properties that are not compatible with previous versions of Windows. + + + + +The task is disabled. + + + + +The Task Scheduler service has asked the task to run. + + + + +The Task Scheduler service attempted to run the task, but the task did not run due to one of the constraints in the task definition. + + + + +The Task Scheduler service is too busy to handle your request. Please try again later. + + + + +The Task Scheduler service is not available. + + + + +The task image is corrupt or has been tampered with. + + + + +The task will not run because the user is not logged on. + + + + +An instance of this task is already running. + + + + +The task cannot be started after the trigger's end boundary. + + + + +The task XML contains too many nodes of the same type. + + + + +The task is registered, but may fail to start. Batch logon privilege needs to be enabled for the task principal. + + + + +The task is registered, but not all specified triggers will start the task. + + + + +The task XML is malformed. + + + + +The task XML is missing a required element or attribute. + + + + +The task XML contains a value which is incorrectly formatted or out of range. + + + + +The task XML contains an element or attribute from an unexpected namespace. + + + + +The task XML contains an unexpected node. + + + + +The Task Scheduler Service is not running. + + + + +The task has been configured with an unsupported combination of account settings and run time options. + + + + +The task object version is either unsupported or invalid. + + + + +Task Scheduler security services are available only on Windows NT. + + + + +Corruption was detected in the Task Scheduler security database; the database has been reset. + + + + +Unable to establish existence of the account specified. + + + + +No account information could be found in the Task Scheduler security database for the task indicated. + + + + +The object is either an invalid task object or is not a task object. + + + + +The task object could not be opened. + + + + +The Task Scheduler Service is not installed on this computer. + + + + +There is no running instance of the task. + + + + +One or more of the properties that are needed to run this task have not been set. + + + + +Trigger not found. + + + + +Event triggers don't have set run times. + + + + +Either the task has no triggers or the existing triggers are disabled or not set. + + + + +The last run of the task was terminated by the user. + + + + +One or more of the properties that are needed to run this task on a schedule have not been set. + + + + +There are no more runs scheduled for this task. + + + + +The task has not yet run. + + + + +The task will not run at the scheduled times because it has been disabled. + + + + +The task is currently running. + + + + +The task is ready to run at its next scheduled time. + + + + +Moniker is already registered in running object table + + + + +Common prefix is both monikers + + + + +Common prefix is input moniker + + + + +Common prefix is this moniker + + + + +Moniker reduced to itself + + + + +Unable to convert OLESTREAM to IStorage + + + + +Message is too long; some of it had to be truncated before displaying + + + + +Invalid window handle passed + + + + +Verb number is valid but verb cannot be done now + + + + +Invalid verb for OLE object + + + + +Some cache(s) not updated + + + + +Same cache + + + + +FORMATETC not supported + + + + +View is already frozen + + + + +Data has same FORMATETC + + + + +Use the default cursor + + + + +Drag-drop operation canceled + + + + +Successful drop took place + + + + +Macintosh clipboard format + + + + +Success, but static + + + + +Use the registry database to provide the requested information + + + + +The component made a call to EnterTransactionScope, but did not make a corresponding call to ExitTransactionScope before returning. + + + + +The component attempted to make a cross-context call between invocations of EnterTransactionScopeand ExitTransactionScope. This is not allowed. Cross-context calls cannot be made while inside of a transaction scope. + + + + +The TxIsolation Level property for the COM+ component being created is stronger than the TxIsolationLevel for the "root" component for the transaction. The creation failed. + + + + +The COM+ component requires synchronization, and it is not configured for it. + + + + +The COM+ component you created must use object construction to work correctly. + + + + +The COM+ component you created must use object pooling to work. + + + + +An attempt to use a database generated a database specific error. + + + + +An attempt to write a cookie failed. + + + + +IIS intrinsics not available. Start your work with IIS. + + + + +The components threading model has changed after install into a COM+ Application. Please re-install component. + + + + +The requested operation requires that the current context have a Transaction, and it does not + + + + +The requested operation requires that JIT be in the current context and it is not + + + + +COM+ Activation failed because an initialization function failed. Check the event log for more information. + + + + +COM+ activation failed because the activation could not be completed in the specified amount of time. + + + + +COM+ Activation failed due to a catalog or configuration error. + + + + +COM+ Activation failed. Check the event log for more information + + + + +An unexpected error occurred during COM+ Activation. + + + + +COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator + + + + +The specified role was not configured for the application + + + + +You made a method call on a COM+ component that has a transaction that has already committed or aborted. + + + + +The component is configured to use synchronization and a thread has timed out waiting to enter the context. + + + + +The component is configured to use synchronization and this method call would cause a deadlock to occur. + + + + +There is no MTS object context + + + + +You made a method call on a COM+ component that has a transaction that has already aborted or in the process of aborting. + + + + +The root transaction wanted to commit, but transaction aborted + + + + +The resource manager has requested to be the coordinator (last resource manager) for the transaction. + + + + +The local transaction has not aborted. + + + + +The resource manager has performed a single-phase commit of the transaction. + + + + +An abort operation was already in progress. + + + + +The transaction was successfully aborted. However, the abort was non-retaining. + + + + +The sink is for the moment and wishes the transaction to proceed, but if other changes are made following this return by other event sinks then this sink wants another chance to look + + + + +The sink is content and wishes the transaction to proceed. Changes were made to one or more resources during this call. + + + + +No changes were made during this call, but the sink wants another chance to look if any other sinks make further changes. + + + + +The transaction was successfully aborted. However, this is a coordinated transaction, and some number of enlisted resources were aborted outright because they could not support abort-retaining semantics + + + + +The method call succeeded because the transaction was read-only. + + + + + XACT_S_DEFECT + + + + +An asynchronous operation was specified. The operation has begun, but its outcome is not known yet. + + + + + XACT_E_REPLAYREQUEST + + + + + XACT_E_INVALIDLSN + + + + + XACT_E_TRANSACTIONCLOSED + + + + + XACT_E_RECOVERYINPROGRESS + + + + + XACT_E_CLERKEXISTS + + + + + XACT_E_CLERKNOTFOUND + + + + +The local transaction has aborted. + + + + +MSDTC was unable to load the dtc proxy dll. + + + + +MSDTC was unable to read its configuration information. + + + + +The transaction manager has disabled its support for XA transactions. + + + + +The partner transaction manager has disabled its support for remote/network transactions. + + + + +The transaction manager has disabled its support for remote/network transactions. + + + + +The Transaction Manager has disabled its support for TIP. + + + + +The Transaction Manager on the destination machine is not available. + + + + +This transaction manager could not propagate a transaction from another TIP transaction manager. + + + + +This transaction manager encountered a protocol error with another TIP transaction manager. + + + + +This transaction manager failed to establish a connection with another TIP transaction manager. + + + + +Resource manager reenlistment to determine transaction status timed out. + + + + +A request to establish a connection with the transaction manager was denied. + + + + +A connection with the transaction manager was lost. + + + + +The Transaction Manager is not available. + + + + +The Transaction Manager returned a log full error. + + + + +The transaction has already been aborted. + + + + +The requested operation is already in progress for the transaction. + + + + +A time-out was specified, but time-outs are not supported. + + + + +The transaction status is in doubt. A communication failure occurred, or a transaction manager or resource manager has failed + + + + +The transaction cookie is invalid. + + + + +An import object for the transaction could not be found. + + + + +An enlistment in a transaction already exists. + + + + +The indicated unit of work does not match the unit of work expected by the resource manager. + + + + +This method was called in the wrong state + + + + +The resource manager id is not associated with this transaction or the transaction manager. + + + + +An invalid combination of flags was specified + + + + +The transaction has already been implicitly or explicitly committed or aborted + + + + +The transaction failed to commit due to the failure of optimistic concurrency control in at least one of the resource managers. + + + + +There is no resource presently associated with this enlistment + + + + +The requested semantics of retention of isolation across retaining commit and abort boundaries cannot be supported by this transaction implementation, or isoFlags was not equal to zero. + + + + +Unable to enlist in the transaction. + + + + +The transaction manager doesn't support an asynchronous operation for this method. + + + + +The requested isolation level is not valid or supported. + + + + +Some of the states of the resource may have been committed while others may have been aborted, likely because of heuristic decisions. + + + + +Some of the states of the resource were committed while others were aborted, likely because of heuristic decisions. + + + + +Instead of aborting, the resource heuristically committed. + + + + +Instead of committing, the resource heuristically aborted. + + + + +Cannot call commit on this transaction object because the calling application did not initiate the transaction. + + + + +The transaction failed to commit for an unknown reason. The transaction was aborted. + + + + +A retaining commit or abort is not supported + + + + +Another single phase resource manager has already been enlisted in this transaction. + + + + +The owner of the PerUser subscription is not logged on to the system specified + + + + +The event class for this subscription is in an invalid partition + + + + +Cannot modify or delete an object that was added using the COM+ Admin SDK + + + + +Cannot modify or delete an object that was not added using the COM+ Admin SDK + + + + +COM+ is required for this operation, but is not installed + + + + +Not all the objects requested could be removed + + + + +A subscription cannot be stored unless its event class already exists + + + + +An interface has too many methods to fire events from + + + + +A user-supplied component or subscriber raised an exception + + + + +The owner SID on a per-user subscription doesn't exist + + + + +An unexpected internal error was detected + + + + +An unexpected exception was raised + + + + +An invalid field name was used in a query string + + + + +A syntax error occurred trying to evaluate a query string + + + + +An event was delivered but there were no subscribers + + + + +An event was unable to invoke any of the subscribers + + + + +An event was able to invoke some but not all of the subscribers + + + + +Object has been released + + + + +Application was launched but it didn't register a class factory + + + + +Object is not connected to server + + + + +Object is already registered + + + + +Object is not registered + + + + +Wrong OS or OS version for application + + + + +Error in the DLL + + + + +DLL for class not found + + + + +Some error in application program + + + + +Application cannot be run more than once + + + + +Application not found + + + + +Invalid interface string + + + + +Invalid class string + + + + +Class of object cannot be determined + + + + +CoInitialize has already been called. + + + + +CoInitialize has not been called. + + + + +Moniker could not be enumerated + + + + +No common prefix + + + + +Moniker does not refer to storage + + + + +Moniker class has no inverse + + + + +User input required for operation to succeed + + + + +Moniker cannot open file + + + + +Moniker is not bound + + + + +Moniker is not bindable + + + + +Intermediate operation failed + + + + +Bad extension for file + + + + +No object for moniker + + + + +Invalid syntax + + + + +Operation unavailable + + + + +Moniker needs to be generic + + + + +Operation exceeded deadline + + + + +Moniker needs to be connected manually + + + + +CloseClipboard Failed + + + + +Data on clipboard is invalid + + + + +SetClipboard Failed + + + + +EmptyClipboard Failed + + + + +OpenClipboard Failed + + + + +There was an error in a Windows GDI call while converting the DIB to a bitmap. + + + + +Contents of IStorage is missing one of the standard streams + + + + +Contents of the IStorage not in correct format + + + + +There was an error in a Windows GDI call while converting the bitmap to a DIB + + + + +Contents of the OLESTREAM not in correct format + + + + +OLESTREAM Put method failed + + + + +OLESTREAM Get method failed + + + + +Space for tools is not available + + + + +Undo is not available + + + + +Invalid verb for OLE object + + + + +No verbs for OLE object + + + + +Cache not updated + + + + +An error occurred in the software installation data in the Active Directory. + + + + +The schema for the software installation data in the Active Directory does not match the required schema. + + + + +The size of this object exceeds the maximum size set by the Administrator. + + + + +A network error interrupted the operation. + + + + +The path to the software installation data in the Active Directory is not correct. + + + + +The software installation data object in the Active Directory already exists. + + + + +There is no software installation data object in the Active Directory. + + + + +There is no software installation data in the Active Directory. + + + + +The software installation data in the Active Directory is corrupt. + + + + +The CLSID was not found in the software installation data in the Active Directory. + + + + +Deleting this will break the referential integrity of the software installation data in the Active Directory. + + + + +No package in the software installation data in the Active Directory meets this criteria. + + + + +Description not found + + + + +CATID does not exist + + + + +Threading model entry is not valid + + + + +Interface not registered + + + + +Class not registered + + + + +Invalid value for registry + + + + +Could not find the key in the registry + + + + +Could not write key to registry + + + + +Could not read key from registry + + + + +Error drawing view + + + + +Class is not licensed for use + + + + +ClassFactory cannot supply requested class + + + + +Class does not support aggregation (or class object is remote) + + + + +Invalid window handle + + + + +This window has already been registered as a drop target + + + + +Trying to revoke a drop target that has not been registered + + + + +Object doesn't support IViewObject interface + + + + +tdSize parameter of the DVTARGETDEVICE structure is invalid + + + + +Invalid aspect(s) + + + + +Invalid clipboard format + + + + +Invalid tymed + + + + +Invalid lindex + + + + +Invalid STATDATA structure + + + + +Invalid STDGMEDIUM structure + + + + +Invalid DVTARGETDEVICE structure + + + + +Invalid FORMATETC structure + + + + +Not able to perform the operation because object is not given storage yet + + + + +Not able to convert object + + + + +Object is not in any of the inplace active states + + + + +Invalid window handle + + + + +compobj.dll is too old for the ole2.dll initialized + + + + +Invalid rectangle + + + + +User canceled out of save dialog + + + + +Object is static; operation not allowed + + + + +Not able to bind to the source + + + + +Not able to get the moniker of the object + + + + +Linked object's source class has changed + + + + +Uninitialized object + + + + +There is no cache to operate on + + + + +Need to run the object to perform this operation + + + + +There is no connection for this connection ID + + + + +This implementation doesn't take advises + + + + +Can't enumerate any more, because the associated data is missing + + + + +Invalid advise flags + + + + +Invalid OLEVERB structure + + + + +The server principal name (SPN) obtained during security negotiation is malformed. + + + + +The provided side-by-side configuration is invalid + + + + +The provided thread pool configuration is invalid + + + + +The provided tracker configuration is invalid + + + + +Unable to complete the call since there is no COM+ security context inside IObjectControl.Activate. + + + + +The server started, but did not finish initializing in a timely fashion. + + + + +The thread-pool rejected the submitted asynchronous work. + + + + +The common language runtime is not available + + + + +The component or application containing the component has been disabled. + + + + +Activations on the server are not paused. + + + + +Activations on the server are paused. + + + + +The specified activation could not occur in the client context as specified. + + + + +A Microsoft Software Installer error was encountered. + + + + +A dll must be loaded. + + + + +The operation attempted is not supported. + + + + +The registration information for this interface is inconsistent or incomplete. + + + + +The registration information for this server is inconsistent or incomplete. + + + + +The server did not respond after being launched. + + + + +This computer was unable to communicate with the computer providing the server. + + + + +The service providing this server could not be started. + + + + +The client is not allowed to launch this server. + + + + +The server process could not be started because the configured identity is incorrect. Check the username and password. + + + + +The server process could not be started as the configured identity. The pathname may be incorrect or unavailable. + + + + +The server process could not be started. The pathname may be incorrect. + + + + +A RunAs specification must be <domain name>\<user name> or simply <user name> + + + + +Use of Ole1 services requiring DDE windows is disabled + + + + +The class is configured to run as a security id different from the caller + + + + +A Remote activation was necessary but the server name provided was invalid + + + + +A Remote activation was necessary but was not allowed + + + + +There was an attempt to call CoInitialize a second time while single threaded + + + + +Failure attempting to launch OLE service + + + + +Unable to map view of file for OLE service + + + + +The OLE service file mapping already exists + + + + +The OLE service mutex already exists + + + + +The user supplied memory allocator is unacceptable + + + + +Could not allocate thread local storage channel control + + + + +Cannot set thread local storage channel control + + + + +Unable to initialize RPC services + + + + +Unable to initialize class cache + + + + +Get memory allocator failure + + + + +Get shared memory allocator failure + + + + +Thread local storage failure + + + + +The data necessary to complete this operation is not yet available. + + + + +General access denied error + + + + +Unspecified error + + + + +Operation aborted + + + + +Invalid handle + + + + +Invalid pointer + + + + +No such interface supported + + + + +One or more arguments are invalid + + + + +Ran out of memory + + + + +Not implemented + + + + +Catastrophic failure + + + + +The requested system device cannot be found. + + + + +The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria. + + + + +The caller of SetMonitorColorTemperature specified a color temperature that the current monitor did not support. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + + + + +The monitor returned an invalid monitor technology type. CRT, Plasma and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + + + + +An internal Monitor Configuration API error occurred. + + + + +The Monitor Configuration API only works with monitors that support the MCCS 1.0 specification, MCCS 2.0 specification or the MCCS 2.0 Revision 1 specification. + + + + +The MCCS version in a monitor's mccs_ver capability does not match the MCCS version the monitor reports when the VCP Version (0xDF) VCP code is used. + + + + +The monitor does not comply with the MCCS specification it claims to support. + + + + +The monitor's VCP Version (0xDF) VCP code returned an invalid version value. + + + + +The monitor returned a DDC/CI capabilities string that did not comply with the ACCESS.bus 3.0, DDC/CI 1.1 or MCCS 2 Revision 1 specification. + + + + +Locale installation failed. + + + + +UI language installation failed. + + + + +User stopped resource enumeration. + + + + +The resource loader cache doesn't have loaded MUI entry. + + + + +The RC Manifest has invalid ultimatefallback name. + + + + +The RC Manifest has invalid culture name. + + + + +The RC Manifest is corrupted with garbage data or unsupported version or missing required item. + + + + +The resource loader failed to load MUI file because the file fail to pass validation. + + + + +The resource loader failed to find MUI file. + + + + +No active channel is found for the query. + + + + +The credential used by this subscription can't be found in credential store. + + + + +The credential store that is used to save credentials is full. + + + + +When forwarding events from local machine to itself, the query of the subscription can't contain target log of the subscription. + + + + +The log of the subscription is in disabled state, and can not be used to forward events to. The log must first be enabled before the subscription can be activated. + + + + +The subscription fails to activate. + + + + +Attempted to create a numeric type that is outside of its valid range. + + + + +The publisher has been disabled and its resource is not avaiable. This usually occurs when the publisher is in the process of being uninstalled or upgraded. + + + + +The channel at index %1!d! of the query can't be opened. + + + + +The resource is too new to be compatible. + + + + +The resource is too old to be compatible. + + + + +The locale specific resource for the desired message is not present. + + + + +The event definition could not be found for event id (%1). + + + + +The maximum number of replacements has been reached. + + + + +The description string for parameter reference (%1) could not be found. + + + + +The substitution string for insert index (%1) could not be found. + + + + +The message id for the desired message could not be found. + + + + +the message resource is present but the message is not found in the string/message table + + + + +The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions. + + + + +The channel fails to activate. + + + + +Publisher property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of publisher. + + + + +Channel property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of channel. + + + + +The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation. + + + + +The token encountered was unexpected. + + + + +This operator is unsupported by this implementation of the filter. + + + + +A syntax error occurred at position %1!d! + + + + +This data type is currently unsupported. + + + + +A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceeding node set can be evaluated. + + + + +Left hand side arguments to binary operators must be either attributes, nodes or variables and right hand side arguments must be constants. + + + + +Can't perform a step operation from a term that does not represent an element set. + + + + +An expression can only be followed by a change of scope operation if it itself evaluates to a node set and is not already part of some other change of scope operation. + + + + +Registered MSXML doesn't support validation. + + + + +Query result is currently at an invalid position. + + + + +The query result is stale / invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query. + + + + +Configuration error. + + + + +The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a logfile and cannot be subscribed to. + + + + +The specified xml text was not well-formed. See Extended Error for more details. + + + + +The specified channel could not be found. Check channel configuration. + + + + +The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest + + + + +The specified publisher name is invalid. + + + + +The template for an event definition cannot be found in the resource (error = %1). + + + + +The publisher metadata cannot be found in the resource. + + + + +The specified query is invalid. + + + + +The specified channel path is invalid. + + + + +A component is missing file verification information in its manifest. + + + + +A generic command executable returned a result that indicates failure. + + + + +The SMI primitive installer failed during setup or servicing. + + + + +One or more required members of the transaction are not present. + + + + +The setting is not registered. + + + + +The size of the manifest exceeds the maximum allowed. + + + + +The file is not a part of the assembly. + + + + +The assembly is not a deployment. + + + + +The component identities are different. + + + + +The identities of the manifests are identical but their contents are different. + + + + +The character encoding in the XML declaration did not match the encoding used in the document. + + + + +An advanced installer failed during setup or servicing. + + + + +The component store has been corrupted. + + + + +The component must be locked before making the request. + + + + +A substitution string had no mapping. + + + + +The public key token does not correspond to the public key specified. + + + + +A string containing localized substitutable content was malformed. Either a dollar sign ($) was followed by something other than a left parenthesis or another dollar sign or an substitution's right parenthesis was not found. + + + + +The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, missing attribute name or missing attribute value. + + + + +An identity contains two definitions for the same attribute. + + + + +The name of an attribute in an identity is not within the legal range. + + + + +The value of an attribute in an identity is not within the legal range. + + + + +The activation context of system default assembly could not be generated. + + + + +A kernel mode component is releasing a reference on an activation context. + + + + +A component used by the isolation facility has requested to terminate the process. + + + + +The activation context being deactivated has already been deactivated. + + + + +The activation context being deactivated is not active for the current thread of execution. + + + + +The activation context being deactivated is not the most recently activated one. + + + + +The application isolation metadata for this process or thread has become corrupt. + + + + +The activation context activation stack for the running thread of execution is corrupt. + + + + +The referenced assembly could not be found. + + + + +The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names. + + + + +The supplied assembly identity is missing one or more attributes which must be present in this context. + + + + +Assembly Protection Error : The catalog for an assembly is missing. + + + + +An HRESULT could not be translated to a corresponding Win32 error code. + + + + +Assembly Protection Error : The catalog for an assembly is not valid, or does not match the assembly's manifest. + + + + +Assembly Protection Error : The public key for an assembly was too short to be allowed. + + + + +Assembly Protection Error : Unable to recover the specified assembly. + + + + +Manifest Parse Error : Missing equals sign between attribute and attribute value. + + + + +Manifest Parse Error : Invalid version number. + + + + +Manifest Parse Error : The standalone attribute cannot be used in external entities. + + + + +Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'. + + + + +Manifest Parse Error : The name 'xml' is reserved and must be lower case. + + + + +Manifest Parse Error : Switch from current encoding to specified encoding not supported. + + + + +Manifest Parse Error : System does not support the specified encoding. + + + + +Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string "xml". + + + + +Manifest Parse Error : A CDATA section was not closed. + + + + +Manifest Parse Error : A declaration was not closed. + + + + +Manifest Parse Error : A comment was not closed. + + + + +Manifest Parse Error : A string literal was not closed. + + + + +Manifest Parse Error : End element was missing the character '>'. + + + + +Manifest Parse Error : Element was not closed. + + + + +Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset. + + + + +Manifest Parse Error : Unexpected end of file. + + + + +Manifest Parse Error : XML document must have a top level element. + + + + +Manifest Parse Error : Invalid xml declaration. + + + + +Manifest Parse Error : Invalid at the top level of the document. + + + + +Manifest Parse Error : Only one top level element is allowed in an XML document. + + + + +Manifest Parse Error : Duplicate attribute. + + + + +Manifest Parse Error : The following tags were not closed: %1. + + + + +Manifest Parse Error : End tag was not expected at this location. + + + + +Manifest Parse Error : Expecting whitespace or '?'. + + + + +Manifest Parse Error : Invalid unicode character value for this platform. + + + + +Manifest Parse Error : Invalid character for hexadecimal digit. + + + + +Manifest Parse Error : Invalid character for decimal digit. + + + + +Manifest Parse Error : Multiple colons are not allowed in a name. + + + + +Manifest Parse Error : A single or double closing quote character (\' or \") is missing. + + + + +Manifest Parse Error : Missing parenthesis. + + + + +Manifest Parse Error : End of file reached in invalid state for current encoding. + + + + +Manifest Parse Error : Whitespace is not allowed at this location. + + + + +Manifest Parse Error : Internal error. + + + + +Manifest Parse Error : Unbalanced parentheses. + + + + +Manifest Parse Error : A semi colon character was expected. + + + + +Manifest Parse Error : The character '>' was expected. + + + + +Manifest Parse Error : Required white space was missing. + + + + +Manifest Parse Error : An Invalid character was found in text content. + + + + +Manifest Parse Error : Invalid syntax for an xml declaration. + + + + +Manifest Parse Error : A string literal contained an invalid character. + + + + +Manifest Parse Error : A name contained an invalid character. + + + + +Manifest Parse Error : A name was started with an invalid character. + + + + +Manifest Parse Error : Incorrect syntax was used in a comment. + + + + +Manifest Parse Error : A string literal was expected, but no opening quote character was found. + + + + +The policy manifest contains one or more syntax errors. + + + + +A component's file does not match the verification information present in the component manifest. + + + + +Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted. + + + + +Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs. + + + + +Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs. + + + + +Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs. + + + + +Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs. + + + + +Two or more components referenced directly or indirectly by the application manifest have window classes with the same name. + + + + +Two or more components referenced directly or indirectly by the application manifest have files by the same name. + + + + +The private manifest probed has crossed reparse-point-associated path + + + + +The manifest has a default namespace specified on the assembly element but its value is not "urn:schemas-microsoft-com:asm.v1". + + + + +The manifest is missing the required default namespace specification on the assembly element. + + + + +The manifest contains an attribute for the assembly identity which is not valid. + + + + +The manifest for an assembly used by the application has a reference to a dependent assembly which is not installed + + + + +The application manifest contains a reference to a dependent assembly which is not installed + + + + +The manifest contains a reference to an invalid URI. + + + + +The encoding requested is not recognized. + + + + +The encoding group identifier specified is not recognized. + + + + +An attempt to set the process default activation context failed because the process default activation context was already set. + + + + +Lack of system resources has required isolated activation to be disabled for the current thread of execution. + + + + +The type requested activation context section does not match the query API used. + + + + +A component version required by the application conflicts with another component version already active. + + + + +The requested lookup key was not found in any active activation context. + + + + +The application attempted to activate a disabled activation context. + + + + +The manifest file contains one or more syntax errors. + + + + +The manifest file does not begin with the required tag and format information. + + + + +The referenced assembly is not installed on your system. + + + + +The application binding data format is invalid. + + + + +The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail. + + + + +The requested section was not present in the activation context. + + + + +IPsec dropped a clear text packet. + + + + +IPsec integrity check failed. + + + + +IPsec header and/or trailer in the packet is invalid. + + + + +Packet sequence number replay check failed. + + + + +Packet was received on an IPsec SA that doesn't match the packet characteristics. + + + + +Packet was received on an IPsec SA whose lifetime has expired. + + + + +The SPI in the packet does not match a valid IPsec SA. + + + + + ERROR_IPSEC_IKE_NEG_STATUS_END + + + + +Too many dynamically added IKEEXT filters were detected. + + + + +Quick mode SA was expired by IPsec driver. + + + + +Parameters of the main mode are invalid for this quick mode. + + + + +Error processing NatOA payload. + + + + +Could not verify binding between CGA address and certificate. + + + + +IKE service is shutting down. + + + + +Sent DOS cookie notify to initiator. + + + + +Received invalid authentication offers. + + + + +Received unexpected message ID. + + + + +Certificate doesn't chain to a trusted root in IPsec policy. + + + + +Main mode SA assumed to be invalid because peer stopped responding. + + + + +Main mode SA lifetime expired or peer sent a main mode delete. + + + + +Reached maximum quick mode limit for the main mode. New main mode will be started. + + + + +IKE received a policy that disables negotiation. + + + + +Max number of established MM SAs to peer exceeded. + + + + +Key length in certificate is too small for configured security requirements. + + + + +The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Please fix the policy on the peer machine. + + + + +Temporary state created to perform reinit. This is not a real failure. + + + + +Deleted via RPC call + + + + +Load failed + + + + +Invalid certificate signature + + + + +Invalid authentication algorithm + + + + +Invalid encryption algorithm + + + + +Invalid hash size + + + + +Invalid hash algorithm + + + + +Hash verification failed + + + + +Unsupported ID + + + + +Policy match error + + + + +Error decrypting payload + + + + +Error encrypting payload + + + + +Invalid Diffie-Hellman group + + + + +Diffie-Hellman failure + + + + +Invalid situation + + + + +Invalid DOI + + + + +Invalid policy + + + + +Failed to add Security Association to IPSec Driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine. + + + + +Memory allocation failed. + + + + +Given filter is invalid + + + + +Failed to obtain new SPI for the inbound SA from Ipsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters. + + + + +Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes). + + + + +Failed to obtain Kerberos server credentials for ISAKMP/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup. + + + + +Failed to query Kerberos package to obtain max token size. + + + + +Failed to obtain security function table dispatch address from SSPI. + + + + +Failed to load SECURITY.DLL. + + + + +Failed to enabled TCB privilege. + + + + +There is no available Main Mode IKE policy. + + + + +New policy invalidated SAs formed with old policy + + + + +Certification Revocation check of peer's certificate failed + + + + +Peer failed to send valid machine certificate + + + + +Invalid cookie received. + + + + +Soft SA torn down + + + + +Soft SA loaded + + + + +Invalid payload received + + + + +Error processing VendorId payload + + + + +Error processing Delete Payload + + + + +Error processing Notify payload + + + + +Error processing Nonce payload + + + + +Error processing Signature payload + + + + +Error processing Hash payload + + + + +Error processing Certificate Request payload + + + + +Error processing Cert payload + + + + +Error processing ID payload + + + + +Error processing KE payload + + + + +Error processing Transform payload + + + + +Error processing Proposal payload + + + + +Error processing SA payload + + + + +Error processing error payload + + + + +Peer's certificate did not have a public key + + + + +Failed to authenticate using Kerberos + + + + +Failed to verify signature + + + + +No policy configured + + + + +Invalid header + + + + +Failure in Diffie-Hellman computation + + + + +IKE negotiation failed because the machine certificate used does not have a private key. IPsec certificates require a private key. Contact your Network Security administrator about replacing with a certificate that has a private key. + + + + +Invalid certificate type + + + + +Invalid certificate key usage + + + + +Certificate Revocation Check failed + + + + +Unknown error occurred + + + + +Negotiation took too long + + + + +Negotiation took too long + + + + +No response from peer + + + + +Negotiation request sat in Queue too long + + + + +Negotiation request sat in Queue too long + + + + +Negotiation request sat in Queue too long + + + + +Negotiation request sat in Queue too long + + + + +IKE SA deleted before establishment completed + + + + +IKE SA deleted by peer before establishment completed + + + + +IKE failed to find valid machine certificate. Contact your Network Security Administrator about installing a valid certificate in the appropriate Certificate Store. + + + + +Negotiation timed out + + + + +General processing error + + + + +IKE Negotiation in progress + + + + +IKE security attributes are unacceptable + + + + +IKE authentication credentials are unacceptable + + + + + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN + + + + +The Quick Mode policy was successfully added, but some of the requested offers are not supported. + + + + +The Main Mode policy was successfully added, but some of the requested offers are not supported. + + + + +The Quick Mode policy is pending deletion. + + + + +The Main Mode authentication bundle is pending deletion. + + + + +The Main Mode policy is pending deletion. + + + + +The tunnel filter is pending deletion. + + + + +The transport filter is pending deletion. + + + + +The Main Mode filter is pending deletion. + + + + +The specified tunnel mode filter was not found. + + + + +The specified tunnel mode filter exists. + + + + +The specified default quick mode policy was not found. + + + + +The specified default main mode authentication list was not found. + + + + +The specified default main mode policy was not found. + + + + +The specified main mode authentication list is being used. + + + + +The specified main mode authentication list was not found. + + + + +The specified main mode authentication list exists. + + + + +The specified transport mode filter does not exist. + + + + +The specified transport mode filter already exists. + + + + +The specified main mode filter was not found. + + + + +The specified main mode filter already exists. + + + + +The specified main mode policy is being used. + + + + +The specified main mode policy was not found + + + + +The specified main mode policy already exists. + + + + +The specified quick mode policy is being used. + + + + +The specified quick mode policy was not found. + + + + +The specified quick mode policy already exists. + + + + +A reserved policy element was found in the QOS provider-specific buffer. + + + + +An invalid shaping rate object was found in the QOS provider-specific buffer. + + + + +An invalid shape discard mode object was found in the QOS provider specific buffer. + + + + +An invalid FILTERSPEC was found in the QOS provider-specific buffer. + + + + +An invalid or inconsistent flowspec was found in the QOS provider specific buffer. + + + + +An invalid QOS flow descriptor was found in the flow descriptor list. + + + + +An invalid policy object was found in the QOS provider-specific buffer. + + + + +An unrecognized object was found in the QOS provider-specific buffer. + + + + +An incorrect number of flow descriptors was specified in the QOS structure. + + + + +An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer. + + + + +An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR. + + + + +An invalid QOS filter type was used. + + + + +An invalid QOS filter style was used. + + + + +Invalid QOS provider-specific buffer. + + + + +An invalid or inconsistent flowspec was found in the QOS structure. + + + + +An invalid or unrecognized service type was found in the flowspec. + + + + +General QOS error. + + + + +Problem with some part of the flowspec. + + + + +Problem with some part of the filterspec or providerspecific buffer in general. + + + + +Unknown or conflicting style. + + + + +Rejected for administrative reasons - bad credentials. + + + + +Error due to lack of resources. + + + + +Reserve has been confirmed. + + + + +There are no receivers. + + + + +There are no senders. + + + + +At least one path has arrived. + + + + +At least one reserve has arrived. + + + + +The requested name is valid, but no data of the requested type was found. + + + + +A non-recoverable error occurred during a database lookup. + + + + +This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server. + + + + +No such host is known. + + + + +A database query failed because it was actively refused. + + + + +A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. + + + + +No more results can be returned by WSALookupServiceNext. + + + + +The specified class was not found. + + + + +No such service is known. The service cannot be found in the specified name space. + + + + +A system call that should never fail has failed. + + + + +The requested service provider could not be loaded or initialized. + + + + +The requested service provider is invalid. + + + + +The procedure call table is invalid. + + + + +A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. + + + + +No more results can be returned by WSALookupServiceNext. + + + + +Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence. + + + + +Either the application has not called WSAStartup, or WSAStartup failed. + + + + +The Windows Sockets version requested is not supported. + + + + +WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable. + + + + +Item is not available locally. + + + + +File handle reference is no longer available. + + + + +Ran out of disk quota. + + + + +Ran out of quota. + + + + +A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously. + + + + +Cannot remove a directory that is not empty. + + + + +A socket operation was attempted to an unreachable host. + + + + +A socket operation failed because the destination host was down. + + + + +Name component or name was too long. + + + + +Cannot translate name. + + + + +No connection could be made because the target machine actively refused it. + + + + +A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. + + + + +Too many references to some kernel object. + + + + +A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. + + + + +A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. + + + + +A connect request was made on an already connected socket. + + + + +An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. + + + + +An existing connection was forcibly closed by the remote host. + + + + +An established connection was aborted by the software in your host machine. + + + + +The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress. + + + + +A socket operation was attempted to an unreachable network. + + + + +A socket operation encountered a dead network. + + + + +The requested address is not valid in its context. + + + + +Only one usage of each socket address (protocol/network address/port) is normally permitted. + + + + +An address incompatible with the requested protocol was used. + + + + +The protocol family has not been configured into the system or no implementation for it exists. + + + + +The attempted operation is not supported for the type of object referenced. + + + + +The support for the specified socket type does not exist in this address family. + + + + +The requested protocol has not been configured into the system, or no implementation for it exists. + + + + +An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call. + + + + +A protocol was specified in the socket function call that does not support the semantics of the socket type requested. + + + + +A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. + + + + +A required address was omitted from an operation on a socket. + + + + +An operation was attempted on something that is not a socket. + + + + +An operation was attempted on a non-blocking socket that already had an operation in progress. + + + + +A blocking operation is currently executing. + + + + +A non-blocking socket operation could not be completed immediately. + + + + +Too many open sockets. + + + + +An invalid argument was supplied. + + + + +The system detected an invalid pointer address in attempting to use a pointer argument in a call. + + + + +An attempt was made to access a socket in a way forbidden by its access permissions. + + + + +The file handle supplied is not valid. + + + + +A blocking operation was interrupted by a call to WSACancelBlockingCall. + + + + +The application directory partition operation failed. The domain controller holding the domain naming master role is down or unable to service the request or is not running Windows Server 2003. + + + + +The directory partition is not available at this time. Please wait a few minutes and try again. + + + + +This DNS server is already enlisted in the specified directory partition. + + + + +This DNS server is not enlisted in the specified directory partition. + + + + +The specified directory partition already exists. + + + + +The specified directory partition does not exist. + + + + +No DNS servers configured for local system. + + + + +TCP/IP network protocol not installed. + + + + +Secure update call needs to continue update request. + + + + +Added local WINS server. + + + + +DNS zone transfer failed. + + + + +DNS AXFR (zone transfer) complete. + + + + +An alias loop has been detected with either CNAME or DNAME records. + + + + +A DNAME record already exists for given name. + + + + +Node is a DNAME DNS record. + + + + +DNS server not creating or reading the boot file for the directory service integrated DNS zone. + + + + +DNS zone already exists in the directory service. + + + + +The directory service is unavailable. + + + + +DNS domain was undeleted. + + + + +Could not create pointer (PTR) record. + + + + +DNS name does not exist. + + + + +Could not create DNS cache data. + + + + +Secondary DNS zone data error. + + + + +DNS record already exists. + + + + +Record only at DNS zone root. + + + + +A CNAME record already exists for given name. + + + + +Node is a CNAME DNS record. + + + + +CNAME loop detected. + + + + +Name not in DNS zone. + + + + +DNS record timed out. + + + + +Unknown DNS record type. + + + + +Node creation failure in DNS. + + + + +DNS record format error. + + + + +DNS record does not exist. + + + + +Failure while reading datafile for DNS zone. + + + + +Failed to write datafile for DNS zone. + + + + +Failed to open datafile for DNS zone. + + + + +Invalid datafile name for DNS zone. + + + + +Primary DNS zone requires datafile. + + + + +The operation cannot be performed because this zone is shutdown. + + + + +This zone must be configured with one or more master DNS server IP addresses. + + + + +A conditional forwarding zone already exists for that name. + + + + +Invalid delete of start of authority (SOA) + + + + +NBTSTAT initialization call failed. + + + + +Need WINS servers. + + + + +WINS initialization failed. + + + + +Need secondary IP address. + + + + +DNS zone not secondary. + + + + +Secondary DNS zone requires master IP address. + + + + +Invalid DNS zone type. + + + + +DNS automatic zone already exists. + + + + +DNS zone already exists. + + + + +DNS zone creation failed. + + + + +DNS zone is locked. + + + + +DNS zone has no Name Server (NS) record. + + + + +DNS zone has no start of authority (SOA) record. + + + + +Invalid DNS zone configuration. + + + + +Invalid operation for DNS zone. + + + + +DNS zone information not available. + + + + +DNS zone does not exist. + + + + +This operation requires credentials delegation. + + + + +No data is allowed to exist underneath a DNAME record. + + + + +The operation requested is not permitted on against a DNS server running on a read-only DC. + + + + +This operation is not allowed while the DNS server is loading zones in the background. Please try again later. + + + + +The specified value is too large for this parameter. + + + + +The specified value is too small for this parameter. + + + + +The DNS server found root hints but they were not consistent across all adapters. + + + + +The DNS server could not find a set of root hints. + + + + +The record could not be created because this part of the DNS namespace has been delegated to another server. + + + + +The operation requested is not permitted on a DNS root server. + + + + +DNS name is entirely numeric. + + + + +DNS name contains an invalid character. + + + + +DNS name is a single-part name. + + + + +DNS name is dotted (multi-label). + + + + +DNS name is a fully-qualified DNS name. + + + + +DNS name does not comply with RFC specifications. + + + + +Record for given name and type is not unique. + + + + +Try DNS operation again later. + + + + +Invalid property. + + + + +Invalid IP address. + + + + +Invalid DNS type. + + + + +Unsecured DNS packet. + + + + +DNS error, check rcode. + + + + +No DNS packet. + + + + +Bad DNS packet. + + + + +No records found for given DNS query. + + + + +DNS signature validity expired. + + + + +DNS bad key. + + + + +DNS signature failed to verify. + + + + +DNS name in update or prereq is not in zone. + + + + +DNS server not authoritative for zone. + + + + +DNS RR set that ought to exist, does not exist. + + + + +DNS RR set that ought not exist, does exist. + + + + +DNS name that ought not exist, does exist. + + + + +DNS operation refused. + + + + +DNS request not supported by name server. + + + + +DNS name does not exist. + + + + +DNS server failure. + + + + +DNS server unable to interpret format. + + + + +The replication operation failed because the required attributes of the local krbtgt object are missing. + + + + +Schema update failed: There are no MAPI identifiers available. + + + + +Schema update failed: The MAPI identifier is reserved. + + + + +The request to replicate secrets is denied. + + + + +The specified up-to-date-ness vector is corrupt. + + + + +The address books are nested too deeply. Failed to build the hierarchy table. + + + + +The search flags for the attribute are invalid. The tuple index bit is valid only on attributes of Unicode strings. + + + + +The search flags for the attribute are invalid. The subtree index bit is valid only on single valued attributes. + + + + +A required audit event could not be generated for the operation. + + + + +The requested search operation is not supported for ASQ searches. + + + + +The NTDS Settings object for the domain controller does not exist. + + + + +The server object for the domain controller does not exist. + + + + +Could not find a writable domain controller in the domain. + + + + +The local account store does not contain secret material for the specified account. + + + + +The site settings object for the specified site does not exist. + + + + +At this time, it cannot be determined if the branch replication policy is available on the hub domain controller. Please retry at a later time to account for replication latencies. + + + + +The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency. + + + + +The LDAP servers network send queue has filled up because the client is not processing the results of it's requests fast enough. No more requests will be processed until the client catches up. If the client does not catch up then it will be disconnected. + + + + +The requested operation is not allowed on an object under the system container. + + + + +The directory service cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime. + + + + +The directory service detected a child partition below the requested partition name. The partition hierarchy must be created in a top down method. + + + + +The Directory Service cannot perform the requested operation because a domain rename operation is in progress. + + + + +The target container for a redirection of a well known object container cannot already be a special container. + + + + +The FSMO role ownership could not be verified because its directory partition has not replicated successfully with atleast one replication partner. + + + + +Cross-domain move of non-empty query based application groups is not allowed. + + + + +Cross-domain move of non-empty basic application groups is not allowed. + + + + +The group cannot be converted due to attribute restrictions on the requested group type. + + + + +Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and already garbage collected. + + + + +The requested object has a non-unique identifier and cannot be retrieved. + + + + +Writeable NCs prevent this DC from demoting. + + + + +The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the server's domain has been deleted from the forest. + + + + +A cross reference is in use locally with the same name. + + + + +The remote create cross reference operation failed on the Domain Naming Master FSMO. The operation's error is in the extended data. + + + + +The Directory Service cannot process the script because it is invalid. + + + + +The directory service failed to authorize the request. + + + + +Schema deletion failed: attribute is used in rDNAttID. + + + + +Schema update failed: Duplicate msDS-INtId. Retry the operation. + + + + +Schema update failed: No values for msDS-IntId are available. + + + + +Operation not allowed on a disabled cross ref. + + + + +The directory service binding must be renegotiated due to a change in the server extensions information. + + + + +The directory service cannot perform the requested operation because the servers involved are of different replication epochs (which is usually related to a domain rename that is in progress). + + + + +The Directory Service cannot process the script because of an error. + + + + +The Directory Service cannot parse the script because of a syntax error. + + + + +The Directory Service failed to enter single user mode. + + + + +The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute. + + + + +The Global catalog server is not in the closest site. + + + + +The thread limit for this request was exceeded. + + + + +The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master. + + + + +Could not access a partition of the directory service located on a remote server. Make sure at least one server is running for the partition in question. + + + + +The requested action is not supported on standard server. + + + + +Unable to resolve completely, a referral to another forest is generated. + + + + +This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers. + + + + +A system flag has been set on the object and does not allow the object to be moved or renamed. + + + + +Move operations on objects in the schema naming context are not allowed. + + + + +Rename or move operations on naming context heads or read-only objects are not allowed. + + + + +An account group cannot have a universal group as a member. + + + + +Schema update failed: There are no link identifiers available. + + + + +Schema update failed: The link identifier is reserved. + + + + +Unable to find a valid security descriptor reference domain for this partition. + + + + +Unable to continue operation because multiple conflicting controls were used. + + + + +The database is out of version store. + + + + +The machine account was created pre-NT4. The account needs to be recreated. + + + + +The requested name already exists as a unique identifier. + + + + +The sort order requested is not supported. + + + + +The forest functional level cannot be raised to the requested value since one or more domains are still in mixed domain mode. All domains in the forest must be in native mode, for you to raise the forest functional level. + + + + +The functional level of the domain (or forest) cannot be raised to the requested value, because there exist one or more domain controllers in the domain (or forest) that are at a lower incompatible functional level. + + + + +The version of the operating system installed on this server is incompatible with the functional level of the domain or forest. + + + + +The version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain. + + + + +The version of the operating system installed on this server no longer supports the current forest functional level. You must raise the forest functional level before this server can become a domain controller in this forest. + + + + +The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain. + + + + +The version of the operating system installed is incompatible with the current forest functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this forest. + + + + +Security Accounts Manager initialization failed because of the following error: %1. +Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. + + + + +Directory Services could not start because of the following error: %1. +Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. + + + + +Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed. + + + + +For security reasons, the source DC must be NT4SP4 or greater. + + + + +For security reasons, the operation must be run on the destination DC. + + + + +Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased. + + + + +The unicodePwd attribute value must be enclosed in double quotes. + + + + +A Filter was passed that uses constructed attributes. + + + + +A Service Principal Name (SPN) could not be constructed because the provided hostname is not in the necessary format. + + + + +Security principal objects can only be created inside domain naming contexts. + + + + +The operation requires that source domain auditing be enabled. + + + + +The checkpoint with the PDC could not be taken because there too many modifications being processed currently. + + + + +The attribute is not allowed to be replicated to the GC because of security reasons. + + + + +Foreign security principals cannot be members of universal groups. + + + + +A local group can only be a member of other local groups in the same domain. + + + + +The requested operation can be performed only on a global catalog server. + + + + +The requested domain could not be deleted because there exist domain controllers that still host this domain. + + + + +The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation. + + + + +The replication operation could not be completed due to a previous schema incompatibility. + + + + +The replication operation could not be completed due to a schema incompatibility. + + + + +Schema information could not be included in the replication request. + + + + +Security Accounts Manager initialization failed because of the following error: %1. +Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information. + + + + +The source and destination object must be of the same type. + + + + +The source object's SID already exists in destination forest. + + + + +The source object must be a group or user. + + + + +The operation couldn't locate a DC for the source domain. + + + + +The operation requires that destination domain auditing be enabled. + + + + +The destination domain must be in the forest. + + + + +The source domain may not be in the same forest as destination. + + + + +The connection between client and server requires packet privacy or better. + + + + +Directory Services could not start. + + + + +Directory Service cannot start. + + + + +Security Account Manager needs to get the boot key from floppy disk. + + + + +Security Account Manager needs to get the boot password. + + + + +The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1 + + + + +The object requested was not found, but an object with that key was found. + + + + +The Security Descriptor attribute could not be read. + + + + +While processing a change to the DNS Host Name for an object, the Service Principal Name values could not be kept in sync. + + + + +The DSA operation is unable to proceed because of a DNS lookup failure. + + + + +Only DSAs configured to be Global Catalog servers should be allowed to hold the Domain Naming Master FSMO role. (Applies only to Windows 2000 servers) + + + + +The schema cache load failed to convert the string default SD on a class-schema object. + + + + +A group with primary members cannot change to a security-disabled group. + + + + +A local group cannot have another cross domain local group as a member. + + + + +A global group cannot have a cross-domain member. + + + + +A universal group cannot have a local group as a member. + + + + +A global group cannot have a universal group as a member. + + + + +A global group cannot have a local group as a member. + + + + +You cannot nest local groups in a mixed domain if the group is security-enabled. + + + + +You cannot nest global groups in a mixed domain if the group is security-enabled. + + + + +The specified group type is invalid. + + + + +The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory. + + + + +The replica/child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it. + + + + +An object of this class cannot be created under the schema container. You can only create attribute-schema and class-schema objects under the schema container. + + + + +Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner. + + + + +Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed. + + + + +An attempt is made to modify the base schema. + + + + +Cannot change the primary group ID of a domain controller account. + + + + +Only an administrator can modify the membership list of an administrative group. + + + + +Security Accounts Manager initialization failed because of the following error: %1. +Error Status: 0x%2. Click OK to shut down the system and reboot into Directory Services Restore Mode. Check the event log for detailed information. + + + + +The directory service failed to identify the list of objects to delete while attempting a tree deletion. + + + + +The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use. + + + + +Tree deletions starting at an object which has an NC head as a descendant are not allowed. + + + + +The search flags for the attribute are invalid. The ANR bit is valid only on attributes of Unicode or Teletex strings. + + + + +Cross-domain move of non-empty resource groups is not allowed. + + + + +Cross-domain move of non-empty account groups is not allowed. + + + + +The operation cannot be performed because the server does not have an infrastructure container in the domain of interest. + + + + +Destination domain must be in native mode. + + + + +The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters) + + + + +A naming context head must be the immediate child of another naming context head, not of an interior node. + + + + +Can't move objects with memberships across domain boundaries as once moved, this would violate the membership conditions of the account group. Remove the object from any account group memberships and retry. + + + + +This object may not be moved across domain boundaries either because cross-domain moves for this class are disallowed, or the object has some special characteristics, e.g.: trust account or restricted RID, which prevent its move. + + + + +A cross-domain move operation failed such that two versions of the moved object exist - one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state. + + + + +Another operation which requires exclusive access to the PDC FSMO is already in progress. + + + + +Object being moved across-domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object. + + + + +Source and destination of a cross-domain move do not agree on the identity of the source object. Either source or destination does not have the latest version of the source object. + + + + +Destination of a cross-domain move is not authoritative for the destination naming context. + + + + +Source and destination for a cross-domain move are not in agreement on the naming contexts in the forest. Either source or destination does not have the latest version of the Partitions container. + + + + +Source and destination for the cross-domain move operation are identical. Caller should use local move operation instead of cross-domain move operation. + + + + +Source and destination of a cross-domain move do not agree on the object's current name. Either source or destination does not have the latest version of the object. + + + + +Source and destination of a cross-domain move do not agree on the object's epoch number. Either source or destination does not have the latest version of the object. + + + + +The schema update operation tried to add a backward link attribute that has no corresponding forward link. + + + + +The search failed to retrieve attributes from the database. + + + + +The requested search operation is only supported for base searches. + + + + +The LDAP display name of the class or attribute contains non-ASCII characters. + + + + +The requested operation requires a directory service, and none was available. + + + + +The replication request has been posted; waiting for reply. + + + + +The OM-Object-Class specified is incorrect for an attribute with the specified syntax. + + + + +Modification of a constructed attribute is not allowed. + + + + +Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire. + + + + +Name translation: Unable to resolve completely, only the domain was found. + + + + +Name translation: Input name found, but not the associated output format. + + + + +Name translation: Input name mapped to more than one output name. + + + + +Name translation: Could not find the name or insufficient right to see name. + + + + +Name translation: Generic processing error. + + + + +Schema update failed: An attribute with the same link identifier already exists. + + + + +The version of the directory service schema of the source forest is not compatible with the version of directory service on this computer. + + + + +The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation. + + + + +The replication synchronization attempt failed because a master replica attempted to sync from a partial replica. + + + + +Synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of source partial attribute set. + + + + +The replication operation was terminated because the system is shutting down. + + + + +The replication synchronization attempt was abandoned because of a lack of updates. + + + + +The replication operation was preempted. + + + + +The replication operation failed because a required parent object is missing. + + + + +The replication source has been reinstalled. + + + + +The replication operation failed due to a collision of object names. + + + + +The destination server is currently rejecting replication requests. + + + + +The source server is currently rejecting replication requests. + + + + +The replication remote procedure call was cancelled. + + + + +The requested operation is not supported by this version of the directory service. + + + + +Replication access was denied. + + + + +The naming context is in the process of being removed or is not replicated from the specified server. + + + + +The replication operation encountered a database error. + + + + +The naming context cannot be removed because it is replicated to another server. + + + + +The replication reference information for the target server does not exist. + + + + +The replication reference information for the target server already exists. + + + + +The replication operation encountered an error with the mail system. + + + + +The replication operation failed to allocate memory. + + + + +The replication operation encountered an object with an invalid instance type. + + + + +The server specified for this replication operation could not be contacted. + + + + +The replication operation encountered a database inconsistency. + + + + +The replication system encountered an internal error. + + + + +The distinguished name specified for this replication operation already exists. + + + + +The naming context specified for this replication operation is invalid. + + + + +The distinguished name specified for this replication operation is invalid. + + + + +The directory service is too busy to complete the replication operation at this time. + + + + +An invalid parameter was specified for this replication operation. + + + + +The replication operation failed. + + + + +The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers. + + + + +The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles. + + + + +This directory server is shutting down, and cannot take ownership of new floating single-master operation roles. + + + + +A root object requires a class of 'top'. + + + + +The directory service encountered an unknown failure. + + + + +The directory service encountered an internal failure. + + + + +The allocation of the hierarchy table failed. + + + + +The attempt to count the address book indices failed. + + + + +The directory configuration parameter is missing from the registry. + + + + +The attempt to build the hierarchy table failed. + + + + +The hierarchy file is invalid. + + + + +The operation cannot replace the hidden record. + + + + +The modification was not permitted for security reasons. + + + + +The child object could not be retrieved. + + + + +The naming context could not be found in the cache. + + + + +The naming context could not be found. + + + + +The DSA object could not be found. + + + + +The replication operation failed because of a schema mismatch between the servers involved. + + + + +The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available. + + + + +Failed to obtain the required syntax for the attribute schema. + + + + +Schema allocation failed. Please check if the machine is running low on memory. + + + + +The schema is not loaded. + + + + +A security checking error has occurred. + + + + +The specified naming context is missing a cross reference. + + + + +An expected attribute is missing. + + + + +The attribute GOVERNSID is missing. + + + + +A database error has occurred. + + + + +An internal error has occurred. + + + + +The instance type attribute could not be retrieved. + + + + +No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest. + + + + +The distinguished name attribute could not be read. + + + + +The class could not be removed from the cache. + + + + +The attribute could not be removed from the cache. + + + + +The class could not be cached. + + + + +The attribute could not be cached. + + + + +The attribute schema has bad syntax. + + + + +Cannot read the governs class identifier for the schema record. + + + + +The requested delete operation could not be performed. + + + + +The tree deletion is not finished. The request must be made again to continue deleting the tree. + + + + +Schema update failed in recalculating validation cache. + + + + +Schema deletion failed: class is used as poss superior. + + + + +Schema deletion failed: class is used as sub class. + + + + +Schema deletion failed: class is used as auxiliary class. + + + + +Schema update failed: Rdn-Att-Id has wrong syntax. + + + + +Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules. + + + + +Schema update failed: class in poss-superiors does not exist. + + + + +Schema update failed: class in aux-class list does not exist or is not an auxiliary class. + + + + +Schema update failed: attribute in must-contain does not exist. + + + + +Schema update failed: attribute in may-contain does not exist. + + + + +Schema deletion failed: attribute is used in may-contain. + + + + +Schema deletion failed: attribute is used in must-contain. + + + + +Schema update failed: syntax mismatch. + + + + +Schema update failed: range-lower less than range upper. + + + + +Schema update failed: duplicate LDAP display name. + + + + +Schema update failed: duplicate schema-id GUID. + + + + +Schema update failed: duplicate MAPI identifier. + + + + +Schema update failed: duplicate OID. + + + + +Schema update failed: duplicate RDN. + + + + +Notification filter is too complex. + + + + +Subtree notifications are only supported on NC heads. + + + + +It is not permitted to delete a master cross reference. + + + + +A cross reference already exists. + + + + +The name reference is invalid. + + + + +The specified class is not a subclass. + + + + +The specified class is not defined. + + + + +Only the replicator can perform this function. + + + + +The attribute cannot be modified because it is owned by the system. + + + + +Modification of a DN across a naming context is not permitted. + + + + +The requested FSMO operation failed. The current FSMO holder could not be contacted. + + + + +The role owner attribute could not be read. + + + + +The directory service request is invalid. + + + + +The operation could not be performed because the directory service is shutting down. + + + + +The cross reference for the specified naming context could not be found. + + + + +The operation cannot be performed on a back link. + + + + +A local object with this GUID (dead or alive) already exists. + + + + +The schema object could not be found. + + + + +The class of the object must be structural; you cannot instantiate an abstract class. + + + + +It is not permitted to add an attribute which is owned by the system. + + + + +The object must be a naming context. + + + + +The parent of a new subref must exist. + + + + +Failed to create name for deleted object. + + + + +The security descriptor is invalid. + + + + +The security descriptor is too short. + + + + +The name does not identify an object; the name identifies a phantom. + + + + +The directory service cannot get the attribute type for a name. + + + + +The directory service encountered an error parsing a name. + + + + +The name value is too long. + + + + +The name is too long. + + + + +The name has too many parts. + + + + +Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM). + + + + +The object cannot be added because the parent is not on the list of possible superiors. + + + + +Insufficient access rights to perform the operation. + + + + +The object must be of class DSA. + + + + +The operation can only be performed on an internal master DSA object. + + + + +A directory service error has occurred. + + + + +The DSA object cannot be deleted. + + + + +The operation cannot continue because the object is in the process of being removed. + + + + +The operation is out of scope. + + + + +The alias cannot be dereferenced. + + + + +It is not permitted for an alias to refer to another alias. + + + + +The object name has bad syntax. + + + + +The aliased object is missing. + + + + +Directory object not found. + + + + +The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object. + + + + +The object and parent must be of the same type, either both masters or both replicas. + + + + +Having a parent that is an alias is not permitted. Aliases are leaf objects. + + + + +The operation could not be performed because the object's parent is either uninstantiated or deleted. + + + + +Chained evaluation is not permitted. + + + + +Chaining is not permitted. + + + + +The specified root object cannot be a subref. + + + + +The attribute value cannot be removed because it is not present on the object. + + + + +The attribute cannot be removed because it is not present on the object. + + + + +The specified value already exists. + + + + +A value for the attribute was not in the acceptable range of values. + + + + +Multiple values were specified for an attribute that can have only one value. + + + + +The specified attribute is not present, or has no values. + + + + +The specified attribute is already present on the object. + + + + +An attempt was made to modify an object to include an attribute that is not legal for its class. + + + + +A required attribute is missing. + + + + +The object class attribute must be specified. + + + + +The operation must be performed at a master DSA. + + + + +The specified instance type is not valid. + + + + +The specified object is too large. + + + + +Illegal modify operation. Some aspect of the modification is not permitted. + + + + +The attribute specified in the operation is not present on the object. + + + + +The user buffer is too small. + + + + +None of the requested attributes were found on the objects. + + + + +An attempt was made to add an object using an RDN that is not the RDN defined in the schema. + + + + +An attempt was made to add an object of a class that does not have an RDN defined in the schema. + + + + +An attempt was made to add an object to the directory with a name that is already in use. + + + + +The maximum size of an object has been exceeded. + + + + +A reference to an attribute that is not defined in the schema occurred. + + + + +The add replica operation cannot be performed. The naming context must be writeable in order to create the replica. + + + + +The root object must be the head of a naming context. The root object cannot have an instantiated parent. + + + + +The search results exceed the offset range specified. + + + + +The search requires a SORT control. + + + + +The preset referral limit was exceeded. + + + + +A referral loop was detected by the client. + + + + +The specified control is not supported by the server. + + + + +No results were returned. + + + + +The specified method is not supported. + + + + +One or more parameters are illegal. + + + + +The search filter cannot be recognized. + + + + +A decoding error has occurred. + + + + +An encoding error has occurred. + + + + +A local error has occurred. + + + + +The server is not operational. + + + + +The operation affects multiple DSAs + + + + +The result set is too large. + + + + +There is a naming violation. + + + + +A loop has been detected. + + + + +The server is unwilling to process the request. + + + + +There is an alias dereferencing problem. + + + + +The object is a leaf object. + + + + +An invalid dn syntax has been specified. + + + + +There is an alias problem. + + + + +There is no such object on the server. + + + + +A constraint violation occurred. + + + + +Inappropriate matching. + + + + +This request requires a secure connection. + + + + +The server does not support the requested critical extension. + + + + +A referral was returned from the server. + + + + +The authentication mechanism is unknown. + + + + +Inappropriate authentication. + + + + +A more secure authentication method is required for this server. + + + + +The requested authentication method is not supported by the server. + + + + +The compare response was true. + + + + +The compare response was false. + + + + +The administrative limit for this request was exceeded. + + + + +The size limit for this request was exceeded. + + + + +The time limit for this request was exceeded. + + + + +A protocol error occurred. + + + + +An operations error occurred. + + + + +A domain controller promotion is not currently active + + + + +A domain controller promotion is currently active. + + + + +The requested policy information is only in the directory service. + + + + +The policy object does not exist. + + + + +The policy object is shared and can only be modified at the root. + + + + +Unable to contact the global catalog server. + + + + +The requested cross-domain move operation could not be performed. + + + + +The directory service detected an attempt to modify the object class of an object. + + + + +The directory service cannot perform the requested operation on the RDN attribute of an object. + + + + +The directory service can perform the requested operation only on a leaf object. + + + + +The requested operation did not satisfy one or more constraints associated with the class of the object. + + + + +The directory service was unable to initialize the subsystem that allocates relative identifiers. + + + + +The requested operation could not be performed because the directory service is not the master for that type of operation. + + + + +The directory service has exhausted the pool of relative identifiers. + + + + +The directory service was unable to allocate a relative identifier. + + + + +The directory service is unavailable. + + + + +The directory service is busy. + + + + +The specified directory service attribute or value already exists. + + + + +The attribute type specified to the directory service is not defined. + + + + +The attribute syntax specified to the directory service is invalid. + + + + +The specified directory service attribute or value does not exist. + + + + +The directory service evaluated group memberships locally. + + + + +An error occurred while installing the directory service. For more information, see the event log. + + + + +The file replication service detected an invalid parameter. + + + + +The file replication service cannot stop replicating the system volume because of an internal error. The event log may have more information. + + + + +The file replication service cannot process the request. The system volume is busy with a previous request. + + + + +The file replication service cannot populate the system volume because of an internal timeout. The event log may have more information. + + + + +The file replication service cannot populate the system volume because of an internal error. The event log may have more information. + + + + +The file replication service on the domain controller cannot communicate with the file replication service on this computer. The event log may have more information. + + + + +The file replication service cannot communicate with the file replication service on the domain controller. The event log may have more information. + + + + +The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. The event log may have more information. + + + + +The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. The event log may have more information. + + + + +The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information. + + + + +The file replication service cannot satisfy the request because the user has insufficient privileges. The event log may have more information. + + + + +The file replication service cannot be contacted. The event log may have more information. + + + + +The file replication service terminated the request. The event log may have more information. + + + + +The file replication service API terminated the request. The event log may have more information. + + + + +The file replication service cannot be stopped. + + + + +The file replication service cannot be started. + + + + +The file replication service API was called incorrectly. + + + + +The target session is incompatible with the current session. + + + + +The Terminal Server security layer detected an error in the protocol stream and has disconnected the client. + + + + +The Client Drive Mapping Service Has Disconnected on Terminal Connection. + + + + +The Client Drive Mapping Service Has Connected on Terminal Connection. + + + + +The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client. + + + + +Unable to log you on because of an account restriction. + + + + +The user %s\\%s is already logged on to the console of this computer. You do not have permission to log in at this time. To resolve this issue, contact %s\\%s and have them log off. + + + + +The user %s\\%s is currently logged on to this computer. Only the current user or an administrator can log on to this computer. + + + + +You do not have the proper encryption level to access this Session. + + + + +Remote logins are currently disabled. + + + + +Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared. + + + + +The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported. + + + + +Remote control could not be terminated because the specified session is not currently being remotely controlled. + + + + +The system license has expired. Your logon request is denied. + + + + +The client you are using is not licensed to use this system. Your logon request is denied. + + + + +The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator. + + + + +Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number has not been entered for this copy of the Terminal Server client. Please contact your system administrator. + + + + +Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number is currently being used by another user. Please call your system administrator to obtain a unique license number. + + + + +The requested session is not configured to allow remote control. + + + + +The requested session cannot be controlled remotely. +This may be because the session is disconnected or does not currently have a user logged on. + + + + +The specified terminal connection driver is invalid. + + + + +The requested session access is denied. + + + + +The request to control another session remotely was denied. + + + + +Reconnecting a disconnected session to the console is not supported. + + + + +Disconnecting the console session is not supported. + + + + +The client failed to respond to the server connect message. + + + + +The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access. + + + + +Your interactive logon privilege has been disabled. Please contact your administrator. + + + + +The application attempted to enable DOS graphics mode. DOS graphics mode is not supported. + + + + +An attempt has been made to connect to a session whose video mode is not supported by the current client. + + + + +The requested operation cannot be completed because the terminal connection is currently busy processing a connect, disconnect, reset, or delete operation. + + + + +The specified session name is already in use. + + + + +The specified session cannot be found. + + + + +Transport driver error + + + + +Voice detected at remote site on callback. + + + + +Busy signal detected at remote site on callback. + + + + +Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional. + + + + +Carrier detect has failed or carrier has been dropped due to disconnect. + + + + +The modem did not respond to the command sent to it. Verify that the modem is properly cabled and powered on. + + + + +The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem. + + + + +The modem name was not found in MODEM.INF. + + + + +The MODEM.INF file was not found. + + + + +There are no free output buffers available. + + + + +A close operation is pending on the session. + + + + +A service with the same name already exists on the system. + + + + +A registry key for event logging could not be created for this session. + + + + +The specified terminal connection driver was not found in the system path. + + + + +The specified protocol driver was not found in the system path. + + + + +The specified protocol driver is invalid. + + + + +The specified session name is invalid. + + + + +This operation cannot be performed in a transaction. + + + + +The link tracking operation could not be completed because a transaction is active. + + + + +The operation could not be completed because the volume is dirty. Please run chkdsk and try again. + + + + +The compression operation could not be completed because a transaction is active on the file. + + + + +The operation could not be completed due to bad clusters on disk. + + + + +The transactional resource manager had too many tranactions outstanding that could not be aborted. The transactional resource manger has been shut down. + + + + +The transactional resource manager cannot currently accept transacted work due to a transient condition such as low resources. + + + + +I/O was attempted on a section object that has been floated as a result of a transaction ending. There is no valid data. + + + + +The call to create a TransactionManager object failed because the Tm Identity stored in the logfile does not match the Tm Identity that was passed in as an argument. + + + + +The sparse operation could not be completed because a transaction is active on the file. + + + + +Windows has discovered corruption in a file, and that file has since been repaired. Data loss may have occurred. + + + + +The savepoint operation failed because files are open on the transaction. This is not permitted. + + + + +The target volume is not a snapshot volume. This operation is only valid on a volume mounted as a snapshot. + + + + +Transactions cannot be frozen because a freeze is already in progress. + + + + +The request to thaw frozen transactions was ignored because transactions had not previously been frozen. + + + + +This file is open for modification in an unresolved transaction and may be opened for execute only by a transacted reader. + + + + +Promotion was required in order to allow the resource manager to enlist, but the transaction was set to disallow it. + + + + +A transaction scope could not be entered because the scope handler has not been initialized. + + + + +Transaction metadata is already present on this file and cannot be superseded. + + + + +Memory mapping (creating a mapped section) a remote file under a transaction is not supported. + + + + +An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log. + + + + +This object is not allowed to be opened in a transaction. + + + + +The encryption operation could not be completed because a transaction is active. + + + + +The transactional metadata attribute on the file or directory is corrupt and unreadable. + + + + +A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution. + + + + +The operation could not be completed because the transaction manager does not have a log. + + + + +The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed. + + + + +The $Txf directory must be empty for this operation to succeed. + + + + +The operation would involve a single file with two transactional resource managers and is therefore not allowed. + + + + +The operation cannot be performed because another transaction is depending on the fact that this property will not change. + + + + +The file cannot be opened transactionally, because its identity depends on the outcome of an unresolved transaction. + + + + +The transactional resource manager has already been started. + + + + +The transactional resource manager is already consistent. Recovery is not needed. + + + + +The request was rejected because the enlistment in question is not a superior enlistment. + + + + +The transaction outcome is unavailable because the resource manager responsible for it has disconnected. + + + + +The file can't be recovered because there is a handle still open on it. + + + + +The log data is corrupt. + + + + +There is no transaction metadata on the file. + + + + +The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file or an open handle when the transaction ended or rolled back to savepoint. + + + + +The remote server sent mismatching version number or Fid for a file opened with transactions. + + + + +It is not possible to create any more miniversions for this stream. + + + + +It is not possible to open a miniversion with modify access. + + + + +A miniversion may only be opened in the context of the transaction that created it. + + + + +The specified file miniversion was found but has been invalidated. Most likely cause is a transaction savepoint rollback. + + + + +The specified file miniversion was not found for this transacted file open. + + + + +The object (file, stream, link) corresponding to the handle has been deleted by a Transaction Savepoint Rollback. + + + + +The requested log size is invalid. + + + + +The remote server or share does not support transacted file operations. + + + + +The specified directory does not contain a resource manager. + + + + +The metadata of the RM has been corrupted. The RM will not function. + + + + +Transaction support within the specified file system resource manager is not started or was shutdown due to an error. + + + + +The function attempted to use a name that is reserved for use by another transaction. + + + + +The transaction does not have a superior enlistment. + + + + +The transaction cannot be enlisted on with the specified EnlistmentMask, because the transaction has already completed the PrePrepare phase. In order to ensure correctness, the ResourceManager must switch to a write-through mode and cease caching data within this transaction. Enlisting for only subsequent transaction phases may still succeed. + + + + +This snapshot operation cannot continue because a transactional resource manager cannot be frozen in its current state. Please try again. + + + + +The TransactionManager identity that was supplied did not match the one recorded in the TransactionManager's log file. + + + + +The kernel transaction manager had to abort or forget the transaction because it blocked forward progress. + + + + +Implicit transaction are not supported. + + + + +The specified operation could not be performed, because the record that would be logged was too long. This can occur because of two conditions: either there are too many Enlistments on this Transaction, or the combined RecoveryInformation being logged on behalf of those Enlistments is too long. + + + + +The specified operation could not be performed on this Superior enlistment, because the enlistment was not created with the corresponding completion response in the NotificationMask. + + + + +Because the associated transaction manager or resource manager has been closed, the handle is no longer valid. + + + + +The call to create a superior Enlistment on this Transaction object could not be completed, because the Transaction object specified for the enlistment is a subordinate branch of the Transaction. Only the root of the Transaction can be enlisted on as a superior. + + + + +The specified TransactionManager was unable to create the objects contained in its logfile in the Ob namespace. Therefore, the TransactionManager was unable to recover. + + + + +The object specified could not be created or opened, because its associated TransactionManager is not online. The TransactionManager must be brought fully Online by calling RecoverTransactionManager to recover to the end of its LogFile before objects in its Transaction or ResourceManager namespaces can be opened. In addition, errors in writing records to its LogFile can cause a TransactionManager to go offline. + + + + +The specified TransactionManager object could not be opened, because it was not found. + + + + +The specified Enlistment object could not be opened, because it was not found. + + + + +The specified ResourceManager object could not be opened, because it was not found. + + + + +The specified Transaction object could not be opened, because it was not found. + + + + +The current transaction context associated with the thread is not a valid handle to a transaction object. + + + + +The buffer passed in to PushTransaction or PullTransaction is not in a valid format. + + + + +The requested propagation protocol was not registered as a CRM. + + + + +The attempt to propagate the Transaction failed. + + + + +The RM tried to register a protocol that already exists. + + + + +The Transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allow. + + + + +The resource manager has attempted to prepare a transaction that it has not successfully joined. + + + + +The specified ResourceManager made no changes or updates to the resource under this transaction. + + + + +The Transaction Manager was unable to be successfully initialized. Transacted operations are not supported. + + + + +It is too late to perform the requested operation, since the Transaction has already been committed. + + + + +It is too late to perform the requested operation, since the Transaction has already been aborted. + + + + +The caller has called a response API, but the response is not expected because the TM did not issue the corresponding request to the caller. + + + + +The requested operation is not valid on the Transaction object in its current state. + + + + +The requested operation was made in the context of a transaction that is no longer active. + + + + +The transaction handle associated with this operation is not valid. + + + + +The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available. + + + + +Records were appended to the log or reservation changes were made, but the log could not be flushed. + + + + +Security on the log and its containers is inconsistent. + + + + +Log metadata flush failed. + + + + +Log space cannot be reclaimed because the log is pinned. + + + + +Log service is not in the correct state to perform a requested action. + + + + +Log service encountered an invalid container state when attempting a requested action. + + + + +Log service encountered an error when attempting open a log container. + + + + +Log service encountered an error when attempting to write to a log container. + + + + +Log service encountered an error when attempting to read from a log container. + + + + +A request has already been made to handle the log full condition. + + + + +A log client has not been registered on the stream. + + + + +A log client has already registered on the stream. + + + + +The log must have at least two containers before it can be read from or written to. + + + + +The operation requires a non-ephemeral log, but the log is ephemeral. + + + + +Log archival is in progress. + + + + +The operation requires an archive context. + + + + +The operation failed because the log is a dedicated log. + + + + +Log is multiplexed, no direct writes to the physical log is allowed. + + + + +The log could not be set to the requested size. + + + + +Log space is exhausted. + + + + +An new or existing archive tail or base of the active log is invalid. + + + + +Reserved log space or the adjustment of the log space is invalid. + + + + +Number of reserved log records or the adjustment of the number of reserved log records is invalid. + + + + +Log record is not a record in the log file. + + + + +Log space cannot be reclaimed because the log is pinned by the archive tail. + + + + +A policy on the log in question prevented the operation from completing. + + + + +The installed set of policies on the log is invalid. + + + + +Log policy in question was not installed at the time of the request. + + + + +Log policy could not be installed because a policy of the same type is already present. + + + + +Log service has attempted to read or write backward past the start of the log. + + + + +Log service has reached the maximum allowable containers allocated to a log file. + + + + +Log service cannot delete log file or file system container. + + + + +Log service encountered an attempt to erroneous allocate or dispose reservation space. + + + + +Log service encountered a metadata file with inconsistent data. + + + + +Log service encountered a metadata file that could not be created by the log file system. + + + + +Log service encountered a corrupted metadata file. + + + + +Log service encountered a log stream with no restart area. + + + + +Log service encountered an attempt to read the log with an invalid read mode. + + + + +Log service encountered an invalid log block. + + + + +Log service encountered an invalid log block version. + + + + +Log service encountered an invalid log restart area. + + + + +Log service encountered an attempt read from a marshalling area with an invalid read context. + + + + +Log service user marshalling buffers are exhausted. + + + + +Log service encountered an attempt access data outside the active log range. + + + + +Log service encountered a partial or incomplete log block. + + + + +Log service encountered a remapped log sector. + + + + +Log service encountered a log sector with invalid block parity. + + + + +Log service encountered an invalid log sector. + + + + +The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts. + + + + +The list of servers for this workgroup is not currently available + + + + +The SMB client requested a CSE FSCTL on a non-CSE file. + + + + +A new encrypted file is being created and a $EFS needs to be provided. + + + + +File is encrypted and should be opened in Client Side Encryption mode. + + + + +Client Side Encryption is not supported by the remote server even though it claims to support it. + + + + +The remote server sent an invalid response for a file being opened with Client Side Encryption. + + + + +A newer system is required to decrypt this encrypted file. + + + + +This machine is disabled for file encryption. + + + + +The disk partition does not support file encryption. + + + + +The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file. + + + + +Recovery policy configured for this system contains invalid recovery certificate. + + + + +The server is not trusted for remote encryption operation. + + + + +The directory has been disabled for encryption. + + + + +The specified file is read only. + + + + +The specified file is not in the defined EFS export format. + + + + +The specified file is not encrypted. + + + + +There are no EFS keys defined for the user. + + + + +The file was encrypted with a different encryption driver than is currently loaded. + + + + +The required encryption driver is not loaded for this system. + + + + +There is no valid encryption recovery policy configured for this system. + + + + +The specified file is encrypted and the user does not have the ability to decrypt it. + + + + +The specified file could not be decrypted. + + + + +The specified file could not be encrypted. + + + + +The resource has indicated that it cannot come online on any node. + + + + +The resource failed to come online due to the failure of one or more provider resources. + + + + +Only one instance of this resource type is allowed per resource group. + + + + +Only one instance of this resource type is allowed in the cluster. + + + + +Eviction of this node is invalid at this time. Due to quorum requirements node eviction will result in cluster shutdown. +If it is the last node in the cluster, destroy cluster command should be used. + + + + +File share associated with file share witness resource cannot be hosted by this cluster or any of its nodes. + + + + +This cluster cannot be destroyed. It has non-core application groups which must be deleted before the cluster can be destroyed. + + + + +An attempt to use the specified cluster name failed because an enabled computer object with the given name already exists in the domain. + + + + +This cluster can not be created since the specified number of nodes exceeds the maximum allowed limit. + + + + +A new node can not be added since this cluster is already at its maximum number of nodes. + + + + +The resources must be online on the same node for this operation + + + + +The Failover Clustering feature is not installed on this node. + + + + +The RHS process failed to initialize. + + + + +The call into the resource DLL raised an unhandled exception. + + + + +The dependencies for this resource are nested too deeply. + + + + +Quorum resource cannot reside in the Available Storage group. + + + + +The cluster network is not valid for an IPv6 Tunnel resource. Check the configuration of the IP Address resource on which the IPv6 Tunnel resource depends. + + + + +The cluster network is not valid for an IPv6 Address resource, or it does not match the configured address. + + + + +A quorum of cluster nodes was not present to form a cluster. + + + + +One or more property values for this resource are in conflict with one or more property values associated with its dependent resource(s). + + + + +An error occurred while deserializing a stream of cluster data. + + + + +An error occurred while writing to a stream of data. The required number of bytes could not be written. + + + + +An error occurred while reading from a stream of data. An unexpected number of bytes was returned. + + + + +An internal cluster error occurred. Data was not properly initialized. + + + + +An internal cluster error occurred. There was an attempt to commit a cluster database transaction while no transaction was in progress. + + + + +An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress. + + + + +An input string of characters is not in a valid format for the data it represents. + + + + +An input string of characters is not properly terminated. + + + + +An invalid cluster registry operation was attempted. + + + + +A network error occurred while sending data to another node in the cluster. The number of bytes transmitted was less than required. + + + + +A parameter value is out of acceptable range. + + + + +An internal cluster error occurred. A call to an invalid function was attempted. + + + + +The address is not valid for an IPv6 Address resource. A global IPv6 address is required, and it must match a cluster network. Compatibility addresses are not permitted. + + + + +The call to the cluster resource DLL timed out. + + + + +The resource type cannot accept the request since is too busy performing another operation. + + + + +The group is unable to accept the request since it is moving to another node. + + + + +The cluster node has been poisoned. + + + + +No network adapters are available. + + + + +The name of the corresponding computer account doesn't match the Network Name for this resource. + + + + +One or more nodes in the cluster are running a version of Windows that does not support this operation. + + + + +The drive letter assigned to a system disk on one node conflicted with the drive letter assigned to a disk on another node. + + + + +The cluster configuration action could not be rolled back. + + + + +The cluster configuration action has already been committed. + + + + +A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster. + + + + +This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed. + + + + +This computer cannot be made a member of a cluster. + + + + +Two or more parameter values specified for a resource's properties are in conflict. + + + + +The cluster node was evicted from the cluster successfully, but the node was not cleaned up. To determine what cleanup steps failed and how to recover, see the Failover Clustering application event log using Event Viewer. + + + + +The actual data type of the property did not match the expected data type of the property. + + + + +A matching cluster network for the specified IP address could not be found. + + + + +The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node. + + + + +The membership engine requested shutdown of the cluster service on this node. + + + + +The quorum resource does not contain the quorum log. + + + + +An operation was attempted that is incompatible with the current membership state of the node. + + + + +An attempt to modify a resource property failed because it conflicts with another existing property. + + + + +A DFS root already exists in this cluster node. + + + + +The backed up cluster database is possibly corrupt. + + + + +The quorum disk could not be located by the cluster service. + + + + +A non locker code got a request to reserve the lock for making global updates. + + + + +The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state. + + + + +The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join. + + + + +You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group. + + + + +No authentication package could be registered with the RPC server. + + + + +The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL. + + + + +The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node. + + + + +The specified resource type was not found. + + + + +The system configuration changed during the cluster join or form operation. The join or form operation was aborted. + + + + +This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor. + + + + +The cluster join operation failed due to incompatible software versions between the joining node and its sponsor. + + + + +The cluster join operation was aborted. + + + + +The cluster node is shutting down. + + + + +The cluster node is not ready to perform the requested operation. + + + + +The cluster resource cannot be brought online. The owner node cannot run this resource. + + + + +The cluster node is paused. + + + + +The cluster quorum resource is not allowed to have any dependencies. + + + + +This operation cannot be performed on the cluster resource as it the quorum resource. You may not bring the quorum resource offline or modify its possible owners list. + + + + +One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network. + + + + +The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network. + + + + +The cluster node is already a member of the cluster. + + + + +The cluster network is already offline. + + + + +The cluster network is already online. + + + + +The cluster node is already down. + + + + +The cluster node is already up. + + + + +The cluster network is not configured for internal cluster communication. + + + + +No cluster security context is available. + + + + +The cluster node is not paused. + + + + +The cluster IP address is already in use. + + + + +The cluster node is up. + + + + +The cluster network is not valid. + + + + +A cluster join operation is not in progress. + + + + +The cluster node is not a member of the cluster. + + + + +The cluster node is not reachable. + + + + +The cluster node is down. + + + + +The cluster network provider is not valid. + + + + +The cluster request is not valid for this object. + + + + +The cluster network interface was not found. + + + + +The cluster network interface already exists. + + + + +The cluster network was not found. + + + + +The cluster network already exists. + + + + +The cluster local node information was not found. + + + + +The cluster node was not found. + + + + +A node is in the process of joining the cluster. + + + + +The cluster node already exists. + + + + +The cluster node is not valid. + + + + +A cluster resource failed. + + + + +All cluster nodes must be running to perform this operation. + + + + +A cluster node is not available for this operation. + + + + +A cluster network is not available for this operation. + + + + +The cluster node failed to take control of the quorum resource because the resource is owned by another active node. + + + + +The minimum required disk space needed for logging is not available. + + + + +No checkpoint record was found in the cluster log. + + + + +The cluster log exceeds its maximum size. + + + + +The record could not be written to the cluster log since it exceeds the maximum size. + + + + +The cluster log is corrupt. + + + + +The quorum log could not be created or mounted successfully. + + + + +The quorum resource failed to come online. + + + + +The cluster resource could not be deleted since it is a core resource. + + + + +The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class. + + + + +The properties were stored but not all changes will take effect until the next time the resource is brought online. + + + + +The group or resource is not in the correct state to perform the requested operation. + + + + +The cluster software is shutting down. + + + + +The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource. + + + + +The cluster resource could not be deleted or brought offline because it is the quorum resource. + + + + +The operation could not be completed because the cluster resource is online. + + + + +The cluster resource could not be brought online by the resource monitor. + + + + +The cluster resource could not be created in the specified resource monitor. + + + + +The operation failed because either the specified cluster node is not the owner of the group, or the node +is not a possible owner of the group. + + + + +The operation failed because either the specified cluster node is not the owner of the resource, or the node +is not a possible owner of the resource. + + + + +The operation could not be completed because the cluster group is not online. + + + + +The cluster group could not be found. + + + + +The cluster group is not available for any new requests. + + + + +The object is already in the list. + + + + +The object already exists. + + + + +A cluster node cannot be evicted from the cluster unless the node is down or it is the last node. + + + + +The cluster is being shut down. + + + + +The cluster resource could not be found. + + + + +The cluster resource is not available. + + + + +A cluster node is not available for this operation. + + + + +The cluster resource is not online. + + + + +The cluster resource cannot be made dependent on the specified resource because it is already dependent. + + + + +The cluster resource dependency cannot be found. + + + + +The operation cannot be completed because other resources are dependent on this resource. + + + + +Single Instance Storage is not available on this volume. + + + + +There is a mismatch between the tag specified in the request and the tag present in the reparse point. + + + + +The tag present in the reparse point buffer is invalid. + + + + +The data present in the reparse point buffer is invalid. + + + + +The reparse point attribute cannot be set because it conflicts with an existing attribute. + + + + +The file or directory is not a reparse point. + + + + +The remote storage service encountered a media error. + + + + +The remote storage service is not operational at this time. + + + + +This file is currently not available for use on this computer. + + + + +Cannot use the inject/eject port because it is not empty. + + + + +A cleaner cartridge is present in the tape library. + + + + +This offline media cannot be mounted on this system since no enabled drives are present which can be used. + + + + +The media type cannot be removed from this library since at least one drive in the library reports it can support this media type. + + + + +The volume contains system or paging files. + + + + +The message provided exceeds the maximum size allowed for this parameter. + + + + +The last remaining item in this group or resource cannot be deleted. + + + + +Unexpected on-medium identifier. + + + + +The cleaner cartridge has performed the maximum number of drive cleanings. + + + + +A cleaner slot is not reserved. + + + + +A cleaner slot is already reserved. + + + + +Unable to eject the medium because it is in a drive. + + + + +Unable to open or close the inject/eject port. + + + + +Cannot use the transport because it is already in use. + + + + +Unable to retrieve status about the transport. + + + + +Unable to retrieve the slot status. + + + + +Unable to retrieve the drive status. + + + + +Unable to load the medium into the drive. + + + + +The transport cannot access the medium. + + + + +Library is full. No slot is available for use. + + + + +The drive identifier does not represent a valid drive. + + + + +The operator or administrator has refused the request. + + + + +The device is not ready for use. + + + + +The media is not mounted or ready for use. + + + + +The operation identifier is not valid. + + + + +The resource required for this operation does not exist. + + + + +The medium is not compatible with the device or media pool. + + + + +The database is full. + + + + +Unable to read from or write to the database. + + + + +The object identifier does not represent a valid object. + + + + +The drive cannot be cleaned or does not support cleaning. + + + + +The media identifier does not represent a valid cleaner. + + + + +A resource required for this operation is disabled. + + + + +No media is currently available in this media pool or library. + + + + +The library, drive, or media pool must be empty to perform this operation. + + + + +The library, drive, or media pool is empty. + + + + +The operation cannot be performed on an offline library. + + + + +The medium currently exists in an offline library and must be online to perform this operation. + + + + +The drive and medium are not compatible or exist in different libraries. + + + + +The media pool identifier does not represent a valid media pool. + + + + +The library identifier does not represent a valid library. + + + + +The media identifier does not represent a valid medium. + + + + +The WMI data item or data block could not be changed. + + + + +The WMI data item or data block is read only. + + + + +The WMI data block or event notification has already been disabled. + + + + +The WMI registration information is not valid. + + + + +The WMI MOF information is not valid. + + + + +The WMI data provider failed to carry out the request. + + + + +The WMI data service is not available. + + + + +The WMI data block is no longer available. + + + + +The WMI data block or event notification has already been enabled. + + + + +The WMI data provider references an instance set that has not been registered. + + + + +The WMI data provider could not be located. + + + + +The WMI request could not be completed and should be retried. + + + + +The data item ID passed was not recognized as valid by a WMI data provider. + + + + +The instance name passed was not recognized as valid by a WMI data provider. + + + + +The GUID passed was not recognized as valid by a WMI data provider. + + + + +The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address. + + + + +Replication with a nonconfigured partner is not allowed. + + + + +The name does not exist in the WINS database. + + + + +The backup failed. Check the directory to which you are backing the database. + + + + +The backup failed. Was a full backup done before? + + + + +The importation from the file failed. + + + + +The local WINS cannot be deleted. + + + + +WINS encountered an error while processing the command. + + + + +Reissue the given operation as a cached IO operation + + + + +The requested print job has failed to print. A print system update requires the job to be resubmitted. + + + + +The specified printer driver was not found on the system and needs to be downloaded. + + + + +The requested operation failed. A system reboot has been initiated to roll back changes made. + + + + +The requested operation failed. A system reboot is required to roll back changes made. + + + + +Unable to find a core driver package that is required by the printer driver package. + + + + +The specified printer driver package is currently in use. + + + + +The printer driver is known to harm the system. + + + + +The printer driver is known to be unreliable. + + + + +No printers were found. + + + + +The requested operation is successful. Changes will not be effective until the service is restarted. + + + + +The requested operation is successful. Changes will not be effective until the system is rebooted. + + + + +The requested operation is not allowed when there are jobs queued to the printer. + + + + +The specified print monitor is currently in use. + + + + +The specified print monitor does not have the required functions. + + + + +The specified print monitor has already been installed. + + + + +The specified print processor has already been installed. + + + + +An AddJob call was not issued. + + + + +A StartDocPrinter call was not issued. + + + + +The spool file was not found. + + + + +The specified printer driver is currently in use. + + + + +The specified print monitor is unknown. + + + + +The device is in use by an active process and cannot be disconnected. + + + + +Active connections still exist. + + + + +This network connection has files open or requests pending. + + + + +This network connection does not exist. + + + + +The specified username is invalid. + + + + +The network connection was made successfully using default credentials. + + + + +The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified. + + + + +The specified profile is intended for a device of a different type than the specified device. + + + + +The specified named color index is not present in the profile. + + + + +The specified transform does not match the bitmap's color space. + + + + +The specified color transform is invalid. + + + + +There was an error while deleting the color transform. + + + + +Image Color Management is not enabled. + + + + +The specified color space is invalid. + + + + +The specified color profile was not found. + + + + +The specified color profile is not associated with the specified device. + + + + +The specified tag is already present. + + + + +A required tag is not present. + + + + +The specified tag was not found. + + + + +The specified color profile is invalid. + + + + +The specified color management module is invalid. + + + + +The requested clipping operation is not supported. + + + + +The requested transformation operation is not supported. + + + + +The requested metafile operation is not supported. + + + + +The window style or class attribute is invalid for this operation. + + + + +The specified driver is invalid. + + + + +The pixel format is invalid. + + + + +Logon Failure: Authentication failed because NTLM authentication has been disabled. + + + + +Remote connections to the Print Spooler are blocked by a policy set on your machine. + + + + +Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine. + + + + +The current user's delegated trust deletion quota has been exceeded. + + + + +The total delegated trust creation quota has been exceeded. + + + + +The current user's delegated trust creation quota has been exceeded. + + + + +The context has expired and can no longer be used. + + + + +The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers. + + + + +The group element could not be removed. + + + + +The group element could not be added. + + + + +The specified profile element could not be removed. + + + + +The specified profile element could not be added. + + + + +The specified profile entry could not be added. + + + + +Interface could not be exported to the specified entry. + + + + +Not all object UUIDs could be exported to the specified entry. + + + + +The entry is not of the expected type. + + + + +The name of the file cannot be resolved by the system. + + + + +The file cannot be accessed by the system. + + + + +No site name is available for this machine. + + + + +No more data is available from the RPC pipe. + + + + +The RPC call completed before all pipes were processed. + + + + +The RPC pipe object has already been closed. + + + + +Invalid asynchronous RPC call handle for this operation. + + + + +Invalid asynchronous remote procedure call handle. + + + + +Some data remains to be sent in the request buffer. + + + + +The object resolver set specified was not found. + + + + +The object specified was not found. + + + + +The object exporter specified was not found. + + + + +The referenced account is currently locked out and may not be logged on to. + + + + +Could not find the domain controller for this domain. + + + + +The user's password must be changed before logging on the first time. + + + + +The state of the printer is invalid. + + + + +The specified printer has been deleted. + + + + +The specified printer handle is already being waited on + + + + +The specified form size is invalid. + + + + +The specified form name is invalid. + + + + +The specified time is invalid. + + + + +The object universal unique identifier (UUID) is the nil UUID. + + + + +The endpoint mapper database entry could not be created. + + + + +The group member was not found. + + + + +HTTP proxy server rejected the connection because the cookie authentication failed. + + + + +Unsupported RPC pipe version. + + + + +An invalid operation was attempted on an RPC pipe object. + + + + +The RPC pipe object is invalid or corrupted. + + + + +Incompatible version of the RPC stub. + + + + +Incompatible version of the serializing package. + + + + +Invalid operation on the encoding/decoding handle. + + + + +Thread is not canceled. + + + + +A security package specific error occurred. + + + + +A UUID that is valid only on this computer has been allocated. + + + + +The error specified is not a valid Windows RPC error code. + + + + +No principal name registered. + + + + +The requested authentication level is not supported. + + + + +A communications failure occurred during a remote procedure call. + + + + +The binding handle does not contain all required information. + + + + +The remote procedure call was cancelled. + + + + +No interfaces have been registered. + + + + +Not enough quota is available to process this command. + + + + +The specified resource language ID cannot be found in the image file. + + + + +The specified resource name cannot be found in the image file. + + + + +The specified resource type cannot be found in the image file. + + + + +The specified image file did not contain a resource section. + + + + +The server is in use and cannot be unloaded. + + + + +The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain. + + + + +The account used is a server trust account. Use your global user account or local user account to access this server. + + + + +The account used is a computer account. Use your global user account or local user account to access this server. + + + + +The account used is an interdomain trust account. Use your global user account or local user account to access this server. + + + + +There are no more bindings. + + + + +The environment specified is invalid. + + + + +The specified datatype is invalid. + + + + +The printer command is invalid. + + + + +The printer already exists. + + + + +The printer name is invalid. + + + + +The specified priority is invalid. + + + + +The specified separator file is invalid. + + + + +The print processor is unknown. + + + + +The printer driver is unknown. + + + + +The specified port is unknown. + + + + +The specified printer driver is already installed. + + + + +The redirector is in use and cannot be unloaded. + + + + +The user's account has expired. + + + + +An attempt was made to logon, but the network logon service was not started. + + + + +A remote procedure call is already in progress for this thread. + + + + +The network logon failed. + + + + +The trust relationship between this workstation and the primary domain failed. + + + + +The trust relationship between the primary domain and the trusted domain failed. + + + + +The security database on the server does not have a computer account for this workstation trust relationship. + + + + +The workstation does not have a trust secret. + + + + +The disk media is not recognized. It may not be formatted. + + + + +The supplied user buffer is not valid for the requested operation. + + + + +The stub received bad data. + + + + +The byte count is too small. + + + + +The enumeration value is out of range. + + + + +A null reference pointer was passed to the stub. + + + + +The stub is unable to get the remote procedure call handle. + + + + +The binding handles passed to a remote procedure call do not match. + + + + +The context handle changed during a remote procedure call. + + + + +A null context handle was passed from the client to the host during a remote procedure call. + + + + +The file containing the character translation table has fewer than 512 bytes. + + + + +Unable to open the character translation table file. + + + + +The list of RPC servers available for the binding of auto handles has been exhausted. + + + + +A floating-point overflow occurred at the RPC server. + + + + +A floating-point underflow occurred at the RPC server. + + + + +A floating-point operation at the RPC server caused a division by zero. + + + + +An addressing error occurred in the RPC server. + + + + +The RPC server attempted an integer division by zero. + + + + +An internal error occurred in a remote procedure call (RPC). + + + + +No security context is available to allow impersonation. + + + + +The requested operation is not supported. + + + + +The network address family is invalid. + + + + +The name service is unavailable. + + + + +The entry is not found. + + + + +The entry already exists. + + + + +The interface was not found. + + + + +There is nothing to unexport. + + + + +There are no more members. + + + + +The version option is invalid. + + + + +The entry name is incomplete. + + + + +No interfaces have been exported. + + + + +There are no more endpoints available from the endpoint mapper. + + + + +The server endpoint cannot perform the operation. + + + + +The entry is invalid. + + + + +The authorization service is unknown. + + + + +The security context is invalid. + + + + +The authentication level is unknown. + + + + +The authentication service is unknown. + + + + +The binding does not contain any authentication information. + + + + +The procedure number is out of range. + + + + +The RPC protocol sequence was not found. + + + + +The string is too long. + + + + +The maximum number of calls is too small. + + + + +The authentication type is unknown. + + + + +The endpoint is a duplicate. + + + + +No network address is available to use to construct a universal unique identifier (UUID). + + + + +The name syntax is not supported. + + + + +The name syntax is invalid. + + + + +The binding does not contain an entry name. + + + + +The array bounds are invalid. + + + + +The tag is invalid. + + + + +The universal unique identifier (UUID) type is not supported. + + + + +The transfer syntax is not supported by the RPC server. + + + + +Access to the HTTP proxy is denied. + + + + +A remote procedure call (RPC) protocol error occurred. + + + + +The remote procedure call failed and did not execute. + + + + +The remote procedure call failed. + + + + +There are no remote procedure calls active on this thread. + + + + +The network options are invalid. + + + + +The RPC server is too busy to complete this operation. + + + + +The RPC server is unavailable. + + + + +Not enough resources are available to complete this operation. + + + + +The endpoint cannot be created. + + + + +There are no protocol sequences. + + + + +There are no bindings. + + + + +The interface is unknown. + + + + +The manager type is unknown. + + + + +The RPC server is not listening. + + + + +No protocol sequences have been registered. + + + + +The RPC server is already listening. + + + + +The type universal unique identifier (UUID) has already been registered. + + + + +The object universal unique identifier (UUID) has already been registered. + + + + +The object universal unique identifier (UUID) was not found. + + + + +The timeout value is invalid. + + + + +No endpoint was found. + + + + +The network address is invalid. + + + + +The endpoint format is invalid. + + + + +The string universal unique identifier (UUID) is invalid. + + + + +The RPC protocol sequence is invalid. + + + + +The RPC protocol sequence is not supported. + + + + +The binding handle is invalid. + + + + +The binding handle is not the correct type. + + + + +The string binding is invalid. + + + + +The Windows Installer service is not accessible in Safe Mode. Please try again when your computer is not in Safe Mode or you can use System Restore to return your machine to a previous good state. + + + + +Windows Installer does not permit updating of managed advertised products. At least one feature of the product must be installed before applying the update. + + + + +The XML update data is invalid. + + + + +Update removal was disallowed by policy. + + + + +No valid sequence could be found for the set of updates. + + + + +The update is not applied to this product. + + + + +Uninstallation of the update package is not supported. + + + + +The Windows Installer does not permit installation from a Remote Desktop Connection. + + + + +One or more customizations are not permitted by software restriction policy. + + + + +The update package is not permitted by software restriction policy. + + + + +The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade. + + + + +The requested operation completed successfully. The system will be restarted so the changes can take effect. + + + + +Only administrators have permission to add, remove, or configure server software during a Terminal services remote session. If you want to install or configure software on the server, contact your network administrator. + + + + +Invalid command line argument. Consult the Windows Installer SDK for detailed command line help. + + + + +Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel. + + + + +This update package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. + + + + +This update package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer update package. + + + + +This update package could not be opened. Verify that the update package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer update package. + + + + +Component not used on this computer. + + + + +This installation package is not supported by this processor type. Contact your product vendor. + + + + +The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder. + + + + +The Windows Installer service failed to start. Contact your support personnel. + + + + +Data of this type is not supported. + + + + +Data supplied is of wrong type. + + + + +Invalid or unknown table specified. + + + + +Function failed during execution. + + + + +Function could not be executed. + + + + +This installation is forbidden by system policy. Contact your system administrator. + + + + +Error applying transforms. Verify that the specified transform paths are valid. + + + + +The language of this installation package is not supported by your system. + + + + +Error opening installation log file. Verify that the specified log file location exists and that you can write to it. + + + + +There was an error starting the Windows Installer service user interface. Contact your support personnel. + + + + +This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package. + + + + +This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package. + + + + +Another installation is already in progress. Complete that installation before proceeding with this install. + + + + +The device has been removed. + + + + +Record field does not exist. + + + + +SQL query syntax invalid or unsupported. + + + + +Product is uninstalled. + + + + +This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. + + + + +The installation source for this product is not available. Verify that the source exists and that you can access it. + + + + +Component qualifier not present. + + + + +The configuration data for this product is corrupt. Contact your support personnel. + + + + +Handle is in an invalid state. + + + + +Unknown property. + + + + +Component ID not registered. + + + + +Feature ID not registered. + + + + +This action is only valid for products that are currently installed. + + + + +Installation suspended, incomplete. + + + + +Fatal error during installation. + + + + +User cancelled installation. + + + + +The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance. + + + + +The specified thread is already joining a task. + + + + +The specified task index is invalid. + + + + +The specified task name is invalid. + + + + +The event log file has changed between read operations. + + + + +The event log file is full. + + + + +No event log file could be opened, so the event logging service did not start. + + + + +The event log file is corrupted. + + + + +There was an AuthIP failure when attempting to connect to the remote host. + + + + +The caller made the connection request in the wrong routing compartment. + + + + +This application must be restarted. + + + + +An error was encountered while processing an XML digital signature. + + + + +Windows was unable to parse the requested XML data. + + + + +This application does not support the current operation on symbolic links. + + + + +The symbolic link cannot be followed because its type is disabled. + + + + +Incorrect size argument. + + + + +Invalid monitor handle. + + + + +This operation returned because the timeout period expired. + + + + +This operation requires an interactive window station. + + + + +Hook type not allowed. + + + + +Invalid keyboard layout handle. + + + + +A menu item was not found. + + + + +The paging file is too small for this operation to complete. + + + + +Insufficient quota to complete the requested service. + + + + +Insufficient quota to complete the requested service. + + + + +Insufficient system resources exist to complete the requested service. + + + + +Insufficient system resources exist to complete the requested service. + + + + +Insufficient system resources exist to complete the requested service. + + + + +Cannot show or remove the window in the way specified. + + + + +Scroll bar range cannot be greater than MAXLONG. + + + + +The window does not have scroll bars. + + + + +Popup menu already active. + + + + +Cannot process a message from a window that is not a multiple document interface (MDI) window. + + + + +Invalid thread identifier. + + + + +Invalid GW_* command. + + + + +The window is not a child window. + + + + +All handles to windows in a multiple-window position structure must have the same parent. + + + + +Screen already locked. + + + + +Invalid system-wide (SPI_*) parameter. + + + + +Invalid message box style. + + + + +The window does not have a system menu. + + + + +Child windows cannot have menus. + + + + +Cannot destroy object created by another thread. + + + + +This list box does not support tab stops. + + + + +LB_SETCOUNT sent to non-lazy list box. + + + + +Invalid message for single-selection list box. + + + + +The hook procedure is not installed. + + + + +The journal hook procedure is already installed. + + + + +This hook procedure can only be set globally. + + + + +Cannot set nonlocal hook without a module handle. + + + + +Invalid hook procedure. + + + + +Invalid hook procedure type. + + + + +Invalid device context (DC) handle. + + + + +Height must be less than 256. + + + + +The window is not a combo box. + + + + +Invalid message for a combo box because it does not have an edit control. + + + + +Control ID not found. + + + + +The window is not a valid dialog window. + + + + +Hot key is not registered. + + + + +Thread does not have a clipboard open. + + + + +No wildcards were found. + + + + +The list box identifier was not found. + + + + +Using private DIALOG window words. + + + + +Invalid icon handle. + + + + +Invalid index. + + + + +Class still has open windows. + + + + +Class does not exist. + + + + +Class already exists. + + + + +Hot key is already registered. + + + + +Invalid window; it belongs to other thread. + + + + +Cannot find window class. + + + + +Cannot create a top-level child window. + + + + +Invalid handle to a multiple-window position structure. + + + + +Invalid hook handle. + + + + +Invalid accelerator table handle. + + + + +Invalid cursor handle. + + + + +Invalid menu handle. + + + + +Invalid window handle. + + + + +This operation cannot be performed on the current domain. + + + + +There is a time and/or date difference between the client and server. + + + + +Mutual Authentication failed. The server's password is out of date at the domain controller. + + + + +Logon Failure: The target account name is incorrect. + + + + +The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept. + + + + +There is no user session key for the specified logon session. + + + + +The disk structure is corrupted and unreadable. + + + + +The file or directory is corrupted and unreadable. + + + + +Indicates an ACL contains no inheritable components. + + + + +A cross-encrypted password is necessary to change this user password. + + + + +Too many security IDs have been specified. + + + + +A new member could not be added to a local group because the member has the wrong account type. + + + + +A member could not be added to or removed from the local group because the member does not exist. + + + + +A cross-encrypted password is necessary to change a user password. + + + + +Logon failure: the user has not been granted the requested logon type at this computer. + + + + +During a logon attempt, the user's security context accumulated too many security IDs. + + + + +The local security authority database contains an internal inconsistency. + + + + +The length of a secret exceeds the maximum length allowed. + + + + +The maximum number of secrets that may be stored in a single system has been exceeded. + + + + +Logon failure: the user has not been granted the requested logon type at this computer. + + + + +The specified local group already exists. + + + + +The specified account name is already a member of the group. + + + + +The specified account name is not a member of the group. + + + + +The specified local group does not exist. + + + + +The token is already in use as a primary token. + + + + +The user cannot be removed from a group because the group is currently the user's primary group. + + + + +Cannot perform this operation on this built-in special user. + + + + +Cannot perform this operation on this built-in special group. + + + + +Cannot perform this operation on built-in accounts. + + + + +An internal security database corruption has been encountered. + + + + +The transaction state of a registry subtree is incompatible with the requested operation. + + + + +Unable to impersonate using a named pipe until data has been read from that pipe. + + + + +A logon request contained an invalid logon type value. + + + + +The logon session ID is already in use. + + + + +The logon session is not in a state that is consistent with the requested operation. + + + + +A specified authentication package is unknown. + + + + +Cannot start a new logon session with an ID that is already in use. + + + + +The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process. + + + + +A security descriptor is not in the right format (absolute or self-relative). + + + + +Generic access types were contained in an access mask which should already be mapped to nongeneric types. + + + + +An internal error occurred. + + + + +Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk. + + + + +An attempt was made to exceed the limit on the number of domains per server. + + + + +The specified domain already exists. + + + + +The specified domain either does not exist or could not be contacted. + + + + +This operation is only allowed for the Primary Domain Controller of the domain. + + + + +The domain was in the wrong state to perform the security operation. + + + + +The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation. + + + + +Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied. + + + + +Unable to perform a security operation on an object that has no associated security. + + + + +The type of the token is inappropriate for its attempted use. + + + + +The validation information class requested was invalid. + + + + +Cannot open an anonymous level security token. + + + + +Either a required impersonation level was not provided, or the provided impersonation level is invalid. + + + + +The specified attributes are invalid, or incompatible with the attributes for the group as a whole. + + + + +No more memory is available for security information updates. + + + + +The value provided was an invalid value for an identifier authority. + + + + +The server is currently enabled. + + + + +The server is currently disabled. + + + + +The inherited access control list (ACL) or access control entry (ACE) could not be built. + + + + +The security descriptor structure is invalid. + + + + +The security ID structure is invalid. + + + + +The access control list (ACL) structure is invalid. + + + + +The subauthority part of a security ID is invalid for this particular use. + + + + +No more local user identifiers (LUIDs) are available. + + + + +Too many local user identifiers (LUIDs) were requested at one time. + + + + +No mapping between account names and security IDs was done. + + + + +Logon failure: account currently disabled. + + + + +Logon failure: the specified account password has expired. + + + + +Logon failure: user not allowed to log on to this computer. + + + + +Logon failure: account logon time restriction violation. + + + + +Logon failure: user account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced. + + + + +Logon failure: unknown user name or bad password. + + + + +Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain. + + + + +Unable to update the password. The value provided for the new password contains values that are not allowed in passwords. + + + + +Unable to update the password. The value provided as the current password is incorrect. + + + + +The last remaining administration account cannot be disabled or deleted. + + + + +The specified user account is not a member of the specified group account. + + + + +Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member. + + + + +The specified group does not exist. + + + + +The specified group already exists. + + + + +The specified account does not exist. + + + + +The specified account already exists. + + + + +The name provided is not a properly formed account name. + + + + +A required privilege is not held by the client. + + + + +A specified privilege does not exist. + + + + +A specified logon session does not exist. It may already have been terminated. + + + + +There are currently no logon servers available to service the logon request. + + + + +The group may not be disabled. + + + + +An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. + + + + +This security ID may not be assigned as the primary group of an object. + + + + +This security ID may not be assigned as the owner of this object. + + + + +Indicates two revision levels are incompatible. + + + + +The revision level is unknown. + + + + +The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string. + + + + +No encryption key is available. A well-known encryption key was returned. + + + + +No system quota limits are specifically set for this account. + + + + +Some mapping between account names and security IDs was not done. + + + + +Not all privileges or groups referenced are assigned to the caller. + + + + +Indicates a particular Security ID may not be assigned as the label of an object. + + + + +A privilege that the service requires to function properly does not exist in the service account configuration. +You may use the Services Microsoft Management Console (MMC) snap-in (services.msc) and the Local Security Settings MMC snap-in (secpol.msc) to view the service configuration and the account configuration. + + + + +The requested file operation failed because the storage policy blocks that type of file. For more information, contact your system administrator. + + + + +The requested file operation failed because the storage quota was exceeded. +To free up disk space, move files to a different location or delete unnecessary files. For more information, contact your system administrator. + + + + +The service notification client is lagging too far behind the current state of services in the machine. + + + + +Either the target process, or the target thread's containing process, is a protected process. + + + + +An operation attempted to exceed an implementation-defined limit. + + + + +The process hosting the driver for this device has been terminated. + + + + +The service start failed since one or more services in the same process have an incompatible service SID type setting. A service with restricted service SID type can only coexist in the same process with other services with a restricted SID type. If the service SID type for this service was just configured, the hosting process must be restarted in order to start this service. + + + + +The operation occurred beyond the valid data length of the file. + + + + +The parameter passed to a C runtime function is incorrect. + + + + +Insufficient information exists to identify the cause of failure. + + + + +%1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator. + + + + +An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed. + + + + +An attempt to do an operation on a debug object failed because the object is in the process of being deleted. + + + + +Data present in one of the parameters is more than the function can operate on. + + + + +The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application. + + + + +The current thread has already been converted from a fiber. + + + + +The current thread has already been converted to a fiber. + + + + +A transaction recover failed. + + + + +Windows cannot open this program because the license enforcement system has been tampered with or become corrupted. + + + + +Windows cannot open this program since it has been disabled. + + + + +A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image. + + + + +This driver has been blocked from loading + + + + +The group policy framework should call the extension in the synchronous foreground policy refresh. + + + + +An application-defined callback gave invalid data when called. + + + + +The machine is locked and cannot be shut down without the force option. + + + + +The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you. + + + + +The Kerberos protocol encountered an error while attempting to utilize the smartcard subsystem. + + + + +The Kerberos protocol encountered an error while validating the KDC certificate during smartcard logon. There is more information in the system event log. + + + + +The share is currently offline or does not exist. + + + + +A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific. + + + + +This program is blocked by group policy. For more information, contact your system administrator. + + + + +AppHelp dialog canceled thus preventing the application from starting. + + + + +The security identifier provided does not have a domain component. + + + + +The security identifier provided is not from an account domain. + + + + +The remote system is not available. For information about network troubleshooting, see Windows Help. + + + + +The server machine is shutting down. + + + + +This operation is not supported on a computer running Windows Server 2003 for Small Business Server + + + + +The specified user does not have a valid profile. + + + + +The group policy framework should call the extension even if there are no changes. + + + + +This operation is supported only when you are connected to the server. + + + + +A domain controller with the specified name already exists. + + + + +The specified site does not exist. + + + + +No more local devices. + + + + +An attempt was made to perform an initialization operation when initialization has already been completed. + + + + +Continue with work in progress. + + + + +The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. + + + + +The operation being requested was not performed because the user has not been authenticated. + + + + +The specified service does not exist. + + + + +The service is already registered. + + + + +The network address could not be used for the operation requested. + + + + +The account is not authorized to log in from this station. + + + + +Attempting to log in during an unauthorized time of day for this account. + + + + +A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. + + + + +The operation could not be completed. A retry should be performed. + + + + +The network connection was aborted by the local system. + + + + +The request was aborted. + + + + +No service is operating at the destination network endpoint on the remote system. + + + + +The network location cannot be reached. For information about network troubleshooting, see Windows Help. + + + + +The network location cannot be reached. For information about network troubleshooting, see Windows Help. + + + + +The network location cannot be reached. For information about network troubleshooting, see Windows Help. + + + + +An invalid operation was attempted on an active network connection. + + + + +An operation was attempted on a nonexistent network connection. + + + + +An address has not yet been associated with the network endpoint. + + + + +The network transport endpoint already has an address associated with it. + + + + +The network connection was gracefully closed. + + + + +The remote computer refused the network connection. + + + + +The requested operation cannot be performed on a file with a user-mapped section open. + + + + +The operation was canceled by the user. + + + + +The network is not present or not started. + + + + +The workgroup or domain name is already in use by another computer on the network. + + + + +An attempt was made to establish a session to a network server, but there are already too many sessions established to that server. + + + + +Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again. + + + + +The format of the specified message destination is invalid. + + + + +The format of the specified message name is invalid. + + + + +The format of the specified password is invalid. + + + + +The format of the specified share name is invalid. + + + + +The format of the specified network name is invalid. + + + + +The format of the specified service name is invalid. + + + + +The format of the specified domain name is invalid. + + + + +The format of the specified event name is invalid. + + + + +The format of the specified computer name is invalid. + + + + +The format of the specified group name is invalid. + + + + +An extended error has occurred. + + + + +Cannot enumerate a noncontainer. + + + + +The network connection profile is corrupted. + + + + +Unable to open the network connection profile. + + + + +The specified network provider name is invalid. + + + + +The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Please try retyping the path or contact your network administrator. + + + + +The local device name has a remembered connection to another network resource. + + + + +The device is not currently connected but it is a remembered connection. + + + + +The specified device name is invalid. + + + + +The system shutdown cannot be initiated because there are other users logged on to the computer. + + + + +A system shutdown has already been scheduled. + + + + +The journal entry has been deleted from the journal. + + + + +A file was found, but it may not be the correct file. + + + + +The volume change journal is not active. + + + + +The volume change journal is being deleted. + + + + +Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name. + + + + +Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name. + + + + +Unable to remove the file to be replaced. + + + + +The Volume ID could not be found. + + + + +The tracking (workstation) service is not running. + + + + +The point passed to GetMouseMovePoints is not in the buffer. + + + + +The property set specified does not exist on the object. + + + + +There was no match for the specified key in the index. + + + + +Element not found. + + + + +The device is not connected. + + + + +The device has indicated that its door is open. + + + + +The device has indicated that cleaning is required before further operations are attempted. + + + + +The indicated device requires reinitialization due to hardware errors. + + + + +The indicated element is part of a magazine that is not present. + + + + +The indicated element does not exist. + + + + +The indicated destination element already contains media. + + + + +The indicated source element has no media. + + + + +The message can be used only with synchronous operations. + + + + +The current process has used all of its system allowance of handles for Window Manager objects. + + + + +One of the library files needed to run this application cannot be found. + + + + +An error occurred in sending the command to the application. + + + + +No application is associated with the specified file for this operation. + + + + +One of the library files needed to run this application is damaged. + + + + +The specified program was written for an earlier version of Windows. + + + + +Cannot start more than one instance of the specified program. + + + + +The specified program is not a Windows or MS-DOS program. + + + + +The specified program requires a newer version of Windows. + + + + +An attempt was made to create more links on a file than the file system supports. + + + + +The system BIOS failed an attempt to change the system power state. + + + + +An attempt to change the system power state was vetoed by another application or driver. + + + + +The base address or the file offset specified does not have the proper alignment. + + + + +A potential deadlock condition has been detected. + + + + +Not enough server storage is available to process this command. + + + + +Physical end of tape encountered. + + + + +While accessing the hard disk, a disk controller reset was needed, but even that failed. + + + + +While accessing the hard disk, a disk operation failed even after retries. + + + + +While accessing the hard disk, a recalibrate operation failed, even after retries. + + + + +The floppy disk controller returned inconsistent results in its registers. + + + + +The floppy disk controller reported an error that is not recognized by the floppy disk driver. + + + + +Mismatch between the floppy disk sector ID field and the floppy disk controller track address. + + + + +No ID address mark was found on the floppy disk. + + + + +A serial I/O operation completed because the timeout period expired. +(The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) + + + + +A serial I/O operation was completed by another write to the serial port. +(The IOCTL_SERIAL_XOFF_COUNTER reached zero.) + + + + +Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. + + + + +No serial device was successfully initialized. The serial driver will unload. + + + + +The request could not be performed because of an I/O device error. + + + + +Unable to abort the system shutdown because no shutdown was in progress. + + + + +A system shutdown is in progress. + + + + +A dynamic link library (DLL) initialization routine failed. + + + + +No mapping for the Unicode character exists in the target multi-byte code page. + + + + +No media in drive. + + + + +The I/O bus was reset. + + + + +The media in the drive may have changed. + + + + +Unable to unload the media. + + + + +Unable to lock the media eject mechanism. + + + + +Tape partition information could not be found when loading a tape. + + + + +When accessing a new tape of a multivolume partition, the current block size is incorrect. + + + + +Tape could not be partitioned. + + + + +No more data is on the tape. + + + + +A tape access reached the end of a set of files. + + + + +The beginning of the tape or a partition was encountered. + + + + +A tape access reached a filemark. + + + + +The physical end of the tape has been reached. + + + + +This service cannot be started in Safe Mode + + + + +The executable program that this service is configured to run in does not implement the service. + + + + +No recovery program has been configured for this service. + + + + +This service runs in the same process as the service control manager. +Therefore, the service control manager cannot take action if this service's process terminates unexpectedly. + + + + +Failure actions can only be set for Win32 services, not for drivers. + + + + +The account specified for this service is different from the account specified for other services running in the same process. + + + + +The name is already in use as either a service name or a service display name. + + + + +No attempts to start the service have been made since the last boot. + + + + +The current boot has already been accepted for use as the last-known-good control set. + + + + +The dependency service does not exist or has been marked for deletion. + + + + +The system is currently running with the last-known-good configuration. + + + + +The specified service already exists. + + + + +The specified service has been marked for deletion. + + + + +The specified service database lock is invalid. + + + + +After starting, the service hung in a start-pending state. + + + + +The service did not start due to a logon failure. + + + + +The dependency service or group failed to start. + + + + +The process terminated unexpectedly. + + + + +The service has returned a service-specific error code. + + + + +The database specified does not exist. + + + + +An exception occurred in the service when handling the control request. + + + + +The service process could not connect to the service controller. + + + + +The service has not been started. + + + + +The service cannot accept control messages at this time. + + + + +The specified service does not exist as an installed service. + + + + +Circular service dependency was specified. + + + + +The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. + + + + +The account name is invalid or does not exist, or the password is invalid for the account name specified. + + + + +An instance of the service is already running. + + + + +The service database is locked. + + + + +A thread could not be created for the service. + + + + +The service did not respond to the start or control request in a timely fashion. + + + + +The requested control is not valid for this service. + + + + +A stop control has been sent to a service that other running services are dependent on. + + + + +A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes. + + + + +Cannot create a stable subkey under a volatile parent key. + + + + +Cannot create a symbolic link in a registry key that already has subkeys or values. + + + + +System could not allocate the required space in a registry log. + + + + +Illegal operation attempted on a registry key that has been marked for deletion. + + + + +The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format. + + + + +An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry. + + + + +The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted. + + + + +One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful. + + + + +The configuration registry key could not be written. + + + + +The configuration registry key could not be read. + + + + +The configuration registry key could not be opened. + + + + +The configuration registry key is invalid. + + + + +The configuration registry database is corrupt. + + + + +An attempt was made to reference a token that does not exist. + + + + +The requested operation cannot be performed in full-screen mode. + + + + +The volume for a file has been externally altered so that the opened file is no longer valid. + + + + +The volume does not contain a recognized file system. +Please make sure that all required file system drivers are loaded and that the volume is not corrupted. + + + + +Invalid flags. + + + + +Cannot complete this function. + + + + +The window cannot act on the sent message. + + + + +Recursion too deep; the stack overflowed. + + + + +Error performing inpage operation. + + + + +Invalid access to memory location. + + + + +Overlapped I/O operation is in progress. + + + + +Overlapped I/O event is not in a signaled state. + + + + +The I/O operation has been aborted because of either a thread exit or an application request. + + + + +Access to the extended attribute was denied. + + + + +The resources required for this device conflict with the MCFG table. + + + + +{Delayed Write Failed} +Windows was unable to save all the data for the file %hs; the data has been lost. +This error may be caused if the device has been removed or the media is write-protected. + + + + +{Delayed Write Failed} +Windows was unable to save all the data for the file %hs; the data has been lost. +This error was returned by the server on which the file exists. Please try to save this file elsewhere. + + + + +{Delayed Write Failed} +Windows was unable to save all the data for the file %hs; the data has been lost. +This error may be caused by network connectivity issues. Please try to save this file elsewhere. + + + + +A valid hibernation file has been invalidated and should be abandoned. + + + + +Access to %1 has been restricted by your Administrator by policy rule %2. + + + + +Access to %1 is monitored by policy rule %2. + + + + +A thread is getting dispatched with MCA EXCEPTION because of MCA. + + + + +The system power state is transitioning from %2 to %3 but could enter %4. + + + + +The system power state is transitioning from %2 to %3. + + + + +The Desktop heap encountered an error while allocating session memory. There is more information in the system event log. + + + + +The attempted operation required self healing to be enabled. + + + + +The hardware has reported an uncorrectable memory error. + + + + +The iterator's start position is invalid. + + + + +A version number could not be parsed. + + + + +The client of a component requested an operation which is not valid given the state of the component instance. + + + + +The implementation is not capable of performing the request. + + + + +One or more errors occurred while processing the request. + + + + +The data provider was not able to interpret the flags set for a column binding in an accessor. + + + + +The data provider requires that previously fetched data is released before asking for more data. + + + + +The data provider cannot scroll backwards through a result set. + + + + +The data provider cannot fetch backwards through a result set. + + + + +Compression is disabled for this volume. + + + + +An exception occurred in a user mode callback and the kernel callback frame should be removed. + + + + +Debugger continued + + + + +Debugger handled exception + + + + +An operation is blocked waiting for an oplock. + + + + +The specified interrupt vector is still connected. + + + + +The specified interrupt vector was already connected. + + + + +A file system or file system filter driver has successfully completed an FsFilter operation. + + + + +{Volume Shadow Copy Service} +The system is now ready for hibernation. + + + + +The specified process is part of a job. + + + + +The specified process is not part of a job. + + + + +A process being terminated has no threads to terminate. + + + + +The translator has translated these resources into the global space and no further translations should be performed. + + + + +The device has succeeded a query-stop and its resource requirements have changed. + + + + +A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. + + + + +Specified buffer contains all zeros. + + + + +Crash dump exists in paging file. + + + + +Cached page was locked during operation. + + + + +Page fault was satisfied by reading from a secondary storage device. + + + + +Page fault was a demand zero fault. + + + + +Page fault was a demand zero fault. + + + + +Page fault was a demand zero fault. + + + + +Page fault was a transition fault. + + + + +{Connect Failure on Primary Transport} +An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. +The computer WAS able to connect on a secondary transport. + + + + +This indicates that a notify change request has been completed due to closing the handle which made the notify change request. + + + + +This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. +The commit has now been completed. + + + + +A new volume has been mounted by a file system. + + + + +An open/create operation completed while an oplock break is underway. + + + + +A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. + + + + +The requested operation requires elevation. + + + + + ERROR_ALERTED + + + + + ERROR_KERNEL_APC + + + + + ERROR_USER_APC + + + + + ERROR_ABANDONED_WAIT_63 + + + + + ERROR_ABANDONED_WAIT_0 + + + + + ERROR_WAIT_63 + + + + + ERROR_WAIT_3 + + + + + ERROR_WAIT_2 + + + + + ERROR_WAIT_1 + + + + +The system has awoken + + + + +A device driver is leaking locked I/O pages causing system degradation. The system has automatically enabled tracking code in order to try and catch the culprit. + + + + +Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3]. + + + + +The system was resumed from hibernation. + + + + +The system was put into hibernation. + + + + +The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. Should problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported. + + + + +The inserted CardBus device cannot be started because of a configuration error on "%hs". + + + + +The arbiter has deferred arbitration of these resources to its parent + + + + +The resumable flag to a timer API was ignored. + + + + +A yield execution was performed and no thread was available to run. + + + + +{Machine Type Mismatch} +The image file %hs is valid, but is for a machine type other than the current machine. + + + + + ERROR_ALREADY_WIN32 + + + + +Application popup: %1 : %2 + + + + +{Page Locked} +One of the pages to lock was already locked. + + + + +%hs + + + + +{Page Unlocked} +The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process. + + + + +The specified registry key is referenced by a predefined handle. + + + + +{Fatal Application Exit} +%hs + + + + +Checking file system on %wZ + + + + +{TDI Event Pending} +The TDI indication has entered the pending state. + + + + +{TDI Event Done} +The TDI indication has completed successfully. + + + + +{Partial Expedited Data Received} +The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later. + + + + +{Expedited Data Received} +The network transport returned data to its client that was marked as expedited by the remote system. + + + + +{Partial Data Received} +The network transport returned partial data to its client. The remaining data will be sent later. + + + + +{Machine Type Mismatch} +The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load. + + + + +{Redundant Write} +To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information. +This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device. + + + + +{Redundant Read} +To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. +This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device. + + + + +{Invalid Current Directory} +The process cannot switch to the startup current directory %hs. +Select OK to set current directory to %hs, or select CANCEL to exit. + + + + +{Segment Load} +A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. +An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments. + + + + +This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created. + + + + +{Image Relocated} +An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image. + + + + +{Thread Suspended} +A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded. + + + + +{Object Exists} +An attempt was made to create an object and the object name already existed. + + + + +Debugger command communication exception. + + + + +Debugger received control break. + + + + +Debugger received RIP exception. + + + + +Debugger printed exception on control C. + + + + +Debugger got control C. + + + + +Debugger terminated process. + + + + +Debugger terminated thread. + + + + +Debugger cannot provide handle. + + + + +Debugger will reply later. + + + + +Debugger did not handle the exception. + + + + +The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs? + + + + +The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs? + + + + +{Registry Hive Recovered} +Registry hive (file): +%hs +was corrupted and it has been recovered. Some data might have been lost. + + + + +A frame consolidation has been executed. + + + + +The Plug and Play query operation was not successful. + + + + +A long jump has been executed. + + + + +The create operation stopped after reaching a symbolic link + + + + +{GUID Substitution} +During the translation of a global identifier (GUID) to a Windows security ID (SID), no administratively-defined GUID prefix was found. +A substitute prefix was used, which will not compromise system security. However, this may provide a more restrictive access than intended. + + + + +{Media Changed} +The media may have changed. + + + + +This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. +The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired). + + + + +{Too Much Information} +The specified access control list (ACL) contained more information than was expected. + + + + +{Handles Closed} +Handles to objects have been automatically closed as a result of the requested operation. + + + + +{Kernel Debugger Awakened} +the system debugger was awakened by an interrupt. + + + + +Driver %2 returned invalid ID for a child device (%3). + + + + +A IRQ translator failed to translate resources. + + + + +A translator failed to translate resources. + + + + +A device is missing in the system BIOS MPS table. This device will not be used. +Please contact your system vendor for system BIOS update. + + + + +WOW Assertion Error. + + + + +An error occurred in the ACPI subsystem. + + + + +An assertion failure has occurred. + + + + +The requested operation could not be completed due to a file system limitation + + + + +The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted. + + + + +{Volume Shadow Copy Service} +Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation. + + + + +The driver could not be loaded because a previous version of the driver is still in memory. + + + + +System hive size has exceeded its limit. + + + + +There was error [%2] processing the driver database. + + + + +A Machine Check Error has occurred. Please check the system eventlog for additional information. + + + + +The device object parameter is either not a valid device object or is not attached to the volume specified by the file name. + + + + +The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached. + + + + +The "%hs" encountered an error while applying power or reading the device configuration. +This may be caused by a failure of your hardware or by a poor connection. + + + + +The driver was not loaded because it failed it's initialization call. + + + + +The driver was not loaded because the system is booting into safe mode. + + + + +The specified range could not be found in the range list. + + + + +This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller. + + + + +An attempt to remove a processes DebugPort was made, but a port was not already associated with the process. + + + + +The system is in the process of shutting down. + + + + + ERROR_MULTIPLE_FAULT_VIOLATION + + + + +There is not enough power to complete the requested operation. + + + + +Device will not start without a reboot. + + + + +{Fatal System Error} +The system image %s is not properly signed. +The file has been replaced with the signed file. +The system has been shut down. + + + + +A device was removed so enumeration must be restarted. + + + + +{Virtual Memory Minimum Too Low} +Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. +During this process, memory requests for some applications may be denied. For more information, see Help. + + + + +The system file %1 has become corrupt and has been replaced. + + + + +{System Standby Failed} +The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode. + + + + +The requested interface is not supported. + + + + +{EXCEPTION} +Multiple floating point traps. + + + + +{EXCEPTION} +Multiple floating point faults. + + + + +A group marked use for deny only cannot be enabled. + + + + +The server process is running under a SID different than that required by client. + + + + +The range could not be added to the range list because of a conflict. + + + + +There are no more matches for the current index enumeration. + + + + +The validation process needs to continue on to the next step. + + + + +{DLL Initialization Failed} +The application failed to initialize because the window station is shutting down. + + + + +{Illegal System DLL Relocation} +The system DLL %hs was relocated in memory. The application will not run properly. +The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL. + + + + +{Windows Evaluation Notification} +The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product. + + + + +The specified quota list is internally inconsistent with its descriptor. + + + + +The specified Plug and Play registry device path is invalid. + + + + +The specified hardware profile configuration is invalid. + + + + +The specified compression format is unsupported. + + + + +You have attempted to change your password to one that you have used in the past. +The policy of your user account does not allow this. Please select a password that you have not previously used. + + + + +The policy of your user account does not allow you to change passwords too frequently. +This is done to prevent users from changing back to a familiar, but potentially discovered, password. +If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned. + + + + +The password provided is too short to meet the policy of your user account. +Please choose a longer password. + + + + +A callback return system service cannot be executed when no callback is active. + + + + +{Low On Registry Space} +The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored. + + + + +There is an IP address conflict with another system on the network + + + + +There is an IP address conflict with another system on the network + + + + +{Invalid Service Callback Entrypoint} +The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. +The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly. + + + + +{Invalid DLL Entrypoint} +The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. +The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly. + + + + +There is insufficient account information to log you on. + + + + +The timer resolution was not previously set by the current process. + + + + +{Audit Failed} +An attempt to generate a security audit failed. + + + + +The specified buffer contains ill-formed data. + + + + +The supplied variant structure contains invalid data. + + + + +The user/kernel marshalling buffer has overflowed. + + + + +The bucket array must be grown. Retry transaction after doing so. + + + + +The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation. + + + + +Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream. + + + + +The request must be handled by the stack overflow code. + + + + +The stream is not a tiny stream. + + + + +The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window. + + + + +{Delayed Write Failed} +Windows was unable to save all the data for the file %hs. The data has been lost. +This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere. + + + + +{Reply Message Mismatch} +An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message. + + + + +{Cancel Timeout} +The driver %hs failed to complete a cancelled I/O request in the allotted time. + + + + +NTVDM encountered a hard error. + + + + +{Data Not Accepted} +The TDI client could not handle the data received during an indication. + + + + +{Fatal System Error} +The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). +The system has been shut down. + + + + +{Unexpected Failure in DebugActiveProcess} +An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error. + + + + +{Registry File Failure} +The registry cannot load the hive (file): +%hs +or its log or alternate. +It is corrupt, absent, or not writable. + + + + +A volume has been accessed for which a file system driver is required that has not yet been loaded. + + + + +An attempt was made to acquire a mutant such that its maximum count would have been exceeded. + + + + +This operation is only allowed for the Primary Domain Controller of the domain. + + + + +The system BIOS failed to connect a system interrupt to the device or bus for which the device is connected. + + + + +The paging file cannot be created on a floppy diskette. + + + + +The Unicode character is not defined in the Unicode character set installed on the system. + + + + +An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE. + + + + +A Windows Server has an incorrect configuration. + + + + +An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread. + + + + +{EXCEPTION} +A real-mode application issued a floating-point instruction and floating-point hardware is not present. + + + + +{No Paging File Specified} +No paging file was specified in the system configuration. + + + + +Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. + + + + +{Unable to Create Paging File} +The creation of the paging file %hs failed (%lx). The requested size was %ld. + + + + +{Application Error} +The application failed to initialize properly (0x%lx). Click OK to terminate the application. + + + + +{Application Error} +The exception %s (0x%08lx) occurred in the application at location 0x%08lx. + + + + +{Missing System File} +The required system file %hs is bad or missing. + + + + +{Application Exit by CTRL+C} +The application terminated as a result of a CTRL+C. + + + + +{Privilege Failed} +The I/O permissions for the process could not be changed. + + + + +The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines. + + + + +The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required. + + + + +The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role. + + + + +Page file quota was exceeded. + + + + +An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified. + + + + +Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads. + + + + +Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors. + + + + +Indicates that the starting value for the LDT information was not an integral multiple of the selector size. + + + + +Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors. + + + + +Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. +This causes the protection attempt to fail, which may cause a file creation attempt to fail. + + + + +A malformed function table was encountered during an unwind operation. + + + + +If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. +In this case information is lost, however, the filter correctly handles the exception. + + + + +If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. +In this case information is lost, however, the filter correctly handles the exception. + + + + +If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. +In this case information is lost, however, the filter correctly handles the exception. + + + + +Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process. + + + + +Used to indicate that an operation cannot continue without blocking for I/O. + + + + +The number of active profiling objects is at the maximum and no more may be started. + + + + +The passed ACL did not contain the minimum required information. + + + + +Profiling not stopped. + + + + +Profiling not started. + + + + +An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references. + + + + +An attempt was made to attach to a device that was already attached to another device. + + + + +An attempt was made to lower a quota limit below the current usage. + + + + +Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port. + + + + +Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort + + + + +An invalid unwind target was encountered during an unwind operation. + + + + +An invalid or unaligned stack was encountered during an unwind operation. + + + + +Unwind exception code. + + + + +An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine. + + + + +An error occurred in the WX86 subsystem. + + + + +A warning occurred in the WX86 subsystem. + + + + +An error occurred in the ABIOS subsystem. + + + + +Application verifier has found an error in the current process. + + + + +Waiting for a process to open the other end of the pipe. + + + + +There is a process on other end of the pipe. + + + + +Arithmetic result exceeded 32 bits. + + + + +User profile cannot be loaded. + + + + +Attempt to access invalid address. + + + + +The process is not in background processing mode. + + + + +The process is already in background processing mode. + + + + +The thread is not in background processing mode. + + + + +The thread is already in background processing mode. + + + + +The maximum number of sessions has been reached. + + + + +The restart operation failed. + + + + +The shutdown operation failed. + + + + +No action was taken as a system reboot is required. + + + + +The scope specified was not found. + + + + +The system cannot find message text for message number 0x%1 in the message file for %2. + + + + +The file cannot be opened because it is in the process of being deleted. + + + + +The volume is too fragmented to complete this operation. + + + + +An invalid oplock acknowledgment was received by the system. + + + + +The oplock request is denied. + + + + +Only part of a ReadProcessMemory or WriteProcessMemory request was completed. + + + + +Too many posts were made to a semaphore. + + + + +Attempt to release mutex not owned by caller. + + + + +The mounted file system does not support extended attributes. + + + + +The specified extended attribute handle is invalid. + + + + +The extended attribute table file is full. + + + + +The extended attribute file on the mounted file system is corrupt. + + + + +The extended attributes did not fit in the buffer. + + + + +The directory name is invalid. + + + + +The copy functions cannot be used. + + + + +No more data is available. + + + + +The wait operation timed out. + + + + +The extended attributes are inconsistent. + + + + +The specified extended attribute name was invalid. + + + + +The session was canceled. + + + + +More data is available. + + + + +No process is on the other end of the pipe. + + + + +The pipe is being closed. + + + + +All pipe instances are busy. + + + + +The pipe state is invalid. + + + + +The pipe is local. + + + + +This file contains a virus and cannot be opened. Due to the nature of this virus, the file has been removed from this location. + + + + +Operation did not complete successfully because the file contains a virus. + + + + +Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically. + + + + +The file size exceeds the limit allowed and cannot be saved. + + + + +The file type being saved or retrieved has been blocked. + + + + +The file must be checked out before saving changes. + + + + +This file is checked out or locked for editing by another user. + + + + +The image file %1 is strong signed, unable to modify. + + + + +The image file %1 is signed, unable to modify. + + + + +This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher. + + + + +Cannot nest calls to LoadModule. + + + + +Too many dynamic-link modules are attached to this program or dynamic-link module. + + + + +The segment is locked and cannot be reallocated. + + + + +The signal handler cannot be set. + + + + +The signal being posted is not correct. + + + + +The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified. + + + + +The ring 2 stack is in use. + + + + +The filename or extension is too long. + + + + +No process in the command subtree has a signal handler. + + + + +The system could not find the environment option that was entered. + + + + +The operating system cannot run %1. + + + + +The operating system cannot run %1. + + + + +The code segment cannot be greater than or equal to 64K. + + + + +The operating system cannot run this application program. + + + + +The operating system cannot run %1. + + + + +The operating system is not presently configured to run this application. + + + + +The operating system cannot run this application program. + + + + +The operating system cannot run %1. + + + + +The operating system cannot run %1. + + + + +%1 is not a valid Win32 application. + + + + +The operating system cannot run %1. + + + + +Cannot run %1 in Win32 mode. + + + + +The operating system cannot run %1. + + + + +The operating system cannot run %1. + + + + +The operating system cannot run %1. + + + + +The specified system semaphore name was not found. + + + + +The flag passed is not correct. + + + + +Cannot create a file when that file already exists. + + + + +The operating system cannot run %1. + + + + +The system detected a segment number that was not correct. + + + + +The file system does not support atomic changes to the lock type. + + + + +A lock request was not outstanding for the supplied cancel region. + + + + +The requested resource is in use. + + + + +Unable to lock a region of a file. + + + + +No more threads can be created in the system. + + + + +A signal is already pending. + + + + +The specified path is invalid. + + + + +One or more arguments are not correct. + + + + +The address for the thread ID is not correct. + + + + +The segment is already unlocked. + + + + +The segment is already discarded and cannot be locked. + + + + +The recipient process has refused the signal. + + + + +Cannot create another thread. + + + + +The volume label you entered exceeds the label character limit of the target file system. + + + + +The DosMuxSemWait list is not correct. + + + + +DosMuxSemWait did not execute; too many semaphores are already set. + + + + +The number of specified semaphore events for DosMuxSemWait is not correct. + + + + +System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. + + + + +An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute. + + + + +The path specified cannot be used at this time. + + + + +Not enough resources are available to process this command. + + + + +The path specified is being used in a substitute. + + + + +The directory is not empty. + + + + +The directory is not a subdirectory of the root directory. + + + + +The system cannot join or substitute a drive to or for a directory on the same drive. + + + + +The system cannot perform a JOIN or SUBST at this time. + + + + +The system tried to SUBST a drive to a directory on a joined drive. + + + + +The system tried to join a drive to a directory on a substituted drive. + + + + +The system tried to substitute a drive to a directory on a substituted drive. + + + + +The system tried to join a drive to a directory on a joined drive. + + + + +The system tried to delete the substitution of a drive that is not substituted. + + + + +The system tried to delete the JOIN of a drive that is not joined. + + + + +An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted. + + + + +An attempt was made to use a JOIN or SUBST command on a drive that has already been joined. + + + + +A JOIN or SUBST command cannot be used for a drive that contains previously joined drives. + + + + +The file pointer cannot be set on the specified device or file. + + + + +An attempt was made to move the file pointer before the beginning of the file. + + + + +Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O. + + + + +The %1 application cannot be run in Win32 mode. + + + + +There are no child processes to wait for. + + + + +The specified procedure could not be found. + + + + +The specified module could not be found. + + + + +The disk has no volume label. + + + + +The system call level is not correct. + + + + +The filename, directory name, or volume label syntax is incorrect. + + + + +The data area passed to a system call is too small. + + + + +The semaphore timeout period has expired. + + + + +This function is not supported on this system. + + + + +The system does not support the command requested. + + + + +The verify-on-write switch parameter value is not correct. + + + + +The IOCTL call made by the application program is not correct. + + + + +The target internal file identifier is incorrect. + + + + +No more internal file identifiers available. + + + + +There is not enough space on the disk. + + + + +The file name is too long. + + + + +The system cannot open the device or file specified. + + + + +The pipe has been ended. + + + + +The disk is in use or locked by another process. + + + + +The program stopped because an alternate diskette was not inserted. + + + + +Insert the diskette for drive %1. + + + + +The previous ownership of this semaphore has ended. + + + + +Cannot request exclusive semaphores at interrupt time. + + + + +The semaphore cannot be set again. + + + + +The semaphore is set and cannot be closed. + + + + +The exclusive semaphore is owned by another process. + + + + +Cannot create another system semaphore. + + + + +The system cannot start another process at this time. + + + + +A write fault occurred on the network. + + + + +The parameter is incorrect. + + + + +The specified network password is not correct. + + + + +The local device name is already in use. + + + + +Storage to process this request is not available. + + + + +Fail on INT 24. + + + + +The directory or file cannot be created. + + + + +The file exists. + + + + +The specified printer or disk device has been paused. + + + + +No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. + + + + +The remote server has been paused or is in the process of being started. + + + + +The network BIOS session limit was exceeded. + + + + +The name limit for the local computer network adapter card was exceeded. + + + + +The network name cannot be found. + + + + +The network resource type is not correct. + + + + +Network access is denied. + + + + +The specified network name is no longer available. + + + + +Your file waiting to be printed was deleted. + + + + +Space to store the file waiting to be printed is not available on the server. + + + + +The printer queue is full. + + + + +The remote adapter is not compatible. + - - Gets a boolean indicating whether the Comment was generated by a Generic WebDav client + + +An unexpected network error occurred. + - - The path the notification is about, translated via - The property contains the path in normalized format; while returns the exact path from the subversion api + + +The specified server cannot perform the requested operation. + - + - - +A network adapter hardware error occurred. + - + - - +The network BIOS command limit has been reached. + - + - - +The specified network resource or device is no longer available. + - - Gets the operation creating the tree conflict + + +The network is busy. + - - Gets the of + + +The network path was not found. + - - Gets the revision of + + +You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name. + - - Gets the relative uri of the path inside the repository - Does not include an initial '/'. Ends with a '/' if is . + + +Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator. + - - Serves as a hashcode for the specified type + + +The request is not supported. + - - Serves as a hashcode for the specified type + + +The disk is full. + - - error message from post-commit hook, or NULL + + +Reached the end of the file. + - - Serves as a hashcode for the specified type + + +Too many files opened for sharing. + - - Gets the SvnTarget as string + + +The wrong diskette is in the drive. +Insert %2 (Volume Serial Number: %3) into drive %1. + - - Gets the target name in normalized format + + +The process cannot access the file because another process has locked a portion of the file. + - - Gets the operational revision + + +The process cannot access the file because it is being used by another process. + - - (Optional) The node kind of + + +A device attached to the system is not functioning. + - - (Required) The repository root of + + +The system cannot read from the specified device. + - - The target specified + + +The system cannot write to the specified device. + - - (Required) The Uri of . Only differs from target if -specifies a + + +The printer is out of paper. + - - Generic encapsulation of a specific revision of a node in subversion + + +The drive cannot find the sector requested. + - - Gets a boolean whether the revision specifies an explicit repository revision - Explicit: Is set, doesn't require a workingcopy and is repository wide applyable + + +The specified disk or diskette cannot be accessed. + - - Gets a boolean indicating whether the revisionnumber requires a workingcopy to make any sense + + +The drive cannot locate a specific area or track on the disk. + - - Serves as a hashcode for the specified type + + +The program issued a command but the command length is incorrect. + - - Gets the instance managing authentication on behalf of this client + + +Data error (cyclic redundancy check). + - - Gets the path to SharpSvn's plink. The path is encoded to be safe for subversion configuration settings + + +The device does not recognize the command. + - - Merges configuration from the specified path into the existing configuration + + +The device is not ready. + - - Loads the standard subversion configuration and ensures the subversion config dir by creating default files + + +The system cannot find the device specified. + - - Loads the subversion configuration from the specified path and optionally ensures the path is a subversion config dir by creating default files + + +The media is write protected. + - - Loads the subversion configuration from the specified path + + +There are no more files. + - - Subversion Client Context wrapper; base class of objects using client context - + + +The system cannot move the file to a different disk drive. + - - Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use - After this method is called all properties are either stored managed, or are no longer readable + + +The directory cannot be removed. + - - Detaches the SvnEventArgs from the unmanaged storage; optionally keeping the property values for later use - After this method is called all properties values are stored in managed code + + +The system cannot find the drive specified. + - - Long path capable version of + + +Not enough storage is available to complete this operation. + - - Gets the normalized directory name of path (Long path enabled version of , always returning full paths) + + +The data is invalid. + - - Gets the filename of the specified target + + +The access code is invalid. + - + -Converts a local relative path to a valid relative Uri +An attempt was made to load a program with an incorrect format. - + -Converts a string from a Uri path to a local path name; unescaping when necessary +The environment is incorrect. - + -Appends the specified path suffix to the given Uri +The storage control block address is invalid. - + -Checks whether the specified path is an absolute path +Not enough storage is available to process this command. - + -Normalizes the Uri to a full absolute Uri +The storage control blocks were destroyed. - + -Checks whether normalization is required +The handle is invalid. - This method does not verify the casing of invariant parts - + -Normalizes the path to a full path +Access is denied. - This normalizes drive letters to upper case and hostnames to lowercase to match Subversion 1.6 behavior - - Gets a boolean indicating whether at least one of the -parent paths or the path (file/directory) itself is a working copy. + + +The system cannot open the file. - - Gets a boolean indicating whether the path could contain a Subversion Working Copy - Assumes path is a directory + + +The system cannot find the path specified. + - - Gets the pathname exactly like it is on disk + + +The system cannot find the file specified. + - - Gets the pathname exactly like it is on disk + + +Incorrect function. + - - Gets the repository Uri of a path, or null if path is not versioned + + +The operation completed successfully. + Gets the error category of the SvnException @@ -18170,17 +44182,22 @@ parent paths or the path (file/directory) itself is a working copy. @copyright ==================================================================== - Copyright (c) 2000-2009 CollabNet. All rights reserved. - - This software is licensed as described in the file COPYING, which - you should have received as part of this distribution. The terms - are also available at http://subversion.tigris.org/license-1.html. - If newer versions of this license are posted there, you may use a - newer version instead, at your option. - - This software consists of voluntary contributions made by many - individuals. For exact contribution history, see the revision - history and logs, available at http://subversion.tigris.org/. + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. ==================================================================== @endcopyright @@ -18189,6 +44206,15 @@ parent paths or the path (file/directory) itself is a working copy. Collection of Subversion error code values, located within the * APR user error space. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. @since New in 1.6. @@ -18231,6 +44257,24 @@ Collection of Subversion error code values, located within the @since New in 1.1. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. @since New in 1.6. @@ -18261,18 +44305,30 @@ Collection of Subversion error code values, located within the @since New in 1.5. + + +@since New in 1.7. + + +@since New in 1.7. @since New in 1.5. @since New in 1.5. + + +@since New in 1.7 @since New in 1.5. @since New in 1.6 + + +@since New in 1.7 @since New in 1.5 @@ -18292,6 +44348,9 @@ Collection of Subversion error code values, located within the @deprecated To improve consistency between ra layers, this error code is replaced by SVN_ERR_BAD_CONFIG_VALUE. Slated for removal in the next major release. + + +@since New in 1.7. @since New in 1.6. @@ -18313,6 +44372,9 @@ Collection of Subversion error code values, located within the @since New in 1.2. + + +@since New in 1.7. @since New in 1.6. @@ -18368,6 +44430,30 @@ Collection of Subversion error code values, located within the @since New in 1.1. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. + + +@since New in 1.7. @since New in 1.6. @@ -18376,7 +44462,10 @@ Collection of Subversion error code values, located within the @since New in 1.6. -@since New in 1.5. +@since New in 1.5. + * @deprecated Provided for backward compatibility with the 1.6 API. + * This event is not an error, and is now reported + * via the standard notification mechanism instead. @since New in 1.5. @@ -18392,6 +44481,14 @@ Collection of Subversion error code values, located within the @since New in 1.2. + + +@deprecated Provided for backward compatibility with the 1.6 API. + * Use #SVN_ERR_WC_NOT_WORKING_COPY. + + +@since New in 1.7. Previously this error number was used by + * #SVN_ERR_WC_NOT_DIRECTORY, which is now an alias for this error. @deprecated Unused, slated for removal in the next major release. @@ -18404,6 +44501,12 @@ Collection of Subversion error code values, located within the @deprecated Unused, slated for removal in the next major release. + + +@since New in 1.7. + + +@since New in 1.7. @deprecated Unused, slated for removal in the next major release. @@ -18413,6 +44516,12 @@ Collection of Subversion error code values, located within the @deprecated Unused, slated for removal in the next major release. + + +@since New in 1.7. + + +@since New in 1.7. @since New in 1.6. @@ -18463,6 +44572,9 @@ sequence of whitespace characters as a single space local edits are already present + Deprecated: Use .Tree + + tree conflict (on a dir) @@ -18471,6 +44583,9 @@ sequence of whitespace characters as a single space textual conflict (on a file) + + Aliad for Merged + Choose the 'merged file'. The result file of the automatic merging; possibly with local edits @@ -18505,6 +44620,9 @@ sequence of whitespace characters as a single space An item with no text modifications + + Create a repository in Subversion 1.7 compatible format + Create a repository in Subversion 1.6 compatible format @@ -18601,8 +44719,91 @@ sequence of whitespace characters as a single space Zero value. Never used by Subversion - - [[[ Unversioned obstruction error (Not guaranteed compatible with future Subversion versions!)]]] + + The operation skipped the path because it was conflicted. + + + Operation failed because the operation was forbidden by the server + + + Operation failed because a node is locked by another user and/or working copy + + + Operation failed because an added parent is not selected + + + Operation failed because a node is out of date + + + Operation failed because an added node is missing + + + Operation failed because the node remains in conflict + + + Removing a path by excluding it. + + + The operation was attempted on a path which doesn't exist. + + + The server has instructed the client to follow a URL redirection. + + + Committing an overwriting (replace) copy (path is the target of +the copy, not the source). + + + Committing a non-overwriting copy (path is the target of the +copy, not the source). + + + A hunk from a patch was found to already be applied. + + + A hunk from a patch was rejected. + + + A hunk from a patch was applied. + + + A file in the working copy was patched. + + + Mergeinfo was removed due to elision. + + + Mergeinfo describing a merge was recorded. + + + An working copy directory was upgraded to the latest format. + + + The mergeinfo on path was updated. + + + A node below an existing node was deleted during update. + + + A node below an exising node was updated during update. + + + A node below an existing node was added during update. + + + An update operation removed an external working copy. + + + An update tried to update a file or directory to which access could not be obtained. + + + An explicit update tried to update a file or directory that doesn't live in the repository and can't be brought in. + + + An update tried to add a file or directory at a path where a separate working copy was found + + + Starting an update operation. @@ -18632,7 +44833,7 @@ files or subdirectories not already present - Exclude (remove, whatever) directory D (Currently unused on the client layer) + Exclude (remove, whatever) directory D Depth undetermined or ignored @@ -18677,6 +44878,8 @@ files or subdirectories not already present - + + +
\ No newline at end of file