Subclipse.unkrig.de: Difference between revisions

From unkrig.de
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:
The change log is available [http://subclipse.unkrig.de/changelog.txt here].
The change log is available [http://subclipse.unkrig.de/changelog.txt here].


= Task Descriptions =
== Tasks ==


== Task <span style="font-size:14pt"><code>'''<de.unkrig.subclipse.svn>'''</code></span> ==
: [http://subclipse.unkrig.de/antdoc/tasks/de.unkrig.subclipse.svn.html <code><de.unkrig.subclipse.svn></code>]
 
Executes a series of SVN commands.
 
=== Attributes ===
 
(None.)
 
=== Subelements ===
 
The subelements of this task represent SVN subcommands which are executed sequentially:
 
==== <code><copy></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.copy.html svn copy] subcommand.
 
:;Attributes
 
::;<code>url="''url''"</code> ''or'' <code>file="''path''"</code> ''or'' <code>dir="''path''"</code>
:::File or directory to copy (resource collection subelements are an alternative to specify multiple source files; see below).
 
::;<code>toUrl="''url''"</code> ''or'' <code>toFile="''path''"</code> ''or'' <code>toDir="''path''"</code>
:::Where to copy the file(s) (must be an existing directory iff multiple source files are specified).
 
::;<code>message="''text''"</code>
::;<code>revision="''rev''"</code>
::;<code>pegRevision="''rev''"</code>
::;<code>copyAsChild="''boolean''"</code>
::;<code>makeParents="''boolean''"</code>
:::See the SVN documentation of the [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.copy.html svn copy] subcommand.
 
:;Subelements
 
::;Resource collections (e.g. <code><fileset></code>, <code><dirset></code>, ...)
:::An alternative to the <code>srcUrl="''url''"</code> and <code>srcPath="''path''"</code> attributes to specify ''multiple'' source files.
 
==== <code><diff></code> ====
 
:Representation of a [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.diff.html svn diff] subcommand.
 
:;Attributes
 
::;<code>oldFile="''path''"</code> or <code>oldDir="''path''"</code>
:::To be documented.
 
::;<code>oldFileRevision="''rev''"</code>
:::To be documented.
 
::;<code>newFile="''path''"</code> or <code>newDir="''path''"</code>
:::To be documented.
 
::;<code>newFileRevision="''rev''"</code>
:::To be documented.
 
::;<code>url="''url''"</code>
:::To be documented.
 
::;<code>pegRevision="''rev''"</code>
:::To be documented.
 
::;<code>startRevision="''rev''"</code>
:::To be documented.
 
::;<code>endRevision="''rev''"</code>
:::To be documented.
 
::;<code>oldUrl="''url''"</code>
:::To be documented.
 
::;<code>oldUrlRevision="''rev''"</code>
:::To be documented.
 
::;<code>newUrl="''url''"</code>
:::To be documented.
 
::;<code>newUrlRevision="''rev''"</code>
:::To be documented.
 
::;<code>outFile="''path''"</code>
:::To be documented.
 
::;<code>recurse="true|false"</code>
:::To be documented.
 
::;<code>ignoreAncestry="true|false"</code>
:::To be documented.
 
::;<code>noDiffDeleted="true|false"</code>
:::To be documented.
 
::;<code>force="true|false"</code>
:::To be documented.
 
==== <code><diffSummarize></code> ====
 
:Representation of a [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.diff.html svn diff --summarize] subcommand.
 
:;Attributes
 
::;<code>oldFile="''path''"</code> or <code>oldDir="''path''"</code>
:::To be documented.
 
::;<code>url="''url''"</code>
:::To be documented.
 
::;<code>pegRevision="''rev''"</code>
:::To be documented.
 
::;<code>startRevision="''rev''"</code>
:::To be documented.
 
::;<code>endRevision="''rev''"</code>
:::To be documented.
 
::;<code>oldUrl="''url''"</code>
:::To be documented.
 
::;<code>oldUrlRevision="''rev''"</code>
:::To be documented.
 
::;<code>newUrl="''url''"</code>
:::To be documented.
 
::;<code>newUrlRevision="''rev''"</code>
:::To be documented.
 
::;<code>recurse="true|false"</code>
:::To be documented.
 
::;<code>ignoreAncestry="true|false"</code>
:::To be documented.
 
:;Subelements
 
::;<code><perDiffSummary></code>
:::Contains a sequence of tasks that is executed each diff summary. The following attributes are substituted within the tasks:
 
:::;<code>@{diffKind}</code>
::::To bedocumented.
 
:::;<code>@{nodeKind}</code>
::::To bedocumented.
 
:::;<code>@{path}</code>
::::To bedocumented.
 
:::;<code>@{source}</code>
::::To bedocumented.
 
:::;<code>@{propsChanged}</code>
::::To bedocumented.
 
==== <code><export></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.export.html svn export] subcommand.
 
:;Attributes
 
::;<code>url="''url''"</code> ''or'' <code>file="''path''"</code> ''or'' <code>dir="''path''"</code>
:::File or directory to export.
 
::;<code>toFile="''path''"</code> ''or'' <code>toDir="''path''"</code>
:::Where to export the file or directory to.
 
::;<code>revision="''rev''"</code>
:::See the documentation of the [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.export.html svn export] subcommand.
 
::;<code>force="''boolean''"</code>
:::Whether to overwrite existing files.
 
==== <code><import></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.import.html svn import] subcommand.
 
