maven-scm-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From eveni...@apache.org
Subject svn commit: r381101 [2/4] - in /maven/scm/trunk/sandbox/maven-scm-provider-svnjava: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/maven/ src/main/java/org/apache/maven/scm/ src/main/java/org/apac...
Date Sun, 26 Feb 2006 15:05:58 GMT
Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,446 @@
+package org.apache.maven.scm.provider.svn.svnjava.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.ScmFileStatus;
+import org.tmatesoft.svn.core.ISVNLogEntryHandler;
+import org.tmatesoft.svn.core.SVNCancelException;
+import org.tmatesoft.svn.core.SVNCommitInfo;
+import org.tmatesoft.svn.core.SVNException;
+import org.tmatesoft.svn.core.SVNURL;
+import org.tmatesoft.svn.core.wc.ISVNEventHandler;
+import org.tmatesoft.svn.core.wc.SVNClientManager;
+import org.tmatesoft.svn.core.wc.SVNEvent;
+import org.tmatesoft.svn.core.wc.SVNEventAction;
+import org.tmatesoft.svn.core.wc.SVNLogClient;
+import org.tmatesoft.svn.core.wc.SVNRevision;
+import org.tmatesoft.svn.core.wc.SVNUpdateClient;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Static helper library to consolidate calls to the {@link org.tmatesoft.svn.core.wc.SVNWCClient}.
+ * The procedure comments were taken from the tmate.org example file:
+ * <a href="http://svn.tmate.org/repos/jsvn/trunk/doc/examples/src/org/tmatesoft/svn/examples/wc/WorkingCopy.java">
+ * org.tmatesoft.svn.examples.wc.WorkingCopy.java</a>
+ *
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public final class SvnJavaUtil
+{
+    private static final long MAX_LOG_ENTRIES = 1024;
+
+    private SvnJavaUtil()
+    {
+        super();
+    }
+
+    /**
+     * Converts a {@link SVNEventAction} to a {@link ScmFileStatus}
+     */
+    public static ScmFileStatus getScmFileStatus( SVNEventAction action )
+    {
+        // Updates
+        if ( action == SVNEventAction.ADD )
+        {
+            return ScmFileStatus.ADDED;
+        }
+        else if ( action == SVNEventAction.UPDATE_ADD )
+        {
+            return ScmFileStatus.ADDED;
+        }
+        else if ( action == SVNEventAction.UPDATE_DELETE )
+        {
+            return ScmFileStatus.DELETED;
+        }
+        else if ( action == SVNEventAction.UPDATE_UPDATE )
+        {
+            return ScmFileStatus.UPDATED;
+        }
+        // Commits
+        else if ( action == SVNEventAction.COMMIT_ADDED )
+        {
+            return ScmFileStatus.ADDED;
+        }
+        //else if ( action == SVNEventAction.COMMIT_COMPLETED )
+        else if ( action == SVNEventAction.COMMIT_DELETED )
+        {
+            return ScmFileStatus.DELETED;
+        }
+        else if ( action == SVNEventAction.RESTORE )
+        {
+            // Denotes that the deleted item is restored (prior to be updated).
+            return ScmFileStatus.UPDATED;
+        }
+//        else if ( action == SVNEventAction.COMMIT_DELTA_SENT )
+//        {
+//            return ScmFileStatus.MODIFIED;
+//        }
+        else if ( action == SVNEventAction.COMMIT_REPLACED )
+        {
+            return ScmFileStatus.CHECKED_IN;
+        }
+        else if ( action == SVNEventAction.COMMIT_MODIFIED )
+        {
+            return ScmFileStatus.CHECKED_IN;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
+    /**
+     * Puts directories and files under version control scheduling them for addition
+     * to a repository. They will be added in a next commit. Like 'svn add PATH'
+     * command. It's done by invoking
+     * <p/>
+     * SVNWCClient.doAdd(File path, boolean force,
+     * boolean mkdir, boolean climbUnversionedParents, boolean recursive)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * path - an entry to be scheduled for addition;
+     * <p/>
+     * force - set to true to force an addition of an entry anyway;
+     * <p/>
+     * mkdir - if true doAdd(..) creates an empty directory at path and schedules
+     * it for addition, like 'svn mkdir PATH' command;
+     * <p/>
+     * climbUnversionedParents - if true and the parent of the entry to be scheduled
+     * for addition is not under version control, then doAdd(..) automatically schedules
+     * the parent for addition, too;
+     * <p/>
+     * recursive - if true and an entry is a directory then doAdd(..) recursively
+     * schedules all its inner dir entries for addition as well.
+     */
+    public static void add( SVNClientManager clientManager, File wcPath, boolean recursive )
+        throws SVNException
+    {
+        clientManager.getWCClient().doAdd( wcPath, false,  // force
+                                           false,  // mkdir
+                                           false,  // climbUnversionedParents
+                                           recursive );
+    }
+
+    /**
+     * Checks out a working copy from a repository. Like 'svn checkout URL[@REV] PATH (-r..)'
+     * command; It's done by invoking
+     * <p/>
+     * SVNUpdateClient.doCheckout(SVNURL url, File dstPath, SVNRevision pegRevision,
+     * SVNRevision revision, boolean recursive)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * url - a repository location from where a working copy is to be checked out;
+     * <p/>
+     * dstPath - a local path where the working copy will be fetched into;
+     * <p/>
+     * pegRevision - an SVNRevision representing a revision to concretize
+     * url (what exactly URL a user means and is sure of being the URL he needs); in other
+     * words that is the revision in which the URL is first looked up;
+     * <p/>
+     * revision - a revision at which a working copy being checked out is to be;
+     * <p/>
+     * recursive - if true and url corresponds to a directory then doCheckout(..) recursively
+     * fetches out the entire directory, otherwise - only child entries of the directory;
+     */
+    public static long checkout( SVNClientManager clientManager, SVNURL url, SVNRevision revision, File destPath,
+                                 boolean isRecursive )
+        throws SVNException
+    {
+        SVNUpdateClient updateClient = clientManager.getUpdateClient();
+        /*
+         * sets externals not to be ignored during the checkout
+         */
+        updateClient.setIgnoreExternals( false );
+        /*
+         * returns the number of the revision at which the working copy is 
+         */
+        return updateClient.doCheckout( url, destPath, revision, revision, isRecursive );
+    }
+
+    /**
+     * Updates a working copy to a different URL. Like 'svn switch URL' command.
+     * It's done by invoking
+     * <p/>
+     * SVNUpdateClient.doSwitch(File file, SVNURL url, SVNRevision revision, boolean recursive)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * file - a working copy entry that is to be switched to a new url;
+     * <p/>
+     * url - a target URL a working copy is to be updated against;
+     * <p/>
+     * revision - a revision to which a working copy is to be updated;
+     * <p/>
+     * recursive - if true and an entry (file) is a directory then doSwitch(..) recursively
+     * switches the entire directory, otherwise - only child entries of the directory;
+     */
+    public static long switchToURL( SVNClientManager clientManager, File wcPath, SVNURL url,
+                                    SVNRevision updateToRevision, boolean isRecursive )
+        throws SVNException
+    {
+        SVNUpdateClient updateClient = clientManager.getUpdateClient();
+
+        /*
+         * sets externals not to be ignored during the switch
+         */
+        updateClient.setIgnoreExternals( false );
+
+        /*
+         * returns the number of the revision wcPath was updated to
+         */
+        return updateClient.doSwitch( wcPath, url, updateToRevision, isRecursive );
+    }
+
+    /**
+     * Updates a working copy (brings changes from the repository into the working copy).
+     * Like 'svn update PATH' command; It's done by invoking
+     * <p/>
+     * SVNUpdateClient.doUpdate(File file, SVNRevision revision, boolean recursive)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * file - a working copy entry that is to be updated;
+     * <p/>
+     * revision - a revision to which a working copy is to be updated;
+     * <p/>
+     * recursive - if true and an entry is a directory then doUpdate(..) recursively
+     * updates the entire directory, otherwise - only child entries of the directory;
+     */
+    public static long update( SVNClientManager clientManager, File wcPath, SVNRevision updateToRevision,
+                               boolean isRecursive )
+        throws SVNException
+    {
+        SVNUpdateClient updateClient = clientManager.getUpdateClient();
+        /*
+         * sets externals not to be ignored during the update
+         */
+        updateClient.setIgnoreExternals( false );
+        /*
+         * returns the number of the revision wcPath was updated to
+         */
+        return updateClient.doUpdate( wcPath, updateToRevision, isRecursive );
+    }
+
+    public static void changelog( SVNClientManager clientManager, SVNURL svnUrl, SVNRevision startRevision,
+                                  SVNRevision endRevision, boolean stopOnCopy, boolean reportPaths,
+                                  ISVNLogEntryHandler handler )
+        throws SVNException
+    {
+        SVNLogClient logClient = clientManager.getLogClient();
+
+        logClient.doLog( svnUrl, null, startRevision, startRevision, endRevision, stopOnCopy, reportPaths,
+                         MAX_LOG_ENTRIES, handler );
+    }
+
+    /**
+     * Commits changes in a working copy to a repository. Like
+     * 'svn commit PATH -m "some comment"' command. It's done by invoking
+     * <p/>
+     * SVNCommitClient.doCommit(File[] paths, boolean keepLocks, String commitMessage,
+     * boolean force, boolean recursive)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * paths - working copy paths which changes are to be committed;
+     * <p/>
+     * keepLocks - if true then doCommit(..) won't unlock locked paths; otherwise they will
+     * be unlocked after a successful commit;
+     * <p/>
+     * commitMessage - a commit log message;
+     * <p/>
+     * force - if true then a non-recursive commit will be forced anyway;
+     * <p/>
+     * recursive - if true and a path corresponds to a directory then doCommit(..) recursively
+     * commits changes for the entire directory, otherwise - only for child entries of the
+     * directory;
+     */
+    public static SVNCommitInfo commit( SVNClientManager clientManager, File[] paths, boolean keepLocks,
+                                        String commitMessage, boolean recursive )
+        throws SVNException
+    {
+        /*
+         * Returns SVNCommitInfo containing information on the new revision committed 
+         * (revision number, etc.) 
+         */
+        return clientManager.getCommitClient().doCommit( paths, keepLocks, commitMessage, false, recursive );
+    }
+
+    /**
+     * Schedules directories and files for deletion from version control upon the next
+     * commit (locally). Like 'svn delete PATH' command. It's done by invoking
+     * <p/>
+     * SVNWCClient.doDelete(File path, boolean force, boolean dryRun)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * path - an entry to be scheduled for deletion;
+     * <p/>
+     * force - a boolean flag which is set to true to force a deletion even if an entry
+     * has local modifications;
+     * <p/>
+     * dryRun - set to true not to delete an entry but to check if it can be deleted;
+     * if false - then it's a deletion itself.
+     */
+    public static void delete( SVNClientManager clientManager, File[] files, boolean force )
+        throws SVNException
+    {
+        for ( int i = 0; i < files.length; i++ )
+        {
+            clientManager.getWCClient().doDelete( files[i], force, false );
+        }
+    }
+
+    /**
+     * Collects status information on local path(s). Like 'svn status (-u) (-N)'
+     * command. It's done by invoking
+     * <p/>
+     * SVNStatusClient.doStatus(File path, boolean recursive,
+     * boolean remote, boolean reportAll, boolean includeIgnored,
+     * boolean collectParentExternals, ISVNStatusHandler handler)
+     * <p/>
+     * which takes the following parameters:
+     * <p/>
+     * path - an entry which status info to be gathered;
+     * <p/>
+     * recursive - if true and an entry is a directory then doStatus(..) collects status
+     * info not only for that directory but for each item inside stepping down recursively;
+     * <p/>
+     * remote - if true then doStatus(..) will cover the repository (not only the working copy)
+     * as well to find out what entries are out of date;
+     * <p/>
+     * reportAll - if true then doStatus(..) will also include unmodified entries;
+     * <p/>
+     * includeIgnored - if true then doStatus(..) will also include entries being ignored;
+     * <p/>
+     * collectParentExternals - if true then externals definitions won't be ignored;
+     * <p/>
+     * handler - an implementation of ISVNStatusHandler to process status info per each entry
+     * doStatus(..) traverses; such info is collected in an SVNStatus object and
+     * is passed to a handler's handleStatus(SVNStatus status) method where an implementor
+     * decides what to do with it.
+     */
+    public static void status( SVNClientManager clientManager, File wcPath, boolean isRecursive, boolean isRemote,
+                               SvnStatusHandler handler )
+        throws SVNException
+    {
+        boolean isIncludeIgnored = true;
+        boolean isReportAll = true;
+        boolean isCollectParentExternals = true;
+
+        clientManager.getStatusClient().doStatus( wcPath, isRecursive, isRemote, isReportAll, isIncludeIgnored,
+                                                  isCollectParentExternals, handler );
+    }
+
+    /*
+    * Duplicates srcURL to dstURL (URL->URL)in a repository remembering history.
+    * Like 'svn copy srcURL dstURL -m "some comment"' command. It's done by
+    * invoking
+    *
+    * doCopy(SVNURL srcURL, SVNRevision srcRevision, SVNURL dstURL,
+    * boolean isMove, String commitMessage)
+    *
+    * which takes the following parameters:
+    *
+    * srcURL - a source URL that is to be copied;
+    *
+    * srcRevision - a definite revision of srcURL
+    *
+    * dstURL - a URL where srcURL will be copied; if srcURL & dstURL are both
+    * directories then there are two cases:
+    * a) dstURL already exists - then doCopy(..) will duplicate the entire source
+    * directory and put it inside dstURL (for example,
+    * consider srcURL = svn://localhost/rep/MyRepos,
+    * dstURL = svn://localhost/rep/MyReposCopy, in this case if doCopy(..) succeeds
+    * MyRepos will be in MyReposCopy - svn://localhost/rep/MyReposCopy/MyRepos);
+    * b) dstURL doesn't exist yet - then doCopy(..) will create a directory and
+    * recursively copy entries from srcURL into dstURL (for example, consider the same
+    * srcURL = svn://localhost/rep/MyRepos, dstURL = svn://localhost/rep/MyReposCopy,
+    * in this case if doCopy(..) succeeds MyRepos entries will be in MyReposCopy, like:
+    * svn://localhost/rep/MyRepos/Dir1 -> svn://localhost/rep/MyReposCopy/Dir1...);
+    *
+    * isMove - if false then srcURL is only copied to dstURL what
+    * corresponds to 'svn copy srcURL dstURL -m "some comment"'; but if it's true then
+    * srcURL will be copied and deleted - 'svn move srcURL dstURL -m "some comment"';
+    *
+    * commitMessage - a commit log message since URL->URL copying is immediately
+    * committed to a repository.
+    */
+    public static SVNCommitInfo copy( SVNClientManager clientManager, SVNURL srcURL, SVNURL dstURL, boolean isMove,
+                                      String commitMessage )
+        throws SVNException
+    {
+        /*
+         * SVNRevision.HEAD means the latest revision.
+         * Returns SVNCommitInfo containing information on the new revision committed 
+         * (revision number, etc.) 
+         */
+        return clientManager.getCopyClient().doCopy( srcURL, SVNRevision.HEAD, dstURL, isMove, commitMessage );
+    }
+
+    public static ByteArrayOutputStream diff( SVNClientManager clientManager, File baseDir, SVNRevision startRevision,
+                                              SVNRevision endRevision )
+        throws SVNException
+    {
+        ByteArrayOutputStream result = new ByteArrayOutputStream();
+
+        /*
+         * SVNRevision.HEAD means the latest revision.
+         * Returns SVNCommitInfo containing information on the new revision committed 
+         * (revision number, etc.) 
+         */
+        clientManager.getDiffClient().doDiff( baseDir, startRevision, startRevision, endRevision, true, true, result );
+
+        return result;
+    }
+
+    /**
+     * Generic event handler that collects all events internally and will return them with a call to
+     * {@link #getEvents()}
+     */
+    public static class GenericEventHandler
+        implements ISVNEventHandler
+    {
+        private final List events = new ArrayList();
+
+        public GenericEventHandler()
+        {
+        }
+
+        public void handleEvent( SVNEvent event, double progress )
+        {
+            events.add( event );
+        }
+
+        public void checkCancelled()
+            throws SVNCancelException
+        {
+            // null
+        }
+
+        public List getEvents()
+        {
+            return events;
+        }
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnJavaUtil.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,227 @@
+package org.apache.maven.scm.provider.svn.svnjava.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.tmatesoft.svn.core.SVNCancelException;
+import org.tmatesoft.svn.core.SVNNodeKind;
+import org.tmatesoft.svn.core.wc.ISVNEventHandler;
+import org.tmatesoft.svn.core.wc.ISVNStatusHandler;
+import org.tmatesoft.svn.core.wc.SVNEvent;
+import org.tmatesoft.svn.core.wc.SVNStatus;
+import org.tmatesoft.svn.core.wc.SVNStatusType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * {@link org.tmatesoft.svn.core.wc.ISVNStatusHandler} implementation for status
+ * events.  Converts the {@link org.tmatesoft.svn.core.wc.SVNStatus} file status to a
+ * {@link org.apache.maven.scm.ScmFileStatus}
+ * <p/>
+ * The structure and comments in this method were taken from the
+ * tmate.org example file:
+ * <a href="http://svn.tmate.org/repos/jsvn/trunk/doc/examples/src/org/tmatesoft/svn/examples/wc/StatusHandler.java">
+ * org.tmatesoft.svn.examples.wc.StatusHandler</a>
+ *
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnStatusHandler
+    implements ISVNStatusHandler, ISVNEventHandler
+{
+    private List files = new ArrayList();
+
+    public SvnStatusHandler()
+    {
+    }
+
+    /**
+     * This is  an  implementation  of {@link ISVNStatusHandler#handleStatus(org.tmatesoft.svn.core.wc.SVNStatus)
+     */
+    public void handleStatus( SVNStatus status )
+    {
+        /* Gets  the  status  of  file/directory/symbolic link  text  contents. 
+         * It is  SVNStatusType  who  contains  information on the state of  an 
+         * item. 
+         */
+        SVNStatusType contentsStatus = status.getContentsStatus();
+
+        ScmFileStatus scmStatus = null;
+
+        if ( contentsStatus == SVNStatusType.STATUS_MODIFIED )
+        {
+            scmStatus = ScmFileStatus.MODIFIED;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_CONFLICTED )
+        {
+            scmStatus = ScmFileStatus.CONFLICT;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_MERGED )
+        {
+            /* The file item was merGed (changes that came from the  repository 
+             * did not overlap local changes and were merged into the file).
+             * "G"
+             */
+            scmStatus = ScmFileStatus.PATCHED;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_DELETED )
+        {
+            /* The file, directory or symbolic link item has been scheduled for 
+             * Deletion from the repository.
+             * "D"
+             */
+            scmStatus = ScmFileStatus.DELETED;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_ADDED )
+        {
+            /* The file, directory or symbolic link item has been scheduled for 
+             * Addition to the repository.
+             * "A"
+             */
+            scmStatus = ScmFileStatus.ADDED;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_UNVERSIONED )
+        {
+            /* The file, directory or symbolic link item is not  under  version 
+             * control.
+             * "?"
+             */
+            scmStatus = ScmFileStatus.UNKNOWN;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_EXTERNAL )
+        {
+            /* The item is unversioned, but is used by an eXternals definition.
+             * "X"
+             */
+            scmStatus = ScmFileStatus.UNKNOWN;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_IGNORED )
+        {
+            /* The file, directory or symbolic link item is not  under  version 
+             * control, and is configured to be Ignored during 'add',  'import' 
+             * and 'status' operations. 
+             * "I"
+             */
+            // We don't care about files that are ignored.
+            scmStatus = null;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_MISSING || contentsStatus == SVNStatusType.STATUS_INCOMPLETE )
+        {
+            /* The file, directory or  symbolic  link  item  is  under  version 
+             * control but is missing or somehow incomplete. The  item  can  be 
+             * missing if it is removed using a command incompatible  with  the 
+             * native Subversion command line client (for example, just removed 
+             * from the filesystem). In the case the item is  a  directory,  it 
+             * can  be  incomplete if the user happened to interrupt a checkout 
+             * or update.
+             * "!"
+             */
+            // TODO: This isn't the right status here.  ScmFileStatus doesn't have an error.
+            scmStatus = ScmFileStatus.UNKNOWN;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_OBSTRUCTED )
+        {
+            /* The file, directory or symbolic link item is in  the  repository 
+             * as one kind of object, but what's actually in the user's working 
+             * copy is some other kind. For example, Subversion  might  have  a 
+             * file in the repository,  but  the  user  removed  the  file  and 
+             * created a directory in its place, without using the 'svn delete' 
+             * or 'svn add' command (or JavaSVN analogues for them).
+             * "~"
+             */
+            // TODO: This isn't the right status here.  ScmFileStatus doesn't have an error.
+            scmStatus = ScmFileStatus.CONFLICT;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_REPLACED )
+        {
+            /* The file, directory or symbolic link item was  Replaced  in  the 
+             * user's working copy; that is, the item was deleted,  and  a  new 
+             * item with the same name was added (within  a  single  revision). 
+             * While they may have the same name, the repository considers them 
+             * to be distinct objects with distinct histories.
+             * "R"
+             */
+            scmStatus = ScmFileStatus.ADDED;
+        }
+        else if ( contentsStatus == SVNStatusType.STATUS_NONE || contentsStatus == SVNStatusType.STATUS_NORMAL )
+        {
+            /*
+             * The item was not modified (normal).
+             * " "
+             */
+            // Ignore these
+            scmStatus = null;
+        }
+
+        /*
+         * Now getting the status of properties of an item. SVNStatusType  also 
+         * contains information on the properties state.
+         */
+        SVNStatusType propertiesStatus = status.getPropertiesStatus();
+        /*
+         * Default - properties are normal (unmodified).
+         */
+        if ( scmStatus == null && propertiesStatus == SVNStatusType.STATUS_MODIFIED )
+        {
+            /*
+             * Properties were modified.
+             * "M"
+             */
+            scmStatus = ScmFileStatus.MODIFIED;
+        }
+        else if ( scmStatus == null && propertiesStatus == SVNStatusType.STATUS_CONFLICTED )
+        {
+            /*
+             * Properties are in conflict with the repository.
+             * "C"
+             */
+            scmStatus = ScmFileStatus.CONFLICT;
+        }
+
+        // Only add files and not directories to our list.
+        if ( scmStatus != null && status.getKind() != SVNNodeKind.DIR )
+        {
+            files.add( new ScmFile( status.getFile().getAbsolutePath(), scmStatus ) );
+        }
+    }
+
+    /*
+     * This is an implementation for 
+     * ISVNEventHandler.handleEvent(SVNEvent event, double progress)
+     */
+    public void handleEvent( SVNEvent event, double progress )
+    {
+
+    }
+
+    /*
+     * Should be implemented to check if the current operation is cancelled. If 
+     * it is, this method should throw an SVNCancelException. 
+     */
+    public void checkCancelled()
+        throws SVNCancelException
+    {
+
+    }
+
+    public List getFiles()
+    {
+        return files;
+    }
+}
\ No newline at end of file

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/util/SvnStatusHandler.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml Sun Feb 26 07:05:52 2006
@@ -0,0 +1,9 @@
+<component-set>
+  <components>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>svn</role-hint>
+      <implementation>org.apache.maven.scm.provider.svn.svnjava.SvnJavaScmProvider</implementation>
+    </component>
+  </components>
+</component-set>

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,198 @@
+package org.apache.maven.scm.provider.svn.svnjava;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import junit.framework.Assert;
+import org.apache.maven.scm.ScmTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.cli.Commandline;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+/**
+ * Uses svn-test.properties to configure how to execute the test cases.  At this time,
+ * the tmate.org java library does not support file:// urls.  To test the javasvn scm provider,
+ * you must create an apache instance which serves subversion. The repository that apache points
+ * to must also be a local repository which can be accessed via svnadmin.<br>
+ * Here is an example windows configuration: <br>
+ * - Create a folder C:\svn which will contain test repositories.
+ * - add a SVNParentPath which points to C:\svn. This will allow the test cases to create new repositories
+ * under the parent path and reference them via the url "/svn/repository-name".
+ * <pre>
+ * &lt;Location /svn&gt;
+ *   DAV svn
+ *   SVNParentPath C:\svn
+ * &lt;/Location&gt;
+ * </pre>
+ * <br>
+ * Now edit the svn-test.properties and set the following:
+ * <pre>
+ * base-url=http://localhost/svn
+ * svn-root=C:\\svn
+ * </pre>
+ * <p/>
+ * Once this is configured, remove the line in the pom.xml which excludes all of the Tck Tests
+ * during the build.  The test cases will now create test repositories in the svn-root folder
+ * and have access to them via the base-url.
+ *
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public final class SvnJavaTestUtils
+{
+    private static final int MAX_DELETE_ATTEMPTS = 10;
+
+    private static final int SLEEP_RETRY_PERIOD = 5000; // 5 seconds
+
+    private static Properties props = new Properties();
+
+    static
+    {
+        InputStream in = SvnJavaTestUtils.class.getClassLoader().getResourceAsStream( "svn-test.properties" );
+
+        if ( in != null )
+        {
+            try
+            {
+                props.load( in );
+            }
+            catch ( IOException e )
+            {
+                // ignore it
+                props.clear();
+            }
+        }
+    }
+
+    private SvnJavaTestUtils()
+    {
+    }
+
+    public static String getBaseURL()
+    {
+        return props.getProperty( "base-url" );
+    }
+
+    public static File getSvnRoot()
+    {
+        if ( props.getProperty( "svn-root" ) != null )
+        {
+            return new File( props.getProperty( "svn-root" ) );
+        }
+        else
+        {
+            return null;
+        }
+    }
+
+    /**
+     * Its possible that a server process still has the directory locked.
+     * Attempt to delete it a few times before giving up.
+     *
+     * @param directory
+     * @throws Exception
+     */
+    private static void deleteDirectory( File directory )
+        throws Exception
+    {
+        for ( int nAttempt = 0; nAttempt < MAX_DELETE_ATTEMPTS; nAttempt++ )
+        {
+            try
+            {
+                FileUtils.deleteDirectory( directory );
+            }
+            catch ( IOException e )
+            {
+                if ( nAttempt >= MAX_DELETE_ATTEMPTS - 1 )
+                {
+                    throw e;
+                }
+                else
+                {
+                    System.out.println( "Attempt[" + ( nAttempt + 1 ) + " of " + MAX_DELETE_ATTEMPTS +
+                        "] - Error deleting directory: " + directory.getAbsolutePath() );
+                    Thread.sleep( SLEEP_RETRY_PERIOD );
+                }
+            }
+        }
+    }
+
+    public static void initializeRepository( File repositoryRoot, File dump )
+        throws Exception
+    {
+        if ( repositoryRoot.exists() )
+        {
+            deleteDirectory( repositoryRoot );
+        }
+
+        Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(),
+                           repositoryRoot.mkdirs() );
+
+        ScmTestCase.execute( repositoryRoot.getParentFile(), "svnadmin", "create " + repositoryRoot.getName() );
+
+        loadSvnDump( repositoryRoot, dump );
+    }
+
+    private static void loadSvnDump( File repositoryRoot, File dump )
+        throws Exception
+    {
+        Assert.assertTrue( "The dump file doesn't exist: " + dump.getAbsolutePath(), dump.exists() );
+
+        Commandline cl = new Commandline();
+
+        cl.setExecutable( "svnadmin" );
+
+        cl.setWorkingDirectory( repositoryRoot.getParentFile().getAbsolutePath() );
+
+        cl.createArgument().setValue( "load" );
+
+        cl.createArgument().setValue( repositoryRoot.getAbsolutePath() );
+
+        CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
+
+        CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
+
+        int exitValue = CommandLineUtils.executeCommandLine( cl, new FileInputStream( dump ), stdout, stderr );
+
+        if ( exitValue != 0 )
+        {
+            System.err.println( "-----------------------------------------" );
+            System.err.println( "Command line: " + cl );
+            System.err.println( "Working directory: " + cl.getWorkingDirectory() );
+            System.err.println( "-----------------------------------------" );
+            System.err.println( "Standard output: " );
+            System.err.println( "-----------------------------------------" );
+            System.err.println( stdout.getOutput() );
+            System.err.println( "-----------------------------------------" );
+
+            System.err.println( "Standard error: " );
+            System.err.println( "-----------------------------------------" );
+            System.err.println( stderr.getOutput() );
+            System.err.println( "-----------------------------------------" );
+        }
+
+        if ( exitValue != 0 )
+        {
+            Assert.fail( "Exit value wasn't 0, was:" + exitValue );
+        }
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaTestUtils.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,57 @@
+package org.apache.maven.scm.provider.svn.svnjava.command;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.SvnJavaTestUtils;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnJavaTckTestCommand
+{
+    private final String name;
+
+    public SvnJavaTckTestCommand( Class clazz )
+    {
+        super();
+        this.name = getSimpleName( clazz );
+    }
+
+    // Returns the name of the class without the package.
+    protected static String getSimpleName( Class clazz )
+    {
+        String simpleName = clazz.getName();
+        return simpleName.substring( simpleName.lastIndexOf( "." ) + 1 ); // strip the package name
+    }
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return "scm:svn:" + SvnJavaTestUtils.getBaseURL() + "/tck-" + name + "/trunk";
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        SvnJavaTestUtils.initializeRepository( new File( SvnJavaTestUtils.getSvnRoot(), "tck-" + name ),
+                                               PlexusTestCase.getTestFile( "src/test/resources/tck/tck.dump" ) );
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/SvnJavaTckTestCommand.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.checkin;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.checkin.CheckInCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnCheckInCommandTckTest
+    extends CheckInCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.checkout;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.checkout.CheckOutCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnCheckOutCommandTckTest
+    extends CheckOutCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.diff;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.diff.DiffCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnDiffCommandTckTest
+    extends DiffCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.status;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.status.StatusCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnStatusCommandTckTest
+    extends StatusCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.tag;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.tag.TagCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnTagCommandTckTest
+    extends TagCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.scm.provider.svn.svnjava.command.update;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.svnjava.command.SvnJavaTckTestCommand;
+import org.apache.maven.scm.tck.command.update.UpdateCommandTckTest;
+
+/**
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnUpdateCommandTckTest
+    extends UpdateCommandTckTest
+{
+    private SvnJavaTckTestCommand cmd = new SvnJavaTckTestCommand( this.getClass() );
+
+    public String getScmUrl()
+        throws Exception
+    {
+        return cmd.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        cmd.initRepo();
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java Sun Feb 26 07:05:52 2006
@@ -0,0 +1,160 @@
+package org.apache.maven.scm.provider.svn.svnjava.repository;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.manager.ScmManager;
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.apache.maven.scm.provider.svn.svnjava.SvnJavaScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.scm.repository.ScmRepositoryException;
+
+import java.io.File;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @author <a href="mailto:dh-maven@famhq.com">David Hawkins</a>
+ * @version $Id$
+ */
+public class SvnScmProviderRepositoryTest
+    extends ScmTestCase
+{
+    private ScmManager scmManager;
+
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        scmManager = getScmManager();
+    }
+
+    // ----------------------------------------------------------------------
+    // Testing legal URLs
+    // ----------------------------------------------------------------------
+
+    public void testFileURLNotSupported()
+        throws Exception
+    {
+        testIllegalUrl( "scm:svn:file:///tmp/repo" );
+    }
+
+    public void testLocalhostFileURLNotSupported()
+        throws Exception
+    {
+        testIllegalUrl( "scm:svn:file://localhost/tmp/repo" );
+    }
+
+    public void testLegalHttpURL()
+        throws Exception
+    {
+        testUrl( "scm:svn:http://subversion.tigris.org", "http://subversion.tigris.org", null );
+    }
+
+    public void testLegalHttpsURL()
+        throws Exception
+    {
+        testUrl( "scm:svn:https://subversion.tigris.org", "https://subversion.tigris.org", null );
+    }
+
+    public void testLegalSvnURL()
+        throws Exception
+    {
+        testUrl( "scm:svn:svn://subversion.tigris.org", "svn://subversion.tigris.org", null );
+    }
+
+    public void testLegalSvnPlusUsernameURL()
+        throws Exception
+    {
+        testUrl( "scm:svn:svn://username@subversion.tigris.org", "svn://subversion.tigris.org", "username" );
+    }
+
+    public void testLegalSvnPlusSshURL()
+        throws Exception
+    {
+        testUrl( "scm:svn:svn+ssh://subversion.tigris.org", "svn+ssh://subversion.tigris.org", null );
+    }
+
+    public void testLegalSvnPlusSshPlusUsernameURL()
+        throws Exception
+    {
+        // This is a change from the command line svn implementation. JavaSVN will strip the username
+        // from the url because it is not needed.
+        testUrl( "scm:svn:svn+ssh://username@subversion.tigris.org", "svn+ssh://subversion.tigris.org", "username" );
+    }
+
+    // ----------------------------------------------------------------------
+    // Testing illegal URLs
+    // ----------------------------------------------------------------------
+
+    public void testIllegalFileUrl()
+        throws Exception
+    {
+        testIllegalUrl( "file:/tmp/svn" );
+    }
+
+    // ----------------------------------------------------------------------
+    // Testing provider from path
+    // ----------------------------------------------------------------------
+
+    public void testSvnFromPath()
+        throws Exception
+    {
+        SvnJavaScmProvider provider = new SvnJavaScmProvider();
+
+        provider.makeProviderScmRepository( new File( getBasedir() ) );
+    }
+
+    // ----------------------------------------------------------------------
+    //
+    // ----------------------------------------------------------------------
+
+    private void testUrl( String scmUrl, String expectedUrl, String expectedUser )
+        throws Exception
+    {
+        ScmRepository repository = scmManager.makeScmRepository( scmUrl );
+
+        assertNotNull( "ScmManager.makeScmRepository() returned null", repository );
+
+        assertNotNull( "The provider repository was null.", repository.getProviderRepository() );
+
+        assertTrue( "The SCM Repository isn't a " + SvnScmProviderRepository.class.getName() + ".",
+                    repository.getProviderRepository() instanceof SvnScmProviderRepository );
+
+        SvnScmProviderRepository providerRepository = (SvnScmProviderRepository) repository.getProviderRepository();
+
+        assertEquals( "url is incorrect", expectedUrl, providerRepository.getUrl() );
+
+        assertEquals( "User is incorrect", expectedUser, providerRepository.getUser() );
+    }
+
+    private void testIllegalUrl( String url )
+        throws Exception
+    {
+        try
+        {
+            scmManager.makeScmRepository( "scm:svn:" + url );
+
+            fail( "Expected a ScmRepositoryException while testing the url '" + url + "'." );
+        }
+        catch ( ScmRepositoryException e )
+        {
+            // Success
+            assertTrue( true );
+        }
+    }
+}

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/checkout.dump
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/checkout.dump?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/checkout.dump (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/checkout.dump Sun Feb 26 07:05:52 2006
@@ -0,0 +1,144 @@
+SVN-fs-dump-format-version: 2
+
+UUID: 32329737-c6e7-0310-acdd-fde163f827b2
+
+Revision-number: 0
+Prop-content-length: 56
+Content-length: 56
+
+K 8
+svn:date
+V 27
+2004-10-31T22:57:32.330365Z
+PROPS-END
+
+Revision-number: 1
+Prop-content-length: 101
+Content-length: 101
+
+K 7
+svn:log
+V 0
+
+K 10
+svn:author
+V 7
+trygvis
+K 8
+svn:date
+V 27
+2004-10-31T23:00:31.108377Z
+PROPS-END
+
+Node-path: file
+Node-kind: file
+Node-action: add
+Prop-content-length: 10
+Text-content-length: 0
+Text-content-md5: d41d8cd98f00b204e9800998ecf8427e
+Content-length: 10
+
+PROPS-END
+
+
+Revision-number: 2
+Prop-content-length: 101
+Content-length: 101
+
+K 7
+svn:log
+V 0
+
+K 10
+svn:author
+V 7
+trygvis
+K 8
+svn:date
+V 27
+2004-10-31T23:01:07.427469Z
+PROPS-END
+
+Node-path: file_2
+Node-kind: file
+Node-action: add
+Prop-content-length: 10
+Text-content-length: 0
+Text-content-md5: d41d8cd98f00b204e9800998ecf8427e
+Content-length: 10
+
+PROPS-END
+
+
+Revision-number: 3
+Prop-content-length: 101
+Content-length: 101
+
+K 7
+svn:log
+V 0
+
+K 10
+svn:author
+V 7
+trygvis
+K 8
+svn:date
+V 27
+2004-10-31T23:01:47.729957Z
+PROPS-END
+
+Node-path: file_1
+Node-kind: file
+Node-action: add
+Node-copyfrom-rev: 1
+Node-copyfrom-path: file
+
+
+Node-path: file_2
+Node-kind: file
+Node-action: change
+Text-content-length: 17
+Text-content-md5: 53adcdeed5651fafe46fbba6b5e87d02
+Content-length: 17
+
+adding some crap
+
+
+Node-path: file
+Node-action: delete
+
+
+Revision-number: 4
+Prop-content-length: 118
+Content-length: 118
+
+K 7
+svn:log
+V 16
+o My log message
+K 10
+svn:author
+V 7
+trygvis
+K 8
+svn:date
+V 27
+2004-11-01T07:34:03.254229Z
+PROPS-END
+
+Node-path: file_2
+Node-kind: file
+Node-action: change
+Text-content-length: 102
+Text-content-md5: 12db6e90dbaccb1e1c793465d0cd2573
+Content-length: 102
+
+adding some crap
+adding some crap
+adding some crap
+adding some crap
+adding some crap
+adding some crap
+
+

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties Sun Feb 26 07:05:52 2006
@@ -0,0 +1,2 @@
+svn-root=C:\\svn
+base-url=http://localhost/svn
\ No newline at end of file

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn-test.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt?rev=381101&view=auto
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt Sun Feb 26 07:05:52 2006
@@ -0,0 +1,212 @@
+------------------------------------------------------------------------
+rev 15:  kaz | 2002-08-26 14:33:26 -0400 (Mon, 26 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+   M /poolserver/trunk/project.properties
+
+Minor formatting changes.
+
+------------------------------------------------------------------------
+rev 14:  kaz | 2002-08-26 10:24:58 -0400 (Mon, 26 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+
+Cleaned up some whitespace.
+
+------------------------------------------------------------------------
+rev 13:  kaz | 2002-08-24 12:56:37 -0400 (Sat, 24 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/src/java
+
+Added an svn:ignore property to ignore the 'tags' file.
+
+------------------------------------------------------------------------
+rev 12:  kaz | 2002-08-24 12:31:41 -0400 (Sat, 24 Aug 2002) | 3 lines
+Changed paths:
+   D /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp/.SnmpPhysicalGateway.java.swp
+
+Ditching a vim swap file.
+
+------------------------------------------------------------------------
+rev 11:  kaz | 2002-08-24 00:20:25 -0400 (Sat, 24 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp/SnmpPhysicalGateway.java
+
+Did some basic refactoring and just preparing to go-time.
+
+------------------------------------------------------------------------
+rev 10:  kaz | 2002-08-24 00:19:39 -0400 (Sat, 24 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+
+Added a ctags target in the event I have to use vim.
+
+------------------------------------------------------------------------
+rev 9:  kaz | 2002-08-23 11:11:52 -0400 (Fri, 23 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+
+Testing script out again ...
+
+------------------------------------------------------------------------
+rev 8:  kaz | 2002-08-23 11:07:46 -0400 (Fri, 23 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+
+Testing svn commit-email script ...
+
+------------------------------------------------------------------------
+rev 7:  pete | 2002-08-23 11:03:39 -0400 (Fri, 23 Aug 2002) | 4 lines
+Changed paths:
+   M /poolserver/trunk/build.xml
+
+Reformatted the indentation (really just an excuse to test out
+subversion).
+
+------------------------------------------------------------------------
+rev 6:  kaz | 2002-08-23 10:36:23 -0400 (Fri, 23 Aug 2002) | 3 lines
+Changed paths:
+   M /poolserver/trunk/resources/WEB-INF/lib/xerces-1.4.4.jar
+
+Replacing the xerces library as it seems to be corrupted.
+
+------------------------------------------------------------------------
+rev 5:  kaz | 2002-08-22 11:28:22 -0400 (Thu, 22 Aug 2002) | 3 lines
+Changed paths:
+   A /poolserver/trunk/build.xml
+   A /poolserver/trunk/poolserver.zargo
+   A /poolserver/trunk/project.properties
+   A /poolserver/trunk/resources
+   A /poolserver/trunk/resources/WEB-INF
+   A /poolserver/trunk/resources/WEB-INF/conf
+   A /poolserver/trunk/resources/WEB-INF/conf/Fulcrum.properties
+   A /poolserver/trunk/resources/WEB-INF/conf/TurbineResources.properties
+   A /poolserver/trunk/resources/WEB-INF/conf/demo-pipeline.xml
+   A /poolserver/trunk/resources/WEB-INF/lib
+   A /poolserver/trunk/resources/WEB-INF/lib/JavaGroups-2.0.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/activation-1.0.1.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/antlr.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/avalon-framework.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-beanutils.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-betwixt-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-codec-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-collections-2.0.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-configuration-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-digester-1.1.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-email-0.1-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-fileupload-0.1-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-http.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-io.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-lang-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-logging-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-pool.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-util-1.0-rc2-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/commons-xo-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/dom4j-1.3.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/fulcrum-3.0-b2-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/jakarta-regexp-1.3-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/jcs-1.0-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/jdbc2_0-stdext.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/jta.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/junit-3.7.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/log4j-1.1.3.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/lucene-1.2.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/mail-1.2.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/ojb-0.9.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/postgresql.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/servlet-2.3.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/snmp.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/stratum-1.0-b2-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/torque-3.0-b3-dev.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/turbine-3.0alpha.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/velocity-1.3-rc1.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/xalan-2.1.0.jar
+   A /poolserver/trunk/resources/WEB-INF/lib/xerces-1.4.4.jar
+   A /poolserver/trunk/resources/WEB-INF/web.xml
+   A /poolserver/trunk/resources/css
+   A /poolserver/trunk/resources/css/ns4_only.css
+   A /poolserver/trunk/resources/css/pool.css
+   A /poolserver/trunk/resources/css/print.css
+   A /poolserver/trunk/resources/css/tigris.css
+   A /poolserver/trunk/resources/images
+   A /poolserver/trunk/resources/images/icon_alert.gif
+   A /poolserver/trunk/resources/images/icon_alertsml.gif
+   A /poolserver/trunk/resources/images/icon_confirmsml.gif
+   A /poolserver/trunk/resources/images/nw_min.gif
+   A /poolserver/trunk/resources/images/strich.gif
+   A /poolserver/trunk/resources/images/sw_min.gif
+   A /poolserver/trunk/resources/logs
+   A /poolserver/trunk/resources/logs/services.log
+   A /poolserver/trunk/resources/logs/torque.log
+   A /poolserver/trunk/resources/logs/trace.log
+   A /poolserver/trunk/resources/logs/turbine.log
+   A /poolserver/trunk/resources/logs/velocity.log
+   A /poolserver/trunk/resources/logs/velocity.log.1
+   A /poolserver/trunk/resources/sampler.html
+   A /poolserver/trunk/resources/scripts
+   A /poolserver/trunk/resources/scripts/tigris.js
+   A /poolserver/trunk/resources/templates
+   A /poolserver/trunk/resources/templates/layouts
+   A /poolserver/trunk/resources/templates/layouts/Default.vm
+   A /poolserver/trunk/resources/templates/navigations
+   A /poolserver/trunk/resources/templates/navigations/Administration.vm
+   A /poolserver/trunk/resources/templates/navigations/Default.vm
+   A /poolserver/trunk/resources/templates/navigations/HowDoI.vm
+   A /poolserver/trunk/resources/templates/navigations/PoolTools.vm
+   A /poolserver/trunk/resources/templates/navigations/ProjectInfo.vm
+   A /poolserver/trunk/resources/templates/screens
+   A /poolserver/trunk/resources/templates/screens/.Pool.vm.swp
+   A /poolserver/trunk/resources/templates/screens/Default.vm
+   A /poolserver/trunk/resources/templates/screens/Error.vm
+   A /poolserver/trunk/resources/templates/screens/Pool.vm
+   A /poolserver/trunk/src
+   A /poolserver/trunk/src/java
+   A /poolserver/trunk/src/java/net
+   A /poolserver/trunk/src/java/net/ibasis
+   A /poolserver/trunk/src/java/net/ibasis/poolserver
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/AbstractPhysicalGateway.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/AbstractPool.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/CallCounter.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/CompositePool.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/Gateway.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/GatewayAttribute.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/PhysicalGateway.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/Utilization.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/impl
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp/.SnmpPhysicalGateway.java.swp
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp/DialPeerAttribute.java
+   A /poolserver/trunk/src/java/net/ibasis/poolserver/impl/snmp/SnmpPhysicalGateway.java
+   A /poolserver/trunk/src/target
+   A /poolserver/trunk/src/target/.dependency-info
+   A /poolserver/trunk/src/target/.dependency-info/-outtosrc-.i
+   A /poolserver/trunk/src/target/.dependency-info/-timestamp-.i
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.AbstractPhysicalGateway.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.AbstractPool.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.CallCounter.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.CompositePool.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.Gateway.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.GatewayAttribute.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.PhysicalGateway.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.PoolTreeTest.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.Utilization.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver/.UtilizationTest.di
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver.impl.snmp
+   A /poolserver/trunk/src/target/.dependency-info/net.ibasis.poolserver.impl.snmp/.SnmpPhysicalGateway.di
+   A /poolserver/trunk/src/test
+   A /poolserver/trunk/src/test/net
+   A /poolserver/trunk/src/test/net/ibasis
+   A /poolserver/trunk/src/test/net/ibasis/poolserver
+   A /poolserver/trunk/src/test/net/ibasis/poolserver/PoolTreeTest.java
+   A /poolserver/trunk/src/test/net/ibasis/poolserver/UtilizationTest.java
+
+Initial import of sources.
+
+------------------------------------------------------------------------
+rev 2:  kaz | 2002-08-22 11:25:16 -0400 (Thu, 22 Aug 2002) | 1 line
+Changed paths:
+   A /poolserver/trunk
+
+Poolserver Main Trunk
+------------------------------------------------------------------------

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/sandbox/maven-scm-provider-svnjava/src/test/resources/svn/changelog/svnlog.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"



Mime
View raw message