Re: svn commit: r1417252 - /subversion/trunk/subversion/libsvn_client/export.c
On Tue, Dec 4, 2012 at 7:49 PM, hwri...@apache.org wrote: Author: hwright Date: Wed Dec 5 00:49:22 2012 New Revision: 1417252 URL: http://svn.apache.org/viewvc?rev=1417252view=rev Log: Manually migrate the Ev2 export implementation (in the case of recursive directory exports) from the ev2-export branch to trunk, guarded by the --enable-ev2-impl configure flag. * subversion/libsvn_client/export.c (fetch_kind_func): Remove. (get_editor): Rename to... (get_editor_ev1): ...this. (add_file_ev2, add_directory_ev2, target_revision_func, get_editor_ev2): New. (svn_client_export5): Optionally use the Ev2 implementation for directory exports. Modified: subversion/trunk/subversion/libsvn_client/export.c Modified: subversion/trunk/subversion/libsvn_client/export.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/export.c?rev=1417252r1=1417251r2=1417252view=diff == --- subversion/trunk/subversion/libsvn_client/export.c (original) +++ subversion/trunk/subversion/libsvn_client/export.c Wed Dec 5 00:49:22 2012 @@ -43,8 +43,13 @@ #include svn_private_config.h #include private/svn_subr_private.h +#include private/svn_delta_private.h #include private/svn_wc_private.h +#ifndef ENABLE_EV2_IMPL +#define ENABLE_EV2_IMPL 0 +#endif For the record, I'm not really happy with this little kludge, but it's the best I could come up with to get both versions of the editor compiling, but have the runtime choice made at configure-time. If folks have other suggestions, I'd appreciate them. ... -Hyrum
Re: svn commit: r1401901 - in /subversion/trunk/subversion: include/private/svn_ra_private.h libsvn_ra/editor.c libsvn_ra/ra_loader.c libsvn_ra/ra_loader.h
On Wed, Oct 24, 2012 at 6:06 PM, hwri...@apache.org wrote: Author: hwright Date: Wed Oct 24 22:06:33 2012 New Revision: 1401901 URL: http://svn.apache.org/viewvc?rev=1401901view=rev Log: First cut at an RA-layer function which returns an Ev2-capable editor for use in replay range consumers, such as svnrdump and svnsync. Note: This code isn't yet called anywhere or tested, so use at own risk! ... For those wondering, the Grand Plan here goes something like this: 1) Merge these changes to the ev2-export branch (already done in r1401904) 2) On the ev2-export branch, implement the svnrdump editor as an Ev2 provider, using the APIs introduced in this revision. 3) Tie the new RA API into the svn_repos Ev2 replay ranges API for ra_local. 4) Fix bugs. I'm sure profit is in there somewhere, but I'm not sure where it fits. :) This *should* address issue 4116, but still has a couple of problems, namely that the RA method will still be using the shims for ra_serf and ra_svn. In order to remove that dependency, we'd need a bunch of protocol work to define a mechanism to punch Ev2 through on both serf and ra_svn. While this is probably a sizable task, it can be done in parallel with (2) above, and will also be useful for things like blame and update. Left to my own devices, it will quite some time before all this gets done, so coconspirators would be appreciated. -Hyrum
Re: svn commit: r1343456 - in /subversion/branches/javahl-ra/subversion/bindings/javahl/native: RevpropTable.cpp RevpropTable.h
Vladimir, I haven't forgotten your patches or the other thread about the editor, but I also haven't had a chance to review them. My connectivity will be spotty over the next few days, so it may be later this week before I have meaningful feedback. (Hopefully others can chime in before that, though.) -Hyrum On May 28, 2012, at 10:34 PM, Vladimir Berezniker vladi...@berezniker.com wrote: Hi Hyrum, I committed JavaHL re-factoring changes in r1343452 and r1343456 thinking that while they are generally applicable to JavaHL code, they won't be used by any other JavaHL code, so they should go on the branch. But on a second thought they are not tied to the new RA code, it just happens to be the only user at the moment. Should I submit changes like these as patches against trunk to @dev or continue committing them to javahl-ra branch? Thank you in advance, Vladimir On Mon, May 28, 2012 at 11:22 PM, commits-h...@subversion.apache.org wrote: Author: vmpn Date: Tue May 29 02:57:05 2012 New Revision: 1343456 URL: http://svn.apache.org/viewvc?rev=1343456view=rev Log: On the javahl-ra branch: JavaHL: Support returning non const, empty rather than NULL hash as required by (svn_ra_get_commit_editor3) apr_hash_t *revprop_table parameter [ in subversion/bindings/javahl/native ] * RevpropTable.cpp, RevpropTable.h (hash): Removed const qualifier and added bool nullIfEmpty parameter to specify whether empty hash or NULL should be returned Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.cpp subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.h Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.cpp URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.cpp?rev=1343456r1=1343455r2=1343456view=diff == --- subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.cpp (original) +++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.cpp Tue May 29 02:57:05 2012 @@ -41,9 +41,9 @@ RevpropTable::~RevpropTable() JNIUtil::getEnv()-DeleteLocalRef(m_revpropTable); } -const apr_hash_t *RevpropTable::hash(const SVN::Pool pool) +apr_hash_t *RevpropTable::hash(const SVN::Pool pool, bool nullIfEmpty) { - if (m_revprops.size() == 0) + if (m_revprops.size() == 0 nullIfEmpty) return NULL; apr_hash_t *revprop_table = apr_hash_make(pool.getPool()); Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.h URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.h?rev=1343456r1=1343455r2=1343456view=diff == --- subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.h (original) +++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/RevpropTable.h Tue May 29 02:57:05 2012 @@ -44,7 +44,7 @@ class RevpropTable public: RevpropTable(jobject jrevpropTable); ~RevpropTable(); - const apr_hash_t *hash(const SVN::Pool pool); + apr_hash_t *hash(const SVN::Pool pool, bool nullIfEmpty = true); }; #endif // REVPROPTABLE_H
Apache Subversion 1.7.3 Released
I'm happy to announce the release of Apache Subversion 1.7.3. This release is the best available release of Subversion, and we encourage all users to upgrade as soon as practical. Subversion 1.7.3 fixes a number of crashes and improves error handling in several cases (please see CHANGES for details). This release also includes a correctness for for mod_dav_svn responses. Unfortunately, this same fix highlights several bugs already existant in svnrdump when it is run over ra_serf. For this reason, we continue to recommend that users use ra_neon--the default for the 1.7.x series--when running svnrdump. To download the latest release of Subversion, please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#recommended-release The SHA1 checksums are: eebeb77f1a8d352adcd8fe684b52e66be9fdcbce subversion-1.7.3.zip 624d4070361c0e8d7cf4f5c667629e72459b122d subversion-1.7.3.tar.bz2 0b97f7a3ebef31f3fc96f73eda2974eedee7aaf7 subversion-1.7.3.tar.gz PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.3.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.3.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.3.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.3 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.3/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.2 Released
I'm happy to announce the release of Apache Subversion 1.7.2. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#recommended-release The SHA1 checksums are: 8c0824aeb7f42da1ff4f7cd296877af7f59812bb subversion-1.7.2.tar.bz2 c485b72b316c3bd08e29fe0e73c5cc537f871cf8 subversion-1.7.2.tar.gz c51b7db58adc68178e0702b7b3c5da817bfd91d3 subversion-1.7.2.zip PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.2.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.2.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.2.zip.asc For this release, the following people have provided PGP signatures: Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.2 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.2/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.1 Released
I'm happy to announce the release of Apache Subversion 1.7.1. This release addresses a number of user-reported issues in the 1.7.0 release. To download Subversion 1.7.1, please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#recommended-release The SHA1 checksums are: 8a723e953fcee0bea759141d64648ea8d6a77b1d subversion-1.7.1.zip 4bfaa8e33e9eaf26a504117cd91b23805518071a subversion-1.7.1.tar.bz2 54b28c1356c796e3a1dfa4e7bc561e5f7e9fb5ee subversion-1.7.1.tar.gz PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.1.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.1.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.1.zip.asc For this release, the following people have provided PGP signatures: Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Ivan Zhakov [1024D/C4F3A281] with fingerprint: 9D3C 5860 6A64 74BF 591D F3A1 F60D 1980 C4F3 A281 Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.1 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.1/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0 Released
I'm happy to announce the release of Apache Subversion 1.7.0. This is a major new feature release of Subversion, containing many new features, bugfixes and general usability improvements. The full extent of the changes is too large to enumerate here, and I encourage you to read the release notes (linked to below). To download the release, please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#recommended-release The SHA1 checksums are: 81f75275f5fe6b71b42384718a4aa5aba8764911 subversion-1.7.0.zip 19384ec6d2bf8dfdd4d435775f7627721413e1a8 subversion-1.7.0.tar.gz 3e514e0fba9c864d2d13763c22896d31496d7b0d subversion-1.7.0.tar.bz2 PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0.zip.asc For this release, the following people have provided PGP signatures: Senthil Kumaran S [1024D/6CCD4038] with fingerprint: 8035 16A5 1D6E 50E2 1ECD DE56 F68D 46FB 6CCD 4038 C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Johan Corveleyn [4096R/010C8AAD] with fingerprint: 8AA2 C10E EAAD 44F9 6972 7AEA B59C E6D6 010C 8AAD Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0/CHANGES We are eager to hear your feedback about this release. Please send questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-rc4 Released
I'm happy to announce the release of Apache Subversion 1.7.0-rc4. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: 181324f85926570b4923bb79df7ef8fe3764b9be subversion-1.7.0-rc4.tar.bz2 d7beaed69dccaf23dd30eb68d7c91f7f9d7b8202 subversion-1.7.0-rc4.zip e5118c3f9b1585fa89209a174193189856a57cb2 subversion-1.7.0-rc4.tar.gz PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-rc4.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc4.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc4.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Johan Corveleyn [4096R/010C8AAD] with fingerprint: 8AA2 C10E EAAD 44F9 6972 7AEA B59C E6D6 010C 8AAD Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 We anticipate this to be the last pre-release prior to the the release of Subversion 1.7.0. It is free of known serious issues, and barring any critical issues found before then, we anticipate the final Subversion 1.7.0 release to happen on Oct. 11. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-rc4 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-rc4/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-rc3 Released
I'm happy to announce the release of Apache Subversion 1.7.0-rc3. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases (Note: It may take up to 24 hours for all mirrors to sync the release.) The SHA1 checksums are: 0a1e80426720233bfdb8aaab1d97e3e8bd3ae82c subversion-1.7.0-rc3.zip 37c44ac69b132749deece46f853fdbfbe4d8b417 subversion-1.7.0-rc3.tar.bz2 6c62df9f66a9eb71df055ad8794e887716cd04a6 subversion-1.7.0-rc3.tar.gz PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Johan Corveleyn [4096R/010C8AAD] with fingerprint: 8AA2 C10E EAAD 44F9 6972 7AEA B59C E6D6 010C 8AAD Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 This is a release candidate for what will eventually become Apache Subversion 1.7.0. It is thought to be free of blocking issues, and if none are found will become the final release. For this reason, we encourage thorough testing in as many environments as possible. This release candidate continues the four-week soak period to allow for further testing, and barring show-stopping bugs, the final 1.7.0 release can be expected on or near Sept. 28. Even though we feel that this release is ready for widespread testing by the community, some things may still change before the final release. Of particular note, please remember than persistent data, such as the working copy or repository formats may change before the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-rc3 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-rc3/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-rc2 Released
I'm happy to announce the release of Apache Subversion 1.7.0-rc2, the first public release candidate of Subversion 1.7.0. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: 691fd19a88908b10f4a96cbbd930ed359543d18b subversion-1.7.0-rc2.tar.bz2 261ae261bebce283ec3f4941641a536c7ffe7df2 subversion-1.7.0-rc2.tar.gz e2b3d54b5aafc0414657d88646df8575801ee158 subversion-1.7.0-rc2.zip PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 This is a release candidate for what will eventually become Apache Subversion 1.7.0. It is thought to be free of blocking issues, and if none are found will become the final release. For this reason, we encourage thorough testing in as many environments as possible. This release candidate begins the four-week soak period to allow for further testing, and barring show-stopping bugs, the final 1.7.0 release can be expected on or near Sept. 28. Even though we feel that this release is ready for widespread testing by the community, some things may still change before the final release. Of particular note, please remember than persistent data, such as the working copy or repository formats may change before the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-rc2 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-rc2/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-beta3 Released
I'm happy to announce the release of Apache Subversion 1.7.0-beta3. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: fdd22605c83ad601810e9cd980116ebcde45ef20 subversion-1.7.0-beta3.tar.gz 65c2d68522e3aac8870a81d942d9962bb5399ed3 subversion-1.7.0-beta3.tar.bz2 e4a9b4c97db74cb2931466a14311db10a6220039 subversion-1.7.0-beta3.zip PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-beta3.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-beta3.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-beta3.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 This is a pre-release for what will eventually become Apache Subversion 1.7.0. There may still be minor issues, but all known blocking issues have been fixed. A pre-release means the Subversion developers feel that this release is ready for widespread testing by the community. Please use it at your own risk, though we do encourage people to test this release thoroughly. Of particular note, please remember than persistent data, such as the working copy or repository formats may change before the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-beta3 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-beta3/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-beta2 Released
I'm happy to announce the release of Apache Subversion 1.7.0-beta2. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: 02ee27ce1158f987fd6507839d96775c63b94ff2 subversion-1.7.0-beta2.zip 0d6c5605eb369156aaa0329a2c7e8e92bffc79bf subversion-1.7.0-beta2.tar.gz 96d9a3ca607dda3e7889061d8276822f92b2b078 subversion-1.7.0-beta2.tar.bz2 PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-beta2.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-beta2.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-beta2.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 This is a pre-release for what will eventually become Apache Subversion 1.7.0. There may still be minor issues, but all known blocking issues have been fixed. A pre-release means the Subversion developers feel that this release is ready for widespread testing by the community. Please use it at your own risk, though we do encourage people to test this release thoroughly. Of particular note, please remember than persistent data, such as the working copy or repository formats may change before the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-beta2 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-beta2/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-alpha3 Released
I'm happy to announce the release of Apache Subversion 1.7.0-alpha3. Please choose the mirror closest to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: a13c576ce83758ddd1238ca7dbbdb99ade797d1c subversion-1.7.0-alpha3.tar.gz c6e2832167bdce6d10bbb9974dff2c1b9b185701 subversion-1.7.0-alpha3.zip 886dcc0a98cd37f5c66a2fca11cd53463af68163 subversion-1.7.0-alpha3.tar.bz2 PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-alpha3.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-alpha3.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-alpha3.zip.asc For this release, the following people have provided PGP signatures: Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C This is a pre-release for what will eventually become Apache Subversion 1.7.0. It may contain known issues, a complete list of 1.7.0-blocking issues can be found here: http://subversion.tigris.org/issues/buglist.cgi?component=subversionissue_status=NEWissue_status=STARTEDissue_status=REOPENEDtarget_milestone=1.7.0 A pre-release means the Subversion developers feel that this release is ready for widespread testing by the community. There are known issues (and unknown ones!), so please use it at your own risk, though we do encourage people to test this release thoroughly. Of particular note, please remember than persistent data, such as the working copy or repository formats may change before the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-alpha3 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-alpha3/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.7.0-alpha2 Released
I'm happy to announce Apache Subversion 1.7.0-alpha2, the next public pre-release of the 1.7.x series, is now available. Please choose the closest mirror to you by visiting: http://subversion.apache.org/download/#pre-releases The SHA1 checksums are: 05cebe1817e171e20dcf5ffa6dce96122175254e subversion-1.7.0-alpha2.tar.gz 2c82a7247d3c86df3ac0671982e8853388ccc92b subversion-1.7.0-alpha2.tar.bz2 4e5886bb02b34eb13bb9e1c64084538efcc671d9 subversion-1.7.0-alpha2.zip PGP Signatures are available at: http://www.apache.org/dist/subversion/subversion-1.7.0-alpha2.tar.bz2.asc http://www.apache.org/dist/subversion/subversion-1.7.0-alpha2.tar.gz.asc http://www.apache.org/dist/subversion/subversion-1.7.0-alpha2.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C This is a pre-release for what will eventually become Apache Subversion 1.7.0. It contains several known issues, a complete list of 1.7.0-blocking issues can be found here: http://subversion.tigris.org/issues/buglist.cgi?component=subversionissue_status=NEWissue_status=STARTEDissue_status=REOPENEDtarget_milestone=1.7.0 The term 'alpha' means the Subversion developers feel that this release is ready for widespread testing by the community. There are known issues (and unknown ones!), so please use it at your own risk, though we do encourage people to test this release thoroughly. Of particular note, please remember than persistent data, such as the working copy or repository formats may change between the alpha and the final release, and there may not be an upgrade path from the pre-releases to the final. As a note to operating system distro packagers: while we wish to have this release candidate widely tested, we do not feel that it is ready for packaging and providing to end-users through a distro package system. Packaging a release candidate poses many problems, the biggest being that our policy lets us break compatibility between the release candidate and the final release, if we find something serious enough. Having many users depending on a release candidate through their distro would cause no end of pain and frustration that we do not want to have to deal with. However, if your distro has a branch that is clearly labeled as containing experimental and often broken software, and explicitly destined to consenting developers and integrators only, then we're okay with packaging the release candidate there. Just don't let it near the end users please. Release notes for the 1.7.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.7.html You can find the list of changes between 1.7.0-alpha2 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.7.0-alpha2/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Subversion 1.6.17 Released
I'm happy to announce Subversion 1.6.17, available from: http://subversion.tigris.org/downloads/subversion-1.6.17.tar.bz2 http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz http://subversion.tigris.org/downloads/subversion-1.6.17.zip http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.bz2 http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz http://subversion.tigris.org/downloads/subversion-deps-1.6.17.zip This release addesses three security issues: CVE-2011-1752: Server NULL-pointer dereference CVE-2011-1783: Server memory exhaustion CVE-2011-1921: mod_dav_svn exposure of unreadable paths More information on these vulnerabilities, including the relevent advisories and potential attack vectors and workarounds, can be found on the Subversion security website: http://subversion.apache.org/security/ The MD5 checksums are: 81e5dc5beee4b3fc025ac70c0b6caa14 subversion-1.6.17.tar.bz2 aa0f54aacac21bf5c84079e551357c15 subversion-1.6.17.tar.gz a3a4dedd9ec782d3da4465694ce012d4 subversion-1.6.17.zip 1f01f237498555091269f2432ae1e140 subversion-deps-1.6.17.tar.bz2 1d99a1b4d56b5922ed1644a22c42c9e4 subversion-deps-1.6.17.tar.gz 7ec846c284e3d6e1689dfcbca06958ab subversion-deps-1.6.17.zip The SHA1 checksums are: 6e3ed7c87d98fdf5f0a999050ab601dcec6155a1 subversion-1.6.17.tar.bz2 2ddf55622f0a742d8474feaa69596b2f7c4f1084 subversion-1.6.17.tar.gz ec9c3980150242129783529e7db6f5a04936d49a subversion-1.6.17.zip ebfda3416c09a91dbcf744a22ea83ed827ad3495 subversion-deps-1.6.17.tar.bz2 878fb197243435bfe44d45abff8875d4d98cd196 subversion-deps-1.6.17.tar.gz a14f6abc14d38c2ce0e637edf83bce4534e19717 subversion-deps-1.6.17.zip PGP Signatures are available at: http://subversion.tigris.org/downloads/subversion-1.6.17.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz.asc http://subversion.tigris.org/downloads/subversion-1.6.17.zip.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.17.zip.asc For this release, the following people have provided PGP signatures: Senthil Kumaran S [1024D/6CCD4038] with fingerprint: 8035 16A5 1D6E 50E2 1ECD DE56 F68D 46FB 6CCD 4038 Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.6.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.6.html You can find the list of changes between 1.6.17 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.6.17/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Re: svn commit: r1096619 - in /subversion/trunk/subversion/libsvn_wc: translate.c translate.h workqueue.c
FYI: This has a slight alteration in the post-commit work queue item skel. If you've got un-cleaned up working copies laying around, this may negatively impact them. :) (I went ahead with the commit, without a format bump, since work queue items are short lived, and we don't make any promises of upgrading them anyway.) -Hyrum On Mon, Apr 25, 2011 at 4:58 PM, hwri...@apache.org wrote: Author: hwright Date: Mon Apr 25 21:58:43 2011 New Revision: 1096619 URL: http://svn.apache.org/viewvc?rev=1096619view=rev Log: Create a single unified function to sync file permissions with those indicated by locks and various properties. Use it in post-commit and other processing. Note: this removes a couple of optimizations in the post-commit work queue handler. However, in doing so, we greatly simplify the code, and actually *reduce* the number of overall database accesses, which should actually speed things up. * subversion/libsvn_wc/translate.c (svn_wc__maybe_set_executable, svn_wc__maybe_set_read_only): Remove. (svn_wc__sync_flags_with_props): New. * subversion/libsvn_wc/translate.h (svn_wc__maybe_set_executable, svn_wc__maybe_set_read_only): Remove. (svn_wc__sync_flags_with_props): New. * subversion/libsvn_wc/workqueue.c (sync_file_flags): Make a simple wrapper around svn_wc__sync_flags_with_props(). (install_committed_file): Remove extra parameters, and simply use the new function to do our dirty work. (process_commit_file_install): Remove extra params, and update a caller. (run_file_commit): Don't bother parsing the remove_executable and set_read_write flags. (svn_wc__wq_build_file_commit): Don't compute the internal propdiff. Modified: subversion/trunk/subversion/libsvn_wc/translate.c subversion/trunk/subversion/libsvn_wc/translate.h subversion/trunk/subversion/libsvn_wc/workqueue.c Modified: subversion/trunk/subversion/libsvn_wc/translate.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/translate.c?rev=1096619r1=1096618r2=1096619view=diff == --- subversion/trunk/subversion/libsvn_wc/translate.c (original) +++ subversion/trunk/subversion/libsvn_wc/translate.c Mon Apr 25 21:58:43 2011 @@ -342,89 +342,71 @@ svn_wc__expand_keywords(apr_hash_t **key } svn_error_t * -svn_wc__maybe_set_executable(svn_boolean_t *did_set, - svn_wc__db_t *db, - const char *local_abspath, - apr_pool_t *scratch_pool) +svn_wc__sync_flags_with_props(svn_boolean_t *did_set, + svn_wc__db_t *db, + const char *local_abspath, + apr_pool_t *scratch_pool) { -#ifndef WIN32 svn_wc__db_status_t status; svn_wc__db_kind_t kind; - apr_hash_t *props; + svn_wc__db_lock_t *lock; + apr_hash_t *props = NULL; if (did_set) *did_set = FALSE; - SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath)); + /* ### We'll consolidate these info gathering statements in a future + commit. */ - SVN_ERR(svn_wc__db_read_node_install_info(NULL, status, kind, NULL, NULL, - NULL, - db, local_abspath, - scratch_pool, scratch_pool)); + SVN_ERR(svn_wc__db_read_info(status, kind, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, lock, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + db, local_abspath, + scratch_pool, scratch_pool)); SVN_ERR(svn_wc__db_read_props(props, db, local_abspath, scratch_pool, scratch_pool)); - if (kind != svn_wc__db_kind_file - || status != svn_wc__db_status_normal - || props == NULL - || ! apr_hash_get(props, SVN_PROP_EXECUTABLE, APR_HASH_KEY_STRING)) - return SVN_NO_ERROR; /* Not executable */ + /* We actually only care about the following flags on files, so just + early-out for all other types. */ + if (kind != svn_wc__db_kind_file) + return SVN_NO_ERROR; - SVN_ERR(svn_io_set_file_executable(local_abspath, TRUE, FALSE, - scratch_pool)); + /* If we get this far, we're going to change *something*, so just set + the flag appropriately. */ if (did_set) *did_set = TRUE; -#else - if (did_set) - *did_set = FALSE; -#endif - - return SVN_NO_ERROR; -} - - -svn_error_t * -svn_wc__maybe_set_read_only(svn_boolean_t *did_set, - svn_wc__db_t *db, - const char *local_abspath, - apr_pool_t *scratch_pool) -{ -
Re: svn commit: r1091262 - /subversion/trunk/subversion/libsvn_wc/wc_db.c
On Tue, Apr 12, 2011 at 8:00 AM, C. Michael Pilato cmpil...@collab.net wrote: You are looking at changelists as a way to learn how to move operations into wc_db properly, but just like that temp table for notifications I don't see this as the way to go forward. I really don't see why users want to add thousands of nodes to changelists while we still don't support changelists on directories. And if it is just a handful of nodes the old code worked fine. This was one of the wrestling matches that I had with myself when I started looking at this very bit of code that Hyrum has changed. As I *understood* it, we had an internal goal of losing the svn_wc__node_walk_children(). It's slow. But in some cases -- namely this one -- it just seemed like doing so would require adding obnoxious or otherwise unpleasant code. Changelist operations are, I would suspect, pretty rare, so if folks don't like the approach Hyrum has taken, I would suggest that he just revert the whole of his effort in this space, delete notes/wc_node_walkers.txt, add a note to the svn_wc__node_walk_children() docstring encouraging developers to consider using a more batch-based approach if possible when considering additional uses of the function, and then move on. If we're going to spin our wheels somewhere, let's not do it on our arguably lesser-used features, please. The point of this entire exercise was not to make setting changelists faster (though that is a nifty side effect), but rather to get more insight into how we are going to deal with them when doing this type of thing for use cases that do matter, such as recursive propset. We've got changelists all over the code, and since the database can do changelist filtering for us, I presumed that learning how to use that capability would be a fruitful use of time. I guess the insight is: we can't do it using current methods. I'll revert this work sometime today. -Hyrum
Subversion 1.6.16 Released
I'm happy to announce Subversion 1.6.16, available from: http://subversion.tigris.org/downloads/subversion-1.6.16.tar.bz2 http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz http://subversion.tigris.org/downloads/subversion-1.6.16.zip http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.bz2 http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz http://subversion.tigris.org/downloads/subversion-deps-1.6.16.zip In addition to the normal collection of bug fixes, and stability enhancements, this release also addresses CVE-2011-0715, a remotely-triggerable DoS for httpd-based Subversion servers. More information can be found in the advisory: http://subversion.apache.org/security/CVE-2011-0715-advisory.txt The MD5 checksums are: 32f25a6724559fe8691d1f57a63f636e subversion-1.6.16.tar.bz2 ead9183361819deab9127a224e5ebca0 subversion-1.6.16.tar.gz e44805e1e6e28d2c961c59cb7970f3e6 subversion-1.6.16.zip 85255aee26e958fc988e6e56d6d1ac55 subversion-deps-1.6.16.tar.bz2 3790a1c43a83c1f6250e976a75420069 subversion-deps-1.6.16.tar.gz 1356f61e21a632557f65b699b3dd91cd subversion-deps-1.6.16.zip The SHA1 checksums are: c1a050bd8ad2444eb6729b8a7f451960711af2df subversion-1.6.16.tar.bz2 e957da04252d4d7e0fff72fdcf72c715bfbaa393 subversion-1.6.16.tar.gz c4be34aaa3bddd8740b6ff692b864dd913e9951a subversion-1.6.16.zip 7b2f768692f407ef5ba46af4704cb2d1dab440f9 subversion-deps-1.6.16.tar.bz2 549ae8803b0082a6531ee8ba00951037020f7e57 subversion-deps-1.6.16.tar.gz 74e88d2a6be0d3684fc81050b300e0c0db840664 subversion-deps-1.6.16.zip PGP Signatures are available at: http://subversion.tigris.org/downloads/subversion-1.6.16.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz.asc http://subversion.tigris.org/downloads/subversion-1.6.16.zip.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.16.zip.asc For this release, the following people have provided PGP signatures: Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Branko Čibej [2048R/C8628501] with fingerprint: 8769 28CD 4954 EA74 87B6 B96C 29B8 92D0 C862 8501 Johan Corveleyn [4096R/010C8AAD] with fingerprint: 8AA2 C10E EAAD 44F9 6972 7AEA B59C E6D6 010C 8AAD Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Ivan Zhakov [1024D/C4F3A281] with fingerprint: 9D3C 5860 6A64 74BF 591D F3A1 F60D 1980 C4F3 A281 Release notes for the 1.6.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.6.html You can find the list of changes between 1.6.16 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.6.16/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Re: svn commit: r1054701 - in /subversion/trunk/subversion/bindings/javahl/native: CopySources.cpp CreateJ.cpp EnumMapper.cpp ListCallback.cpp Revision.cpp RevisionRange.cpp StatusCallback.cpp org_apa
On Mon, Jan 10, 2011 at 4:07 PM, Johan Corveleyn jcor...@gmail.com wrote: On Mon, Jan 3, 2011 at 7:34 PM, hwri...@apache.org wrote: Author: hwright Date: Mon Jan 3 18:34:35 2011 New Revision: 1054701 URL: http://svn.apache.org/viewvc?rev=1054701view=rev Log: Fix JavaHL build and test failures introduced in r1054680. * subversion/bindings/javahl/native/CreateJ.cpp, subversion/bindings/javahl/native/StatusCallback.cpp, subversion/bindings/javahl/native/CopySources.cpp, subversion/bindings/javahl/native/Revision.cpp, subversion/bindings/javahl/native/RevisionRange.cpp, subversion/bindings/javahl/native/EnumMapper.cpp, subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp, subversion/bindings/javahl/native/ListCallback.cpp: Update references to moved classes. Modified: subversion/trunk/subversion/bindings/javahl/native/CopySources.cpp subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp subversion/trunk/subversion/bindings/javahl/native/ListCallback.cpp subversion/trunk/subversion/bindings/javahl/native/Revision.cpp subversion/trunk/subversion/bindings/javahl/native/RevisionRange.cpp subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp snip ... Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=1054701r1=1054700r2=1054701view=diff == --- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original) +++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Mon Jan 3 18:34:35 2011 @@ -31,7 +31,7 @@ #include EnumMapper.h #include RevisionRange.h #include CreateJ.h -#include ../include/org_apache_subversion_javahl_Revision.h +#include ../include/org_apache_subversion_javahl_types_Revision.h Typo/Replace-o? This broke something: No, but there was an omission. I updated build.conf in r1057409 to fix the problem. WARNING: ..\include\org_apache_subversion_javahl_types_Revision.h header not found, file subversion\bindings\javahl\native\CreateJ.cpp The .h file is still named ../include/org_apache_subversion_javahl_Revision.h This is probably left over from the old package. Running 'make clean-javahl' should get rid of it. -Hyrum
Re: svn commit: r1053915 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/
On Thu, Dec 30, 2010 at 2:18 PM, Blair Zajac bl...@orcaware.com wrote: On 12/30/10 7:24 AM, hwri...@apache.org wrote: Author: hwright Date: Thu Dec 30 15:24:02 2010 New Revision: 1053915 URL: http://svn.apache.org/viewvc?rev=1053915view=rev Log: Address issue #3670 by providing a byte-array interface for property setting and creation in JavaHL. This does not include a test (I'm hoping the bug reporter can provide one). This introduces overloaded versions of the propertySet() and propertyCreate() APIs. I'm tempted to remove the originals, but didn't want to update the tests in this commit. [ in subversion/bindings/javahl/ ] * native/SVNClient.h, native/SVNClient.cpp (propertySet): Use a byte array in place of a string to constuct the C-API inputs. * native/org_apache_subversion_javahl_SVNClient.cpp (Java_org_apache_subversion_javahl_SVNClient_propertySet): Take a byte array as input. * src/org/apache/subversion/javahl/SVNClient.java (propertySet, propertyCreate): Introduce versions of these APIs which take byte[] values. * src/org/apache/subversion/javahl/ISVNClient.java: (propertySet, propertyCreate): Same. Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp subversion/trunk/subversion/bindings/javahl/native/SVNClient.h subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=1053915r1=1053914r2=1053915view=diff == --- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original) +++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Thu Dec 30 15:24:02 2010 @@ -870,7 +870,7 @@ void SVNClient::properties(const char *p } void SVNClient::propertySet(const char *path, const char *name, - const char *value, svn_depth_t depth, + JNIByteArrayvalue, svn_depth_t depth, StringArraychangelists, bool force, RevpropTablerevprops, CommitCallback *callback) { @@ -879,10 +879,11 @@ void SVNClient::propertySet(const char * SVN_JNI_NULL_PTR_EX(name, name, ); svn_string_t *val; - if (value == NULL) + if (value.isNull()) val = NULL; else - val = svn_string_create(value, requestPool.pool()); + val = svn_string_ncreate((const char *)value.getBytes(), value.getLength(), Should this be value.getBytes(UTF-8)? + public void propertySet(String path, String name, String value, + Depth depth, CollectionString changelists, + boolean force, + MapString, String revpropTable, + CommitCallback callback) + throws ClientException + { + propertySet(path, name, value != null ? value.getBytes() : null, + depth, changelists, force, revpropTable, callback); And here? According to the Java docs: Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array. The platform's default may not be UTF-8. Thanks for the review, but both of these instances have been removed in subsequent commits. -Hyrum
Subversion 1.5.9 Released
I'm happy to announce the release of Subversion 1.5.9. This release is intended for users who are still running the 1.5 release line, and contains a number of stability and performance fixes to previous 1.5.x releases. This release does *not* contain all the bug fixes and features which are found in the most current release of Subversion, 1.6.15. Subversion 1.5.9 is available from: http://subversion.tigris.org/downloads/subversion-1.5.9.tar.bz2 http://subversion.tigris.org/downloads/subversion-1.5.9.tar.gz http://subversion.tigris.org/downloads/subversion-1.5.9.zip http://subversion.tigris.org/downloads/subversion-deps-1.5.9.tar.bz2 http://subversion.tigris.org/downloads/subversion-deps-1.5.9.tar.gz http://subversion.tigris.org/downloads/subversion-deps-1.5.9.zip The MD5 checksums are: d8de4f33decb9e608c8cfd43288ebe89 subversion-1.5.9.tar.bz2 973e87cd8aa64f44ed6b4e569c635abc subversion-1.5.9.tar.gz 77c879a1b78e26a521618659ec4798c4 subversion-1.5.9.zip 50b4559ad6cef3caa810b80f1c18679c subversion-deps-1.5.9.tar.bz2 1154485516cfb59db0f009b2d1a5c0cc subversion-deps-1.5.9.tar.gz 5c75a3209507ec9e2f4edce73003fb85 subversion-deps-1.5.9.zip The SHA1 checksums are: f2299e41be933cf0376a4c32e8c2807b9f3e709e subversion-1.5.9.tar.bz2 d755f97f82035add644495309c15d7ab9711c019 subversion-1.5.9.tar.gz 874235a6b79bfdb9a83fcb6f2066da7b1d9c0e4a subversion-1.5.9.zip 9a89bba0da49d73949d5182375901abb80408429 subversion-deps-1.5.9.tar.bz2 2948f4611c43a2f7c070da4ad868e02d36d111e1 subversion-deps-1.5.9.tar.gz fe8b20f2d94fc6d7f0892e334e9007b22a10cf22 subversion-deps-1.5.9.zip PGP Signatures are available at: http://subversion.tigris.org/downloads/subversion-1.5.9.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-1.5.9.tar.gz.asc http://subversion.tigris.org/downloads/subversion-1.5.9.zip.asc http://subversion.tigris.org/downloads/subversion-deps-1.5.9.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-deps-1.5.9.tar.gz.asc http://subversion.tigris.org/downloads/subversion-deps-1.5.9.zip.asc For this release, the following people have provided PGP signatures: C. Michael Pilato [1024D/1706FD6E] with fingerprint: 20BF 14DC F02F 2730 7EA4 C7BB A241 06A9 1706 FD6E Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.5.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.5.html You can find the list of changes between 1.5.9 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.5.9/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Apache Subversion 1.6.15 Released
I'm happy to announce Apache Subversion 1.6.15. This release contains several bug fixes, including two which can cause client-initiated crashes on the server. We encourage users to upgrade as soon as reasonable. Please note that Subversion 1.6.15 is the next release after Subversion 1.6.13. The 1.6.14 release was not published publicly, due to issues found during testing. Subversion 1.6.15 is available from: http://subversion.tigris.org/downloads/subversion-1.6.15.tar.bz2 http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz http://subversion.tigris.org/downloads/subversion-1.6.15.zip http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.bz2 http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz http://subversion.tigris.org/downloads/subversion-deps-1.6.15.zip The MD5 checksums are: 113fca1d9e4aa389d7dc2b210010fa69 subversion-1.6.15.tar.bz2 cd7d613d86eb6465fdaf0f34a6cfe9ec subversion-1.6.15.tar.gz 8471a65812c3e6de86945143ebcf7a4b subversion-1.6.15.zip 4aeb48233e62cf4afe9f5700ebed9150 subversion-deps-1.6.15.tar.bz2 db555a4c61cf928a99e10c9788a50149 subversion-deps-1.6.15.tar.gz 1d8c2d7f0e3d0cd8c8c79e7240effb1a subversion-deps-1.6.15.zip The SHA1 checksums are: b6fadf944a94b86f989f07bc2d781be41df017bf subversion-1.6.15.tar.bz2 e587227eff1cf86eec69336738a3aa38dae09dec subversion-1.6.15.tar.gz 61103b1b1a4b753e0cb645b73239f1a9873b0efe subversion-1.6.15.zip 29572d9d4e4a9bbcf6dab006011f5b1d411798b2 subversion-deps-1.6.15.tar.bz2 a29d2c13ad88272c01dc08bc62f88bc4cc53cd22 subversion-deps-1.6.15.tar.gz f267d63925408b052b79c90e06b8a8ee9afc7d2c subversion-deps-1.6.15.zip PGP Signatures are available at: http://subversion.tigris.org/downloads/subversion-1.6.15.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz.asc http://subversion.tigris.org/downloads/subversion-1.6.15.zip.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.15.zip.asc For this release, the following people have provided PGP signatures: Senthil Kumaran S [1024D/6CCD4038] with fingerprint: 8035 16A5 1D6E 50E2 1ECD DE56 F68D 46FB 6CCD 4038 Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Stefan Sperling [1024D/F59D25F0] with fingerprint: B1CF 1060 A1E9 34D1 9E86 D6D6 E5D3 0273 F59D 25F0 Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.6.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.6.html You can find the list of changes between 1.6.15 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.6.15/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Re: svn commit: r1035773 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ src/org/apache/subversion/javahl/type/
On Tue, Nov 16, 2010 at 2:19 PM, Blair Zajac bl...@orcaware.com wrote: On 11/16/10 12:06 PM, hwri...@apache.org wrote: Author: hwright Date: Tue Nov 16 20:06:56 2010 New Revision: 1035773 URL: http://svn.apache.org/viewvc?rev=1035773view=rev Log: JavaHL: Move the Tristate class into the type package. Hyrum, Using type as a package name will cause compile failures if the bindingds are used in a Scala program as type is a reserved word, so having it appear in an import statement will cause problems. I suggest renaming type to to types so it's not a keyword in Scala. Good suggestion. I'll effect this change RSN. -Hyrum
Re: svn commit: r1031265 - /subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py
Bert, If you get a minute, could you try this branch on Windows and see if the tests are still broken there? I've no way of testing this locally, and would like to get it merged back to trunk at some point. Thanks, -Hyrum On Thu, Nov 4, 2010 at 4:34 PM, hwri...@apache.org wrote: Author: hwright Date: Thu Nov 4 21:34:03 2010 New Revision: 1031265 URL: http://svn.apache.org/viewvc?rev=1031265view=rev Log: On the py-tests-as-modules branch: Fix running tests in parallel on this branch. * subversion/tests/cmdline/svntest/main.py (TestSpawningThread.run_one): Fix the path used to run the tests. Modified: subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py Modified: subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py?rev=1031265r1=1031264r2=1031265view=diff == --- subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py (original) +++ subversion/branches/py-tests-as-modules/subversion/tests/cmdline/svntest/main.py Thu Nov 4 21:34:03 2010 @@ -1114,7 +1114,7 @@ class TestSpawningThread(threading.Threa self.run_one(next_index) def run_one(self, index): - command = sys.argv[0] + command = os.path.join(os.getcwd(), sys.argv[0]) args = [] args.append(str(index))
Re: svn commit: r1001084 - /subversion/branches/object-model/subversion/bindings/c++/include/Types.h
On Fri, Sep 24, 2010 at 4:30 PM, Blair Zajac bl...@orcaware.com wrote: On 9/24/10 2:25 PM, hwri...@apache.org wrote: Author: hwright Date: Fri Sep 24 21:25:44 2010 New Revision: 1001084 URL: http://svn.apache.org/viewvc?rev=1001084view=rev Log: On the object-model branch: * subversion/bindings/c++/include/Types.h: (Lock): New wrapper for svn_lock_t. Modified: subversion/branches/object-model/subversion/bindings/c++/include/Types.h Modified: subversion/branches/object-model/subversion/bindings/c++/include/Types.h URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/include/Types.h?rev=1001084r1=1001083r2=1001084view=diff == --- subversion/branches/object-model/subversion/bindings/c++/include/Types.h (original) +++ subversion/branches/object-model/subversion/bindings/c++/include/Types.h Fri Sep 24 21:25:44 2010 @@ -172,6 +172,67 @@ class CommitInfo } }; +class Lock +{ + private: + Private::CStructWrapperLock, const svn_lock_t m_lock; Hi Hryum, The Google C++ code style has private sections at the end of the file: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Declaration_Order + inline const std::string + getPath() const + { + return std::string(m_lock-path); + } All the methods that return a const std::string can return a non-const std::string since the caller will get a copy of the string. This would also prevent callers from modifying the returned string, which is odd. Thanks for the review. I've addressed these two items in r1004422 and r1004423, respectively. -Hyrum
Re: svn commit: r1003585 - in /subversion/site/publish: index.html news.html
On Fri, Oct 1, 2010 at 12:10 PM, Blair Zajac bl...@orcaware.com wrote: On 10/01/2010 10:03 AM, hwri...@apache.org wrote: Author: hwright Date: Fri Oct 1 17:03:11 2010 New Revision: 1003585 URL: http://svn.apache.org/viewvc?rev=1003585view=rev Log: Announce Subversion 1.6.12. You mean 1.6.13? Yep. Fixed. -Hyrum
Re: svn commit: r998296 - /subversion/trunk/subversion/include/svn_client.h
On Wed, Sep 22, 2010 at 11:33 AM, Daniel Shahaf d...@daniel.shahaf.name wrote: And another stab: /** * Checkout a working copy from a repository. * * @param[out] result_rev * If non-NULL, the value of the revision checked out form * the repository [1]. (Useful when @a revision is of * a kind other than #svn_opt_revision_number.) * @param[in] URL The URL to checkout. * @param[in] peg_revision The revision to look up URL at. * @param[in] revision The revision of (URL,peg) to checkout. [2] * @param[in] path Where to create the new working copy. * @param[in] depth * Controls how many levels of file hierarchy to populate * in the new working copy. If #svn_depth_unknown, * then behave as for #svn_depth_infinity, except in the case * of resuming a previous checkout of @a path (i.e., updating), * in which case use the depth of the existing working copy. * @param[in] ignore_externals * If @c TRUE, don't process externals definitions as part * of this operation. * �...@see SVN_PROP_EXTERNALS * @param[in] allow_unver_obstructions * If @c TRUE, then tolerate existing * unversioned items that obstruct incoming paths. 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 checkout. Working properties of obstructing items are * set equal to the base properties. br (huh? working props? base props? come again?) This is copied directly from the previous docstring. My hope is that the new format helps us highlight (and fix) deficiencies such as this one. * If @c FALSE, then raise an error if there are any unversioned * obstructing items. * @param[in] ctx * The standard client context, used for authentication and * notification. * * @return A pointer to an #svn_error_t of the type (this list is not * exhaustive): br * #SVN_ERR_UNSUPPORTED_FEATURE if @a URL refers to a file rather * than a directory; br * #SVN_ERR_RA_ILLEGAL_URL if @a URL does not exist; br * #SVN_ERR_CLIENT_BAD_REVISION if @a revision is not one of * #svn_opt_revision_number, #svn_opt_revision_head, or * #svn_opt_revision_date. br * If no error occurred, return #SVN_NO_ERROR. * * @since New in 1.5. * * @see #svn_depth_t br #svn_client_ctx_t br @ref clnt_revisions for * a discussion of operative and peg revisions. */ svn_error_t * svn_client_checkout3(svn_revnum_t *result_rev, const char *URL, const char *path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_depth_t depth, svn_boolean_t ignore_externals, svn_boolean_t allow_unver_obstructions, svn_client_ctx_t *ctx, apr_pool_t *scratch_pool); [1] For the [out] parameter, can we have @param[out,optional] and @param[out,mandatory] notations, or do we have to say may be NULL in the prose?) @param[out] is part of the doxygen markup (not just some arbitrary notation). I don't know what it would do in the face of extra values (see http://www.stack.nl/~dimitri/doxygen/commands.html#cmdparam) [2] How about introducing: struct svn_ra_node_t { const char *repos_relpath; svn_revnum_t peg; }; struct svn_client_node_t { const char *path_or_URL; svn_opt_revision_t *peg; }; (that will also help make the docstrings clearer) You'd probably want to the revision in there too, much like we do for svn_client_copy_source_t. Both the peg revision and the operative revision are used to specify a node (though in the absence of one, the default is generally the other, I think). -Hyrum
Re: svn commit: r998296 - /subversion/trunk/subversion/include/svn_client.h
On Wed, Sep 22, 2010 at 8:40 PM, Daniel Shahaf d...@daniel.shahaf.name wrote: Hyrum Wright wrote on Wed, Sep 22, 2010 at 12:08:41 +0100: On Wed, Sep 22, 2010 at 11:33 AM, Daniel Shahaf d...@daniel.shahaf.name wrote: [1] For the [out] parameter, can we have @param[out,optional] and @param[out,mandatory] notations, or do we have to say may be NULL in the prose?) @param[out] is part of the doxygen markup (not just some arbitrary notation). I don't know what it would do in the face of extra values (see http://www.stack.nl/~dimitri/doxygen/commands.html#cmdparam) Well, the [mandatory] and [optional] could be a nice extension to that syntax. Agreed, though I'm not sure the doxygen parser would handle it. [2] How about introducing: struct svn_ra_node_t { const char *repos_relpath; svn_revnum_t peg; }; struct svn_client_node_t { const char *path_or_URL; svn_opt_revision_t *peg; }; (that will also help make the docstrings clearer) You'd probably want to the revision in there too, much like we do for svn_client_copy_source_t. Both the peg revision and the operative revision are used to specify a node (though in the absence of one, the default is generally the other, I think). Yeah, I can argue to have those structs both with/without the operative revision in them. Either way, what I had in mind was using these structs in APIs instead of having separate 'path' and 'peg_revision' arguments. This will simplify docstrings (we can say the node instead of the path as it existed at the peg revision), and it's logically correct too (represent logical tuples as structs: the 'node', as one unit, is the target of the operation). Quick thought: are there APIs which take an array of target paths/urls, but only a single peg/operative revision pair? Would these need yet another struct? -Hyrum
Re: svn commit: r998296 - /subversion/trunk/subversion/include/svn_client.h
On Tue, Sep 21, 2010 at 10:25 PM, Daniel Shahaf d...@daniel.shahaf.name wrote: hwri...@apache.org wrote on Fri, Sep 17, 2010 at 20:04:53 -: Author: hwright Date: Fri Sep 17 20:04:53 2010 New Revision: 998296 URL: http://svn.apache.org/viewvc?rev=998296view=rev Log: * subversion/include/svn_client.h (svn_client_cat2): Rewrite docstring (see r997639). Modified: subversion/trunk/subversion/include/svn_client.h Modified: subversion/trunk/subversion/include/svn_client.h URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=998296r1=998295r2=998296view=diff == --- subversion/trunk/subversion/include/svn_client.h (original) +++ subversion/trunk/subversion/include/svn_client.h Fri Sep 17 20:04:53 2010 @@ -322,6 +322,10 @@ svn_client_get_ssl_client_cert_pw_prompt * * A brief word on operative and peg revisions. * + * If the kind of the peg revision is #svn_opt_revision_unspecified, then it + * defaults to #svn_opt_revision_head for URLs and #svn_opt_revision_working + * for local paths. + * * For deeper insight, please see the * a href=http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html; * Peg and Operative Revisions/a section of the Subversion Book. @@ -4687,26 +4691,30 @@ svn_client_ls(apr_hash_t **dirents, */ /** - * Output the content of file identified by @a path_or_url and @a - * revision to the stream @a out. The actual node revision selected - * is determined by the path as it exists in @a peg_revision. If @a - * peg_revision-kind is #svn_opt_revision_unspecified, then it defaults - * to #svn_opt_revision_head for URLs or #svn_opt_revision_working - * for WC targets. - * - * If @a path_or_url is not a local path, then if @a revision is of - * kind #svn_opt_revision_previous (or some other kind that requires - * a local path), an error will be returned, because the desired - * revision cannot be determined. - * - * Use the authentication baton cached in @a ctx to authenticate against the - * repository. + * Output the content of a file. + * + * @param[in] out The stream to which the content will be written. + * @param[in] path_or_url The path or URL of the file. + * @param[in] peg_revision The peg revision. + * @param[in] revision The operative revision. + * @param[in] ctx The standard client context, used for possible + * authentication. + * @param[in] pool Used for any temporary allocation. * - * Perform all allocations from @a pool. Sorry, but I like the old style better. I could read it and actually understand what the function does; whereas text like * Output the content of a file. This is *exactly* what the function does, without all the extra fluff. Everything else is just modifying behavior, several pieces of which are common to many of our APIs, and so should have that documentation extracted and linked to. I'm just trying to save the effort of reading five paragraphs of prose to find out what a single boolean argument does. The other problem is that the prose can make it hard to pick up on inconsistent behavior, when something (such as depth defaults) isn't the same between APIs. * * @param[in] out The stream to which the content will be written. * @param[in] path_or_url The path or URL of the file. * @param[in] peg_revision The peg revision. tells me virtually nothing more than the signature does. That being said, improvements are welcome, or we can just revert what I've already done. -Hyrum
Re: svn commit: r997639 - /subversion/trunk/subversion/include/svn_client.h
On Thu, Sep 16, 2010 at 12:04 PM, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: hwri...@apache.org [mailto:hwri...@apache.org] Sent: donderdag 16 september 2010 10:24 To: comm...@subversion.apache.org Subject: svn commit: r997639 - /subversion/trunk/subversion/include/svn_client.h Author: hwright Date: Thu Sep 16 08:23:54 2010 New Revision: 997639 + * than a directory; br + * #SVN_ERR_RA_ILLEGAL_URL if @a URL does not exist; br + * #SVN_ERR_CLIENT_BAD_REVISION if @a revision is not one of + * #svn_opt_revision_number, #svn_opt_revision_head, or + * #svn_opt_revision_date; br + * #SVN_NO_ERROR otherwise. And after reading this as just an API user, how would you expect authorization, network, filesystem and/or other errors to be reported? The old documentation documented a few specific errors and left the rest open. This new documentation would tell me that we never report other errors then this short (incomplete) list, while just checking out over an existing working copy from a different repository will give an error that is not in this list. And this function returns an svn_error_t* which (when not NULL) can contain those error codes, or can be NULL/SVN_NO_ERROR. SVN_NO_ERROR and the specific error codes should not be in the same list without some separation. All good points. Are you suggesting that the newer format is worse than, or simply maintains the status quo from the older format? The user would have been equally surprised with the prior docstring, or maybe this just highlights how poorly we do at documenting potential error conditions. What would you suggest to improve this documentation? (And of course, feel free to edit it directly.) -Hyrum
Re: svn commit: r995478 [1/2] - in /subversion/branches/performance: ./ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversion/bindings/javahl/src/o
On Thu, Sep 9, 2010 at 10:59 AM, hwri...@apache.org wrote: Author: hwright Date: Thu Sep 9 15:59:00 2010 New Revision: 995478 URL: http://svn.apache.org/viewvc?rev=995478view=rev Log: On the performance branch: Bring up-to-date with trunk. ... Modified: subversion/branches/performance/subversion/libsvn_subr/io.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/io.c?rev=995478r1=995477r2=995478view=diff == --- subversion/branches/performance/subversion/libsvn_subr/io.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/io.c Thu Sep 9 15:59:00 2010 @@ -1076,14 +1076,19 @@ svn_error_t *svn_io_file_create(const ch { apr_file_t *f; apr_size_t written; + svn_error_t *err; SVN_ERR(svn_io_file_open(f, file, (APR_WRITE | APR_CREATE | APR_EXCL), APR_OS_DEFAULT, pool)); - SVN_ERR(svn_io_file_write_full(f, contents, strlen(contents), - written, pool)); - return svn_io_file_close(f, pool); + err= svn_io_file_write_full(f, contents, strlen(contents), + written, pool); + + + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(f, pool))); } svn_error_t *svn_io_dir_file_copy(const char *src_path, @@ -2952,12 +2957,19 @@ svn_io_write_unique(const char **tmp_pat apr_pool_t *pool) { apr_file_t *new_file; + svn_error_t *err; SVN_ERR(svn_io_open_unique_file3(new_file, tmp_path, dirpath, delete_when, pool, pool)); - SVN_ERR(svn_io_file_write_full(new_file, buf, nbytes, NULL, pool)); - SVN_ERR(svn_io_file_flush_to_disk(new_file, pool)); - return svn_io_file_close(new_file, pool); + + err = svn_io_file_write_full(new_file, buf, nbytes, NULL, pool); + + if (!err) + err = svn_io_file_flush_to_disk(new_file, pool); + + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(new_file, pool))); } @@ -3521,15 +3533,17 @@ svn_io_read_version_file(int *version, apr_file_t *format_file; char buf[80]; apr_size_t len; + svn_error_t *err; /* Read a chunk of data from PATH */ SVN_ERR(svn_io_file_open(format_file, path, APR_READ, APR_OS_DEFAULT, pool)); len = sizeof(buf); - SVN_ERR(svn_io_file_read(format_file, buf, len, pool)); + err = svn_io_file_read(format_file, buf, len, pool); /* Close the file. */ - SVN_ERR(svn_io_file_close(format_file, pool)); + SVN_ERR(svn_error_compose_create(err, + svn_io_file_close(format_file, pool))); /* If there was no data in PATH, return an error. */ if (len == 0) @@ -3556,7 +3570,7 @@ svn_io_read_version_file(int *version, } /* Convert to integer. */ - *version = atoi(buf); + SVN_ERR(svn_cstring_atoi(version, buf)); return SVN_NO_ERROR; } @@ -3570,40 +3584,65 @@ contents_identical_p(svn_boolean_t *iden const char *file2, apr_pool_t *pool) { + svn_error_t *err; apr_size_t bytes_read1, bytes_read2; char *buf1 = apr_palloc(pool, SVN__STREAM_CHUNK_SIZE); char *buf2 = apr_palloc(pool, SVN__STREAM_CHUNK_SIZE); apr_file_t *file1_h = NULL; apr_file_t *file2_h = NULL; + svn_boolean_t done1 = FALSE; + svn_boolean_t done2 = FALSE; SVN_ERR(svn_io_file_open(file1_h, file1, APR_READ, APR_OS_DEFAULT, pool)); - SVN_ERR(svn_io_file_open(file2_h, file2, APR_READ, APR_OS_DEFAULT, - pool)); + + err = svn_io_file_open(file2_h, file2, APR_READ, APR_OS_DEFAULT, + pool); + + if (err) + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(file1_h, pool))); *identical_p = TRUE; /* assume TRUE, until disproved below */ - do + while (! (done1 || done2)) { - SVN_ERR(svn_io_file_read_full2(file1_h, buf1, - SVN__STREAM_CHUNK_SIZE, bytes_read1, - TRUE, pool)); - SVN_ERR(svn_io_file_read_full2(file2_h, buf2, - SVN__STREAM_CHUNK_SIZE, bytes_read2, - TRUE, pool)); + err = svn_io_file_read_full(file1_h, buf1, + SVN__STREAM_CHUNK_SIZE, bytes_read1, pool); Stefan, This call, and the one following, needed to revert back to svn_io_file_read_full(), since read_full2() was being stuck in an infinite loop. Perhaps you can investigate? + if (err
Re: svn commit: r995478 [1/2] - in /subversion/branches/performance: ./ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversion/bindings/javahl/src/o
On Thu, Sep 9, 2010 at 4:34 PM, Stefan Fuhrmann stefanfuhrm...@alice-dsl.de wrote: Hyrum Wright wrote: On Thu, Sep 9, 2010 at 10:59 AM, hwri...@apache.org wrote: Author: hwright Date: Thu Sep 9 15:59:00 2010 New Revision: 995478 URL: http://svn.apache.org/viewvc?rev=995478view=rev Log: On the performance branch: Bring up-to-date with trunk. ... Modified: subversion/branches/performance/subversion/libsvn_subr/io.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/io.c?rev=995478r1=995477r2=995478view=diff == --- subversion/branches/performance/subversion/libsvn_subr/io.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/io.c Thu Sep 9 15:59:00 2010 @@ -1076,14 +1076,19 @@ svn_error_t *svn_io_file_create(const ch { apr_file_t *f; apr_size_t written; + svn_error_t *err; SVN_ERR(svn_io_file_open(f, file, (APR_WRITE | APR_CREATE | APR_EXCL), APR_OS_DEFAULT, pool)); - SVN_ERR(svn_io_file_write_full(f, contents, strlen(contents), - written, pool)); - return svn_io_file_close(f, pool); + err= svn_io_file_write_full(f, contents, strlen(contents), + written, pool); + + + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(f, pool))); } svn_error_t *svn_io_dir_file_copy(const char *src_path, @@ -2952,12 +2957,19 @@ svn_io_write_unique(const char **tmp_pat apr_pool_t *pool) { apr_file_t *new_file; + svn_error_t *err; SVN_ERR(svn_io_open_unique_file3(new_file, tmp_path, dirpath, delete_when, pool, pool)); - SVN_ERR(svn_io_file_write_full(new_file, buf, nbytes, NULL, pool)); - SVN_ERR(svn_io_file_flush_to_disk(new_file, pool)); - return svn_io_file_close(new_file, pool); + + err = svn_io_file_write_full(new_file, buf, nbytes, NULL, pool); + + if (!err) + err = svn_io_file_flush_to_disk(new_file, pool); + + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(new_file, pool))); } @@ -3521,15 +3533,17 @@ svn_io_read_version_file(int *version, apr_file_t *format_file; char buf[80]; apr_size_t len; + svn_error_t *err; /* Read a chunk of data from PATH */ SVN_ERR(svn_io_file_open(format_file, path, APR_READ, APR_OS_DEFAULT, pool)); len = sizeof(buf); - SVN_ERR(svn_io_file_read(format_file, buf, len, pool)); + err = svn_io_file_read(format_file, buf, len, pool); /* Close the file. */ - SVN_ERR(svn_io_file_close(format_file, pool)); + SVN_ERR(svn_error_compose_create(err, + svn_io_file_close(format_file, pool))); /* If there was no data in PATH, return an error. */ if (len == 0) @@ -3556,7 +3570,7 @@ svn_io_read_version_file(int *version, } /* Convert to integer. */ - *version = atoi(buf); + SVN_ERR(svn_cstring_atoi(version, buf)); return SVN_NO_ERROR; } @@ -3570,40 +3584,65 @@ contents_identical_p(svn_boolean_t *iden const char *file2, apr_pool_t *pool) { + svn_error_t *err; apr_size_t bytes_read1, bytes_read2; char *buf1 = apr_palloc(pool, SVN__STREAM_CHUNK_SIZE); char *buf2 = apr_palloc(pool, SVN__STREAM_CHUNK_SIZE); apr_file_t *file1_h = NULL; apr_file_t *file2_h = NULL; + svn_boolean_t done1 = FALSE; + svn_boolean_t done2 = FALSE; SVN_ERR(svn_io_file_open(file1_h, file1, APR_READ, APR_OS_DEFAULT, pool)); - SVN_ERR(svn_io_file_open(file2_h, file2, APR_READ, APR_OS_DEFAULT, - pool)); + + err = svn_io_file_open(file2_h, file2, APR_READ, APR_OS_DEFAULT, + pool); + + if (err) + return svn_error_return( + svn_error_compose_create(err, + svn_io_file_close(file1_h, pool))); *identical_p = TRUE; /* assume TRUE, until disproved below */ - do + while (! (done1 || done2)) { - SVN_ERR(svn_io_file_read_full2(file1_h, buf1, - SVN__STREAM_CHUNK_SIZE, bytes_read1, - TRUE, pool)); - SVN_ERR(svn_io_file_read_full2(file2_h, buf2, - SVN__STREAM_CHUNK_SIZE, bytes_read2, - TRUE, pool)); + err = svn_io_file_read_full(file1_h, buf1, + SVN__STREAM_CHUNK_SIZE, bytes_read1, pool); Stefan, This call, and the one following, needed to revert back to svn_io_file_read_full(), since read_full2() was being stuck in an infinite
Re: svn commit: r990916 - in /subversion/trunk/subversion/bindings/javahl/native: ClientContext.cpp ClientContext.h
On Mon, Aug 30, 2010 at 2:37 PM, hwri...@apache.org wrote: Author: hwright Date: Mon Aug 30 19:37:05 2010 New Revision: 990916 URL: http://svn.apache.org/viewvc?rev=990916view=rev Log: JavaHL: Create a persistent C client context, in order to reuse the working copy context between client API invocations. Note: This introduces a test failure which I believe to be a manifestation of a bug in wc-ng. For the interested, this is the test failure: [[[ hwri...@orac:~/dev/svn-trunk2$ make check-javahl /usr/lib/jvm/java-6-openjdk//bin/java -Dtest.rootdir=/home/hwright/dev/svn-trunk2/subversion/bindings/javahl/test-work -Dtest.srcdir=/home/hwright/dev/svn-trunk2/subversion/bindings/javahl -Dtest.rooturl= -Dtest.fstype= -Djava.library.path=subversion/bindings/javahl/native/.libs:/usr/local/lib -classpath subversion/bindings/javahl/classes:/home/hwright/dev/svn-trunk2/subversion/bindings/javahl/src:/usr/share/java/junit.jar -Dtest.tests= org.apache.subversion.javahl.RunTests ..E... ... Time: 26.083 There was 1 error: 1) testBasicRevert(org.apache.subversion.javahl.BasicTests)org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir svn: Working copy '/home/hwright/dev/svn-trunk2/subversion/bindings/javahl/test-work/working_copies/basic_test19/X' locked SQLite error svn: disk I/O error svn: disk I/O error svn: cannot rollback - no transaction is active Working copy not locked; this is probably a bug, please report svn: Working copy not locked at '/home/hwright/dev/svn-trunk2/subversion/bindings/javahl/test-work/working_copies/basic_test19/X'. at native.subversion.libsvn_wc(wc_db.c:8481) at native.subversion.libsvn_subr(sqlite.c:118) at native.subversion.libsvn_subr(sqlite.c:513) at native.subversion.libsvn_subr(sqlite.c:211) at native.subversion.libsvn_wc(wc_db.c:8276) at native.subversion.libsvn_subr(sqlite.c:118) at native.subversion.libsvn_wc(lock.c:1655) at native.subversion.libsvn_wc(lock.c:1639) at native.subversion.libsvn_wc(lock.c:1744) at native.subversion.libsvn_wc(lock.c:1844) at native.subversion.libsvn_client(revert.c:176) at org.apache.subversion.javahl.SVNClient.revert(Native Method) at org.apache.subversion.javahl.BasicTests.testBasicRevert(BasicTests.java:1332) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.subversion.javahl.RunTests.main(RunTests.java:116) FAILURES!!! Tests run: 52, Failures: 0, Errors: 1 make: *** [check-javahl] Error 1 hwri...@orac:~/dev/svn-trunk2$ ]]] I believe it to be a legitimate bug, not only because the client APIs are being used in a completely reasonable way, but also because the output told me so. :) -Hyrum
Re: svn commit: r984208 - /subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c
On Wed, Aug 11, 2010 at 3:15 AM, Julian Foad julian.f...@wandisco.com wrote: On Tue, 2010-08-10, hwri...@apache.org wrote: Author: hwright Date: Tue Aug 10 20:59:29 2010 New Revision: 984208 URL: http://svn.apache.org/viewvc?rev=984208view=rev Log: On the ignore-mergeinfo branch: Fix a cast which was causing a segfault in stat test 32 as a result of the merge in r984206. Modified: subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c Modified: subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c?rev=984208r1=984207r2=984208view=diff == --- subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c (original) +++ subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c Tue Aug 10 20:59:29 2010 @@ -127,7 +127,7 @@ tweak_status(void *baton, if (ignore) { - ((svn_wc_status2_t *) status)-prop_status = svn_wc_status_normal; + ((svn_wc_status3_t *) status)-prop_status = svn_wc_status_normal; if (!svn_wc__is_sendable_status(status, sb-no_ignore, sb-get_all)) return SVN_NO_ERROR; I haven't looked fully, but is a cast really necessary? svn_wc__is_sendable_status() takes a (svn_wc_status3_t *) as its first param, so isn't 'status' already the right type? This is casting away const, so we can do the manipulation to fool svn_wc__is_senable_status() into thinking the props weren't modified. That being said, the current state of the branch (merged up to r96) is such that svn_wc__is_sendable_status() no longer looks at prop_status, instead just looking at the node_status. End result: this line will go away, replaced with something which digs a bit deeper to determine what the appropriate node_status should be. I'll also probably end up doing a shallow copy of the status struct (if needed) to avoid modifying a const. Thanks for the review. -Hyrum
Re: Perl API SVN::Ra get_commit_editor* functions broken, missing, untested
On Mon, Jul 12, 2010 at 8:19 AM, Markus Kuhn markus.k...@cl.cam.ac.uk wrote: BUG REPORT: The test cases for the Perl API SVN::Ra at http://svn.apache.org/repos/asf/subversion/trunk/subversion/bindings/swig/perl/native/t/6ra.t currently lack tests for any of the functions needed to commit a change to the repository via the remote-access API layer. For starters, there are no tests for get_commit_editor, get_commit_editor2, get_commit_editor3. (The SVN::Ra man page even says that the author did not succeed in testing these functions ...) When I try to use e.g. get_commit_editor2 as suggested in the SVN::Ra man page, I just get an error message like TypeError in method 'svn_ra_get_commit_editor2', argument 5 of type 'svn_commit_callback2_t' A short example Perl script that reproduces this is attached below. Motivation: The remote-access layer API is very useful for applications (such as Web CGI editors) that want to commit changes without the overhead and disk-state involved with having to checkout a working directory first. Perl remains a popular CGI scripting language, which makes a well-tested, production-quality Perl SWIG binding for svn_ra.h highly desirable. See also: http://mail-archives.apache.org/mod_mbox/subversion-users/201007.mbox/browser Markus, Thanks for your interest in the Perl bindings. I agree that having full and functioning Perl bindings is highly desirable, but unfortunately, there aren't any active developers with the expertise or time to maintain them properly. As such, the Perl bindings haven't been updated in quite some time. It appears that you have some idea of what needs to be done, would you like to try your hand at improving the Perl bindings? Thanks, -Hyrum
Subversion 1.6.12 Released
I'm happy to announce Subversion 1.6.12, available from: http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2 http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz http://subversion.tigris.org/downloads/subversion-1.6.12.zip http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.bz2 http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz http://subversion.tigris.org/downloads/subversion-deps-1.6.12.zip The MD5 checksums are: a4b1d0d7f3a4587c59da9c1acf9dedd0 subversion-1.6.12.tar.bz2 ae008ac355581c90494fba86cbfc3413 subversion-1.6.12.tar.gz bca3aeec62d8f1185ec5d4dd24c00675 subversion-1.6.12.zip 41a91aa26980236958ec508807003203 subversion-deps-1.6.12.tar.bz2 90f3422dffa659c3d2711fb9354f6cb6 subversion-deps-1.6.12.tar.gz e3474f3ba6b0868d2847595fbf472e42 subversion-deps-1.6.12.zip The SHA1 checksums are: b4ae7c75abbbdade8b2c9122ca7e2e26c6468a82 subversion-1.6.12.tar.bz2 540ceebdc46721032f772bd713acc28496ec4ab8 subversion-1.6.12.tar.gz 35a6c5f9b24ccb61aad67d3c179270c706354971 subversion-1.6.12.zip b34772925366a82851752322e005a24a9e96ad0c subversion-deps-1.6.12.tar.bz2 9259af728425808cbf84a286555fc2d30a843eeb subversion-deps-1.6.12.tar.gz 60f6c5b623e226b2be0d15c0189700d62a7b8918 subversion-deps-1.6.12.zip PGP Signatures are available at: http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz.asc http://subversion.tigris.org/downloads/subversion-1.6.12.zip.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.bz2.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz.asc http://subversion.tigris.org/downloads/subversion-deps-1.6.12.zip.asc For this release, the following people have provided PGP signatures: Senthil Kumaran S [1024D/6CCD4038] with fingerprint: 8035 16A5 1D6E 50E2 1ECD DE56 F68D 46FB 6CCD 4038 Philip Martin [2048R/ED1A599C] with fingerprint: A844 790F B574 3606 EE95 9207 76D7 88E1 ED1A 599C Paul T. Burba [1024D/53FCDC55] with fingerprint: E630 CF54 792C F913 B13C 32C5 D916 8930 53FC DC55 Arfrever Frehtes Taifersar Arahesis [4096R/7394B7E0] with fingerprint: 58BA 3F93 2C86 9DC4 AFF2 D33C 5537 FF0D 7394 B7E0 Julian Foad [1024D/353E25BC] with fingerprint: 6604 5A4B 43BC F994 5728 351F 33E4 353E 25BC Bert Huijben [1024D/9821F7B2] with fingerprint: 2017 F51A 2572 0E78 8827 5329 FCFD 6305 9821 F7B2 Hyrum K. Wright [1024D/4E24517C] with fingerprint: 3324 80DA 0F8C A37D AEE6 D084 0B03 AE6E 4E24 517C Mark Phippard [1024D/035A96A9] with fingerprint: D315 89DB E1C1 E9BA D218 39FD 265D F8A0 035A 96A9 Release notes for the 1.6.x release series may be found at: http://subversion.apache.org/docs/release-notes/1.6.html You can find the list of changes between 1.6.12 and earlier versions at: http://svn.apache.org/repos/asf/subversion/tags/1.6.12/CHANGES Questions, comments, and bug reports to us...@subversion.apache.org. Thanks, - The Subversion Team
Re: deprecate all of svn_wc.h ?
On Thu, Apr 8, 2010 at 10:02 PM, Greg Stein gst...@gmail.com wrote: Hey all, It has come up a few times on IRC discussions: we should never have exposed libsvn_wc, just libsvn_client. Well, we've already exposed it, so we need to at least keep that stuff around. But moving forward... should new functions continue to be exposed? Or should all new functions go into svn_wc_private.h? This question is (probably) directed at our (GUI) client developers. Do you ever use WC functions? And if you do, then which ones? Where is svn_client.h insufficient, leading you to use svn_wc.h APIs? Note: I think the separation is a Good Thing, for our benefit, but we don't necessarily have to expose the WC layer to downstream developers. I am not a GUI client developer. That being said: I don't think we should deprecate svn_wc.h until 2.0. Don't get me wrong: I would like to dump all that stuff and not have to worry about holding on to backward compat for new wc APIs going forward. I'm just concerned that junking stuff now would result in mass confusion when rev'ing stuff in svn_wc.h. For instance, all the notification types are defined as svn_wc_notify_*. If we deprecate svn_wc.h, what happens when we need to add another notification type in 1.8? It seems like a lot of work for whoever that unfortunate soul happens to be. You rightly point out that things are a mess in the interface between libsvn_client and libsvn_wc right now. To really fix the problem, we need to examine the interfaces, and move stuff there it more appropriately belongs (e.g., notification should be it's own subsystem, *not* part of libsvn_wc). Whenever 2.0 happens, it will give us the chance to do that, but fulling deprecating svn_wc.h right now is just a band-aid over a much deeper problem, and will make things even worse. -Hyrum
Re: svn commit: r931918 - /subversion/trunk/subversion/libsvn_client/merge.c
And with this change, there are no more adm_access_t's in libsvn_client. Yay! On Thu, Apr 8, 2010 at 7:56 AM, philip phi...@apache.org wrote: Author: philip Date: Thu Apr 8 12:56:16 2010 New Revision: 931918 URL: http://svn.apache.org/viewvc?rev=931918view=rev Log: Remove an access baton from client merge. * subversion/libsvn_client/merge.c (merge_reintegrate_locked): Renamed from svn_client_merge_reintegrate, parameter target_wcpath renamed to target_abspath, parameter pool renamed to scratch_pool, remove access baton. (struct merge_reintegrate_baton, merge_reintegrate_cb): New (svn_client_merge_reintegrate): Gutted, uses svn_wc__call_with_write_lock. Modified: subversion/trunk/subversion/libsvn_client/merge.c ...