| <!DOCTYPE html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| |
| <!-- No caching headers --> |
| <meta http-equiv="cache-control" content="no-cache"/> |
| <meta http-equiv="pragma" content="no-cache"/> |
| <meta http-equiv="expires" content="-1"/> |
| <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/> |
| <meta name="description" content="Apache JDO - Java Data Objects"/> |
| |
| <title>JDO Source Code</title> |
| |
| <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/> |
| |
| <!-- |
| Apache JDO Documentation Template |
| ================================== |
| This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template. |
| This template uses |
| * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar. |
| * Asciidoctor "foundation" CSS |
| * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo). |
| * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents. |
| * jQuery (necessary for Bootstrap's JavaScript plugins) |
| * Font-Awesome for some icons used by Asciidoctor |
| NOTE: tried using Font-Awesome CSS hosted locally but then fails to work! |
| --> |
| <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/> |
| <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/> |
| |
| <link href="css/asciidoctor/foundation.css" rel="stylesheet"/> |
| <link href="css/datanucleus_theme.css" rel="stylesheet"/> |
| <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> |
| <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script> |
| <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script> |
| |
| <!-- Coderay syntax formatter --> |
| <style type="text/css"> |
| /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */ |
| /*pre.CodeRay {background-color:#f7f7f8;}*/ |
| .CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em} |
| .CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)} |
| .CodeRay .line-numbers strong{color:rgba(0,0,0,.4)} |
| table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none} |
| table.CodeRay td{vertical-align: top;line-height:1.45} |
| table.CodeRay td.line-numbers{text-align:right} |
| table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)} |
| table.CodeRay td.code{padding:0 0 0 .5em} |
| table.CodeRay td.code>pre{padding:0} |
| .CodeRay .debug{color:#fff !important;background:#000080 !important} |
| .CodeRay .annotation{color:#007} |
| .CodeRay .attribute-name{color:#000080} |
| .CodeRay .attribute-value{color:#700} |
| .CodeRay .binary{color:#509} |
| .CodeRay .comment{color:#998;font-style:italic} |
| .CodeRay .char{color:#04d} |
| .CodeRay .char .content{color:#04d} |
| .CodeRay .char .delimiter{color:#039} |
| .CodeRay .class{color:#458;font-weight:bold} |
| .CodeRay .complex{color:#a08} |
| .CodeRay .constant,.CodeRay .predefined-constant{color:#008080} |
| .CodeRay .color{color:#099} |
| .CodeRay .class-variable{color:#369} |
| .CodeRay .decorator{color:#b0b} |
| .CodeRay .definition{color:#099} |
| .CodeRay .delimiter{color:#000} |
| .CodeRay .doc{color:#970} |
| .CodeRay .doctype{color:#34b} |
| .CodeRay .doc-string{color:#d42} |
| .CodeRay .escape{color:#666} |
| .CodeRay .entity{color:#800} |
| .CodeRay .error{color:#808} |
| .CodeRay .exception{color:inherit} |
| .CodeRay .filename{color:#099} |
| .CodeRay .function{color:#900;font-weight:bold} |
| .CodeRay .global-variable{color:#008080} |
| .CodeRay .hex{color:#058} |
| .CodeRay .integer,.CodeRay .float{color:#099} |
| .CodeRay .include{color:#555} |
| .CodeRay .inline{color:#000} |
| .CodeRay .inline .inline{background:#ccc} |
| .CodeRay .inline .inline .inline{background:#bbb} |
| .CodeRay .inline .inline-delimiter{color:#d14} |
| .CodeRay .inline-delimiter{color:#d14} |
| .CodeRay .important{color:#555;font-weight:bold} |
| .CodeRay .interpreted{color:#b2b} |
| .CodeRay .instance-variable{color:#008080} |
| .CodeRay .label{color:#970} |
| .CodeRay .local-variable{color:#963} |
| .CodeRay .octal{color:#40e} |
| .CodeRay .predefined{color:#369} |
| .CodeRay .preprocessor{color:#579} |
| .CodeRay .pseudo-class{color:#555} |
| .CodeRay .directive{font-weight:bold} |
| .CodeRay .type{font-weight:bold} |
| .CodeRay .predefined-type{color:inherit} |
| .CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold} |
| .CodeRay .key{color:#808} |
| .CodeRay .key .delimiter{color:#606} |
| .CodeRay .key .char{color:#80f} |
| .CodeRay .value{color:#088} |
| .CodeRay .regexp .delimiter{color:#808} |
| .CodeRay .regexp .content{color:#808} |
| .CodeRay .regexp .modifier{color:#808} |
| .CodeRay .regexp .char{color:#d14} |
| .CodeRay .regexp .function{color:#404;font-weight:bold} |
| .CodeRay .string{color:#d20} |
| .CodeRay .string .string .string{background:#ffd0d0} |
| .CodeRay .string .content{color:#d14} |
| .CodeRay .string .char{color:#d14} |
| .CodeRay .string .delimiter{color:#d14} |
| .CodeRay .shell{color:#d14} |
| .CodeRay .shell .delimiter{color:#d14} |
| .CodeRay .symbol{color:#990073} |
| .CodeRay .symbol .content{color:#a60} |
| .CodeRay .symbol .delimiter{color:#630} |
| .CodeRay .tag{color:#008080} |
| .CodeRay .tag-special{color:#d70} |
| .CodeRay .variable{color:#036} |
| .CodeRay .insert{background:#afa} |
| .CodeRay .delete{background:#faa} |
| .CodeRay .change{color:#aaf;background:#007} |
| .CodeRay .head{color:#f8f;background:#505} |
| .CodeRay .insert .insert{color:#080} |
| .CodeRay .delete .delete{color:#800} |
| .CodeRay .change .change{color:#66f} |
| .CodeRay .head .head{color:#f4f} |
| </style> |
| </head> |
| <body data-spy="scroll" data-target="#toc"> |
| <!-- Navbar --> |
| <nav class="navbar navbar-default navbar-static-top"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <!-- Three line menu button for use on mobile screens --> |
| <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <!-- 'style' added to align image with navbar. FIX THIS --> |
| <a class="navbar-brand" href="https://db.apache.org/jdo/"> |
| <img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/> |
| </a> |
| <!-- TODO Any way to abstract the version from Maven? --> |
| <a class="navbar-brand" href="index.html">Apache JDO</a> |
| </div> |
| <!-- Navbar that will collapse on mobile screens --> |
| <div id="navbar" class="navbar-collapse collapse"> |
| <ul class="nav navbar-nav"> |
| <li class="dropdown"> |
| |
| <!-- menu item General --> |
| |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="why_jdo.html">Why JDO?</a></li> |
| <li><a href="getting-started.html">Gettig Started</a></li> |
| <li><a href="specifications.html">Specifications</a></li> |
| <li><a href="tck.html">TCK</a></li> |
| <li><a href="javadoc.html">API Javadoc</a></li> |
| <li role="separator" class="divider"></li> |
| <li><a href="jdo_v_jpa.html">JDO v JPA</a></li> |
| <li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li> |
| <li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li> |
| <li role="separator" class="divider"></li> |
| <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li> |
| <li><a href="impls.html">Implementations</a></li> |
| <li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li> |
| <li><a href="references.html">References</a></li> |
| <li><a href="glossary.html">Glossary</a></li> |
| </ul> |
| </li> |
| |
| <!-- menu item API Usage --> |
| |
| <li class="dropdown"> |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">API Usage <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="jdohelper.html">JDO Helper</a></li> |
| <li><a href="pmf.html">PersistenceManagerFactory</a></li> |
| <li><a href="pm.html">PersistenceManager</a></li> |
| <li><a href="transactions.html">Transactions</a></li> |
| <li><a href="attach_detach.html">Attach-Detach</a></li> |
| <li><a href="fetchgroups.html">Fetch Groups</a></li> |
| <li><a href="state_transition.html">Object States</a></li> |
| <li><a href="object_retrieval.html">Object Retrieval</a></li> |
| <li><a href="exceptions.html">Exceptions</a></li> |
| <li role="separator" class="divider"></li> |
| <li><a href="guides-replication.html">Data Replication</a></li> |
| </ul> |
| </li> |
| |
| <!-- menu item Types & Metadata --> |
| |
| <li class="dropdown"> |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Types & Metadata <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="class_types.html">Types of Classes</a></li> |
| <li><a href="field_types.html">Types of Fields</a></li> |
| <li role="separator" class="divider"></li> |
| <!-- <li class="dropdown-header">Metadata</li> --> |
| <li><a href="metadata.html">MetaData</a></li> |
| <li><a href="annotations.html">Annotations</a></li> |
| <li><a href="jdo_dtd.html">jdo DTD/XSD</a></li> |
| <li><a href="orm_dtd.html">orm DTD/XSD</a></li> |
| <li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li> |
| <li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li> |
| <li role="separator" class="divider"></li> |
| <li><a href="enhancement.html">Bytecode Enhancement</a></li> |
| </ul> |
| </li> |
| |
| <!-- menu item Query --> |
| |
| <li class="dropdown"> |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="jdoql.html">JDOQL</a></li> |
| <li><a href="jdoql_result.html">Result</a></li> |
| <li><a href="jdoql_methods.html">Methods</a></li> |
| <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li> |
| <li role="separator" class="divider"></li> |
| <li><a href="extents.html">Extents</a></li> |
| </ul> |
| </li> |
| |
| <!-- menu item Community --> |
| |
| <li class="dropdown"> |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="get-involved.html">Get Involved</a></li> |
| <li><a href="team-list.html">Project Team</a></li> |
| <li><a href="mail-lists.html">Mailing Lists</a></li> |
| <li><a href="faq.html">FAQ</a></li> |
| </ul> |
| </li> |
| |
| <!-- menu item Development --> |
| |
| <li class="dropdown"> |
| |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="background-color:#2385c6">Development <span class="caret"></span></a> |
| |
| <ul class="dropdown-menu"> |
| <li><a href="roadmap.html">RoadMap / TODO</a></li> |
| <li><a href="downloads.html">Downloads</a></li> |
| <li><a href="svn.html">Source Code</a></li> |
| <li><a href="http://cwiki.apache.org/GMOxDEV/Coding+standards">Coding Standards</a></li> |
| <li><a href="issuetracking.html">Issue Tracking</a></li> |
| </ul> |
| </li> |
| </ul> |
| <!-- 'style' added to fix height of input box. FIX THIS --> |
| <form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;"> |
| <div class="form-group"> |
| <input name="sitesearch" value="db.apache.org" type="hidden"> |
| <input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;"> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| <div class="container"> |
| |
| <div class="row-fluid"> |
| <div class="col-sm-9"> |
| <!-- <div class="page-title"> |
| <h3>JDO Source Code<a id="JDO_Source_Code"></a></h3> |
| </div> |
| --> |
| <div id="doc-content"> |
| <div class="sect1"> |
| <h2 id="index">JDO Source Code<a id="JDO_Source_Code"></a></h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="_source_code_version_control_a_id_source_code_version_control_a">Source Code Version Control<a id="Source_Code_Version_Control"></a></h3> |
| <div class="paragraph"> |
| <p>Apache JDO uses <a href="http://subversion.tigris.org">Subversion</a> to manage its |
| source code. If you’re new to Subversion, you can check out the |
| <a href="http://svnbook.red-bean.com/">online book</a> about Subversion. Note that we |
| are currently using Subversion 1.1.x (there are separate versions of the |
| book covering 1.0 and 1.1).</p> |
| </div> |
| <div class="paragraph"> |
| <p>To receive notice of commits to the repository subscribe to |
| <a href="mailto:jdo-commits@db.apache.org">jdo-commits@db.apache.org</a> by sending email to |
| <a href="mailto:jdo-commits-subscribe@db.apache.org">jdo-commits-subscribe@db.apache.org</a>.</p> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_web_access_to_subversion_a_id_web_access_to_subversion_a">Web Access to Subversion<a id="Web_Access_to_Subversion"></a></h3> |
| <div class="paragraph"> |
| <p>If you just want to browse the source code, you can use the |
| <a href="https://svn.apache.org/viewvc/db/jdo">ViewVC web interface</a> to |
| Subversion. This is current at all times.</p> |
| </div> |
| <div class="sect3"> |
| <h4 id="_checking_out_code_using_subversion_a_id_checking_out_code_using_subversion_a">Checking Out Code Using Subversion<a id="Checking_Out_Code_Using_Subversion"></a></h4> |
| <div class="paragraph"> |
| <p>Anyone can check code out of Subversion. You only need to specify a |
| username and password to update the Subversion repository, and only JDO |
| committers can do that. If you are a committer, are working from behind |
| a firewall, or are connected to the internet through a proxy server, |
| please see the sections below for more information.</p> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_anonymous_check_out_from_subversion_a_id_anonymous_check_out_from_subversion_a">Anonymous check out from Subversion<a id="Anonymous_check_out_from_Subversion"></a></h4> |
| <div class="paragraph"> |
| <p>Use a command like:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>% svn checkout http://svn.apache.org/repos/asf/db/jdo</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Once you have Apache JDO checked out you can update the source by |
| executing the following command from within the jdo.</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>% svn update</pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_access_from_behind_a_firewall_a_id_access_from_behind_a_firewall_a">Access from behind a firewall<a id="Access_from_behind_a_firewall"></a></h4> |
| <div class="paragraph"> |
| <p>For those users who are stuck behind a corporate firewall which is |
| blocking http access to the Subversion repository, you can try to access |
| it via HTTPS:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>% svn checkout https://svn.apache.org/repos/asf/db/jdo</pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_access_through_a_proxy_a_id_access_through_a_proxy_a">Access through a proxy<a id="Access_through_a_proxy"></a></h4> |
| <div class="paragraph"> |
| <p>The Subversion client can go through a proxy, if you configure it to do |
| so. First, edit your "servers" configuration file to indicate which |
| proxy to use. The files location depends on your operating system. On |
| Linux or Unix it is located in the directory "~/.subversion". On Windows |
| it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a |
| hidden directory.)</p> |
| </div> |
| <div class="paragraph"> |
| <p>There are comments in the file explaining what to do. If you don’t have |
| that file, get the latest Subversion client and run any command; this |
| will cause the configuration directory and template files to be created.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Example : Edit the 'servers' file and add something like :</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>[global] |
| http-proxy-host = your.proxy.name |
| http-proxy-port = 3128</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Please use the regular http proxy settings in case you want to access |
| the the repository from the Sun network (SWAN).</p> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_committer_access_a_id_committer_access_a">Committer access<a id="Committer_access"></a></h4> |
| <div class="paragraph"> |
| <p>Everyone can access the Apache JDO Subversion repository via HTTPS, but |
| Apache JDO Committers must checkout the Subversion repository via HTTPS.</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>% svn checkout https://svn.apache.org/repos/asf/db/jdo</pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_netbeans_cvs_repository_access_a_id_netbeans_cvs_repository_access_a">NetBeans CVS repository access<a id="NetBeans_CVS_repository_access"></a></h4> |
| <div class="paragraph"> |
| <p>The btree subproject checks out the NetBeans mdr btree implementation. |
| This requires cvs being installed on your system. The official NetBeans |
| cvs host might not work if you are behind a firewall that blocks the cvs |
| port. Please consult the |
| <a href="http://www.netbeans.org/community/sources">NetBeans sources</a> page for |
| more info.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If you do not have a cvs client installed on your system you can |
| download the NetBeans mdr btree sources |
| <a href="/jdo-data/attachments/SubversionRepository/attachments/netbeans-mdr-btree.zip">here</a>. |
| Unzip the file in the btree directory and comment out (or remove) the |
| definition of the preGoal java:prepare-filesystem.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_submitting_code_changes_a_id_submitting_code_changes_a">Submitting Code Changes<a id="Submitting_Code_Changes"></a></h3> |
| <div class="sect3"> |
| <h4 id="_submitting_a_patch_a_id_submitting_a_patch_a">Submitting a patch<a id="Submitting_a_patch"></a></h4> |
| <div class="paragraph"> |
| <p>If you make changes to Apache JDO, and would like to contribute the to |
| the project, you should create a patch and send it to the jdo-dev alias |
| <a href="mailto:jdo-dev@db.apache.org">jdo-dev@db.apache.org</a>. To create a patch, simply execute the following |
| command:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>% svn diff > your-changes.patch</pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_committing_changes_to_subversion_a_id_committing_changes_to_subversion_a">Committing changes to subversion<a id="Committing_changes_to_subversion"></a></h4> |
| <div class="paragraph"> |
| <p>To commit changes to the Subversion repository, you must be an Apache |
| JDO committer. See <a href="get-involved.html">Get Involved</a> for information |
| on how to become a committer and how to set up your password once you |
| become a committer.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Once your password is set, you can use a command like this to commit:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>$> svn commit --username your-username |
| Authentication realm: <https://svn.apache.org:443> ASF Committers |
| Password for 'your-username': your-password</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>You can also pass your password on the command line directly, but this |
| is a security problem on multiuser unix computers (the command line |
| arguments are available via the ps command). Here is the command if you |
| are Windows or a single user unix computer:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>$> svn commit --username your-username --password your-password</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Remember to replace 'your-username' and 'your-password' with your actual |
| username and password on svn.apache.org.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_building_jdo_from_source_a_id_building_jdo_from_source_a">Building JDO from Source<a id="Building_JDO_from_Source"></a></h3> |
| <div class="paragraph"> |
| <p>Refer to the <a href="http://wiki.apache.org/jdo/FrontPage">Wiki page</a> for |
| details. Note that the JDO project is subdivided into several smaller |
| projects, and each project is built separately.</p> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_using_subversion_on_windows_with_cygwin_a_id_using_subversion_on_windows_with_cygwin_a">Using Subversion on Windows with cygwin<a id="Using_Subversion_on_Windows_with_cygwin"></a></h3> |
| <div class="paragraph"> |
| <p>If you use Subversion on Windows under cygwin, you may find that the |
| Subversion client automatically assigns the executable property to |
| non-executable files. In that case, you would see this at the bottom of |
| an <em>svn diff</em> of the file:</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre>Property changes on: test/sql/derby/datastoreidentity/schema1.sql |
| ___________________________________________________________________ |
| Name: svn:executable |
| + *</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>This section explains the source of the problem and suggests some |
| actions to avoid it.</p> |
| </div> |
| <div class="sect3"> |
| <h4 id="_background_a_id_background_a">Background<a id="Background"></a></h4> |
| <div class="paragraph"> |
| <p>Subversion carries executable information in the built-in property |
| called svn:executable. This property, unlike others, may be present or |
| absent, but it has no value. You can add it or delete it, but but you |
| cannot change its value.</p> |
| </div> |
| <div class="paragraph"> |
| <p>In theory, Subversion ignores Windows file permissions and by default |
| does not set svn:executable. However, cygwin svn acts like Unix svn and |
| determines the svn:executable property based on file permissions.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If you create a file from the cygwin command line, by default it is |
| executable only if the filename ends with .bat, .com or .exe, or if its |
| content starts with #!. [This is what the doc says, but you may see -x |
| for all files.] If you create a file using a Windows tool, by default |
| its Windows permissions are executable by all. Cygwin interprets the |
| Unix-style permissions this way as well. If the file is executable by |
| all, cygwin svn sets the svn:executable property on the file when you |
| invoke <em>svn add</em>.</p> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_removing_existing_executable_properties_from_the_repository_a_id_removing_existing_executable_properties_from_the_repository_a">Removing existing executable properties from the repository<a id="Removing_existing_executable_properties_from_the_repository"></a></h4> |
| <div class="paragraph"> |
| <p>You can use svn propdel to remove the svn:executable property from your |
| working copy.</p> |
| </div> |
| <div class="literalblock"> |
| <div class="content"> |
| <pre> svn propdel -R svn:executable .</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>will recursively remove the svn:executable property from all of the |
| files below the current directory. You can use this and commit the files |
| to clean the repository if necessary.</p> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_preventing_subversion_from_adding_unwanted_executable_properties_a_id_preventing_subversion_from_adding_unwanted_executable_properties_a">Preventing Subversion from adding unwanted executable properties<a id="Preventing_Subversion_from_adding_unwanted_executable_properties"></a></h4> |
| <div class="paragraph"> |
| <p>Windows/cygwin users who don’t want to have to think about using <em>svn |
| propdel</em> or <em>chmod</em> on each added file can use a non-cygwin version of |
| svn. The Subversion 1.2.3 Win32 binaries, downloadable from the link at |
| the bottom of <a href="http://subversion.tigris.org/project_packages.html" class="bare">http://subversion.tigris.org/project_packages.html</a>, appear |
| to work well. After installation add the svn.exe location to your |
| Windows PATH variable. If you are switching from cygwin svn to Win32 svn</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Remove the subversion component from your cygwin installation because |
| when svn is invoked from a cygwin window, the cygwin version is found |
| even if your cygwin/bin directory is later on the path. (In the Select |
| Packages window of the setup wizard, navigate to the subversion package |
| in the Devel. category. Click on the status icon until Uninstall is |
| displayed. Click next and continue through the wizard until installation |
| is complete.)</p> |
| </li> |
| <li> |
| <p>Copy the servers file and the auth folder from the sygwin |
| ~/.subversion directory to C:\Documents and Settings\<user>\Application |
| Data\Subversion used by Win32 subversion.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>Note that windows svn uses backslash as the path separator when |
| displaying file names. You cannot just copy and paste this file name to |
| another svn command when running from within a cygwin shell. You need to |
| enclose the file name into double quotes.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Alternatively, Windows users can set file permissions in Windows |
| Explorer. (Right-click on the top-level folder & select Properties. |
| Select the Security tab. Click Advanced. Remove all instances of Read & |
| Execute from the Permission Entries. Click "Reset permissions on all |
| child objects and enable propogations of inheritable permissions". Click |
| Apply. OK. OK.) You will have to do this again when you do a clean |
| checkout to a new directory.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="col-sm-3"> |
| <nav id="toc" data-spy="affix" data-toggle="toc"></nav> |
| </div> |
| </div> |
| |
| </div> |
| |
| <footer style="background-color:#97d5ca; padding: 5px;"> |
| <div class="container"> |
| <hr/> |
| <div class="row"> |
| <div class="col-sm-9"> |
| <a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a> |
| | |
| <a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a> |
| | |
| <a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a> |
| | |
| <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a> |
| | |
| <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> |
| | |
| <a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a> |
| </div> |
| </div> |
| <hr/> |
| <p class="text-center">© 2005-2020 Apache Software Foundation. All Rights Reserved.</p> |
| </div> |
| </footer> |
| |
| </body> |
| </html> |