:;Attributes
 
::;<code>file="''path''"</code> ''or'' <code>dir="''path''"</code>
:::File or directory to import.
 
::;<code>url="''url''"</code>
:::Destination repository location.
 
::;<code>message="''text''"</code>
::;<code>recurse="''boolean''"</code>
:::See the documentation of the [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.import.html svn import] subcommand.
 
==== <code><list></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.list.html svn list] subcommand.
 
:;Attributes
 
::;<code>url="''url''"</code> ''or'' <code>file="''file''"</code> ''or'' <code>dir="''dir''"</code>
:::The URL or working copy file or working copy directory to list.
 
::;<code>revision="''revision''|<u>HEAD</u>"</code>, <code>pegRevision="''revision''|<u>HEAD</u>"</code>
:::The revision of the URL or file or directory to list.
 
::;<code>recurse="true|<u>false</u>"</code>
:::Whether to continue when some of the <code><perDirEntry></code> sequences fail.
 
::;<code>attributeNamePrefix="''string''"</code>
:::See <code><perDirEntry></code>, below.
 
::;<code>keepGoing="true|<u>false</u>"</code>
:::Whether to descend recursively.
 
:;Subelements
 
::;<code><perDirEntry></code>
:::Contains a sequence of tasks that is executed for listed entry. The following attributes are substituted within the tasks:
:::;<code>@{hasProps}</code>
::::Whether the entry has SVN properties
:::;<code>@{lastChangeDate}</code>
::::When the entry was last changed
:::;<code>@{lastChangedRevision}</code>
::::The last committed revision
:::;<code>@{lastCommitAuthor}</code>
::::The user who committed this entry last
:::;<code>@{nodeKind}</code>
::::The node's kind ("<code>file</code>" or "<code>directory</code>")
:::;<code>@{path}</code>
::::The (relative) path of the entry
:::;<code>@{size}</code>
::::The file size in bytes
:::If <code>attributeNamePrefix="''string''"</code> is configured, then the described attribute names are prefixed with the given string. This is particularly useful for ''nested'' <code><list></code> commands.
 
:::See the documentation of the [http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.list.html svn list] subcommand.
 
==== <code><log></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.log.html svn log] subcommand.
 
:;Attributes
 
::;<code>url="''url''"</code> ''or'' <code>file="''file''"</code> ''or'' <code>dir="''dir''"</code>
:::The URL or working copy file or working copy directory to log.
 
::;<code>pegRevision="''revision''|<u>HEAD</u>"</code>, <code>startRevision="''revision''|<u>HEAD</u>"</code>, <code>endRevision="''revision''|<u>HEAD</u>"</code>
:::The PEG, start and end revision to log.
 
::;<code>stopOnCopy="true|<u>false</u>"</code>
:::To be documented.
 
::;<code>fetchChangedPaths="true|<u>false</u>"</code>
:::To be documented.
 
::;<code>limit="''N''|<u>0</u>"</code>
:::To be documented.
 
::;<code>includeMergedRevisions="true|<u>false</u>"</code>
:::To be documented.
 
::;<code>requestedProperties="''comma-separated-names''|<u>svn:author,svn:date,svn:log</u>"</code>
:::To be documented.
 
::;<code>logMessageCountProperty="''string''"</code>
:::To be documented.
 
:;Subelements
 
::;<code><perLogMessage></code>
:::Contains a sequence of tasks that is executed for each log message. The following attributes are substituted within the tasks:
:::;<code>@{author}</code>
::::To be documented.
:::;<code>@{date}</code>
::::To be documented.
:::;<code>@{message}</code>
::::To be documented.
:::;<code>@{numberOfChildren}</code>
::::To be documented.
:::;<code>@{revision}</code>
::::To be documented.
:::;<code>@{changedPath.action}</code> (Only if <code>fetchChangedPaths="true"</code>)
::::To be documented.
:::;<code>@{changedPath.copySrcPath}</code> (Only if <code>fetchChangedPaths="true"</code>)
::::To be documented.
:::;<code>@{changedPath.copySrcRevision}</code> (Only if <code>fetchChangedPaths="true"</code>)
::::To be documented.
:::;<code>@{changedPath.path}</code> (Only if <code>fetchChangedPaths="true"</code>)
::::To be documented.
 
==== <code><mkdir></code> ====
 
:Representation of an [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.mkdir.html svn mkdir] subcommand.
 
:;Attributes
 
::;<code>url="''url''"</code>
::;<code>message="''text''"</code>
::;<code>makeParents="''boolean''"</code>
:::See the documentation of the [http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.mkdir.html svn mkdir] subcommand.
 
==== Other SVN subcommands ====
 
<code>
:;<addDirectory>
:;<addFile>
:;<addKeywords>
:;<annotate>
:;<checkout>
:;<commit>
:;<createPatch>
:;<createRepository>
:;<getProperties>
:;<getRevProperties>
:;<lock>
:;<merge>
:;<move>
:;<relocate>
:;<remove>
:;<revert>
:;<unlock>
:;<update>
</code>
 
::These subelements exist, but merely issue an "Not yet implemented" error when executed.


= Example =
= Example =

Revision as of 19:18, 18 November 2015

Introduction

This ECLIPSE plug-in adds an additional ANT task 'de.unkrig.subclipse.svn' which is available in ANT builds which have the option 'Run in the same JRE as the workspace' set.

The ANT task uses the SVN client that is provided by the SUBCLIPSE plug-in. Thus no configuration is required, because it is re-used from SUBCLIPSE.

Download and Installation

Within ECLIPSE, download and install the feature from the update site

http://subclipse.unkrig.de/update

The change log is available here.

Tasks

<de.unkrig.subclipse.svn>

Example

Tagging projects in SVN:

<!-- Verify that ANT is running in the same JVM as ECLIPSE. -->
<fail
    unless="eclipse.running"
    message="Please activate the ECLIPSE external tool configuration option 'Run in the same JRE as the workspace' and re-run."
/>

<!-- Verify that the 'de.unkrig.subclipse' plugin is available. -->
<fail message="Please install the 'de.unkrig.subclipse' ECLIPSE feature and re-run.">
    <condition><not><typefound name="de.unkrig.subclipse.svn" /></not></condition>
</fail>

<property name="d" value="http://svn.acme.com/svn/MyRepo/tags/${tag}"/>
<de.unkrig.subclipse.svn>
    <mkdir                          url="${d}"/>
    <copy srcpath="."           desturl="${d}"/>
    <copy srcpath="../project2" desturl="${d}"/>
</de.unkrig.subclipse.svn>

If you like loading ANT tasks in separate XML namespaces, you can alternatively write:

<some-enclosing-tag-e-g-project-or-target xmlns:unkrig="antlib:de.unkrig.subclipse">
    ...
    <fail
        unless="eclipse.running"
        message="Please activate the ECLIPSE external tool configuration option 'Run in the same JRE as the workspace' and re-run."
    />

    <fail message="Please install the 'de.unkrig.subclipse' ECLIPSE feature and re-run.">
        <condition><not><typefound uri="antlib:de.unkrig.subclipse" name="svn" /></not></condition>
    </fail>

    <unkrig:svn>...

, where "unkrig" is the (arbitrary) XML namespace prefix.

License

SUBCLIPSE.UNKRIG.DE is published under the "New BSD License".

Source Code

Source code is available via SVN on

https://svn.code.sf.net/p/loggifier/code

. From that repository, check out the projects

  • de.unkrig.checkstyle-configuration
  • de.unkrig.commons.nullanalysis
  • de.unkrig.subclipse_dist
  • de.unkrig.subclipse.ant.tasks
  • de.unkrig.subclipse.branding
  • de.unkrig.subclipse.core
  • org.apache.ant-1.8.4

, or, if you are using ECLIPSE, just import https://svn.code.sf.net/p/loggifier/code/trunk/de.unkrig.subclipse_dist/projectSet.psf.

Contact

For bugs, improvements, complaints, or any other kind of feedback, send email to arno@subclipse.unkrig.de.