Author: carlos
Date: Sun Jan 20 18:56:28 2008
New Revision: 613736

URL: http://svn.apache.org/viewvc?rev=613736&view=rev
Log:
Add Java sync tooling to reduce the complexity of the process

Added:
    maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.csv
    
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
   (with props)
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
   (with props)
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
   (with props)
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
   (with props)
    
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
   (with props)
    maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties   
(with props)
Removed:
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Reader.java
    
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/ReaderTest.java
Modified:
    maven/archiva/tools/trunk/maven-meeper/pom.xml
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
    
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv

Modified: maven/archiva/tools/trunk/maven-meeper/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/pom.xml?rev=613736&r1=613735&r2=613736&view=diff
==============================================================================
--- maven/archiva/tools/trunk/maven-meeper/pom.xml (original)
+++ maven/archiva/tools/trunk/maven-meeper/pom.xml Sun Jan 20 18:56:28 2008
@@ -33,6 +33,11 @@
       <version>1.0-SNAPSHOT</version>
     </dependency>
     <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.4.8</version>
+    </dependency>
+    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
       <version>2.2</version>
@@ -44,6 +49,34 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-1</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <descriptorRefs>
+            <descriptorRef>jar-with-dependencies</descriptorRef>
+          </descriptorRefs>
+          <archive>
+            <manifest>
+             
<mainClass>org.apache.maven.archiva.meeper.Synchronizer</mainClass>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
   <repositories>
     <repository>

Added: 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.csv
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.csv?rev=613736&view=auto
==============================================================================
--- maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.csv 
(added)
+++ maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.csv 
Sun Jan 20 18:56:28 2008
@@ -0,0 +1,3 @@
+"groupId","location","protocol","contactName","contactMail","ssh options"
+"asm","[EMAIL 
PROTECTED]:../../groups/maven/htdocs/maven2","rsync_ssh","EugeneKuleshov","[EMAIL
 PROTECTED]"
+"ch.qos.logback","rsync://pixie.qos.ch/mvnrepo","rsync","Ceki Gulcu","[EMAIL 
PROTECTED]"

Added: 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties?rev=613736&view=auto
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
 (added)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
 Sun Jan 20 18:56:28 2008
@@ -0,0 +1,3 @@
+exclusionsFile=/home/maven/bin/synchronize/syncopate/exclusions.txt
+basedir=/home/maven/repository-staging/to-ibiblio/maven2
+log=/tmp/sync-changed.log

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java?rev=613736&view=auto
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
 (added)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
 Sun Jan 20 18:56:28 2008
@@ -0,0 +1,72 @@
+package org.apache.maven.archiva.meeper;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.csv.CSVParser;
+
+/**
+ * Read a csv file with the synced repositories information
+ * 
+ * @author <a href="mailto:[EMAIL PROTECTED]">Carlos Sanchez</a>
+ * @version $Id$
+ */
+public class CsvReader {
+
+    /**
+     * @param is
+     * @return [EMAIL PROTECTED] List} of [EMAIL PROTECTED] SyncedRepository}
+     * @throws IOException
+     */
+    public List parse(InputStream is) throws IOException
+
+    {
+        InputStreamReader reader = new InputStreamReader(is);
+        CSVParser parser = new CSVParser(reader);
+
+        try {
+
+            String[][] data = parser.getAllValues();
+            List repos = new ArrayList(data.length - 1);
+
+            /* ignore headers line */
+            for (int i = 1; i < data.length; i++) {
+                int j = 0;
+                SyncedRepository repo = new SyncedRepository();
+                repo.setGroupId(data[i][j++]);
+                repo.setLocation(data[i][j++]);
+                repo.setProtocol(data[i][j++]);
+                repo.setContactName(data[i][j++]);
+                repo.setContactMail(data[i][j++]);
+                repos.add(repo);
+            }
+
+            return repos;
+
+        } finally {
+            try {
+                reader.close();
+            } catch (IOException e) {
+                // ignore
+            }
+        }
+    }
+}

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java?rev=613736&r1=613735&r2=613736&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
 Sun Jan 20 18:56:28 2008
@@ -18,13 +18,17 @@
 import org.apache.commons.lang.builder.ReflectionToStringBuilder;
 
 /**
- * Stores a synced repository data. 
+ * Stores a synced repository data.
  * 
  * @author <a href="mailto:[EMAIL PROTECTED]">Carlos Sanchez</a>
  * @version $Id$
  */
-public class SyncedRepository
-{
+public class SyncedRepository {
+
+    public static final String PROTOCOL_SSH = "rsync_ssh";
+    public static final String PROTOCOL_RSYNC = "rsync";
+    public static final String PROTOCOL_SVN = "svn";
+
     private String groupId;
 
     private String location;
@@ -35,58 +39,58 @@
 
     private String contactMail;
 
-    public void setGroupId( String groupId )
-    {
+    private String sshOptions;
+
+    public void setGroupId(String groupId) {
         this.groupId = groupId;
     }
 
-    public String getGroupId()
-    {
+    public String getGroupId() {
         return groupId;
     }
 
-    public void setContactName( String contactName )
-    {
+    public void setContactName(String contactName) {
         this.contactName = contactName;
     }
 
-    public String getContactName()
-    {
+    public String getContactName() {
         return contactName;
     }
 
-    public void setContactMail( String contactMail )
-    {
+    public void setContactMail(String contactMail) {
         this.contactMail = contactMail;
     }
 
-    public String getContactMail()
-    {
+    public String getContactMail() {
         return contactMail;
     }
 
-    public void setLocation( String location )
-    {
+    public void setLocation(String location) {
         this.location = location;
     }
 
-    public String getLocation()
-    {
+    public String getLocation() {
         return location;
     }
 
-    public void setProtocol( String protocol )
-    {
+    public void setProtocol(String protocol) {
         this.protocol = protocol;
     }
 
-    public String getProtocol()
-    {
+    public String getProtocol() {
         return protocol;
     }
 
-    public String toString()
-    {
-        return ReflectionToStringBuilder.toString( this );
+    public String getSshOptions() {
+        return sshOptions;
+    }
+
+    public void setSshOptions(String sshOptions) {
+        this.sshOptions = sshOptions;
+    }
+
+    public String toString() {
+        return ReflectionToStringBuilder.toString(this);
     }
+
 }

Added: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java?rev=613736&view=auto
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 (added)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 Sun Jan 20 18:56:28 2008
@@ -0,0 +1,155 @@
+package org.apache.maven.archiva.meeper;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
+import org.codehaus.plexus.util.cli.CommandLineException;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * exclusions=$HOME/bin/synchronize/syncopate/exclusions.txt
+ * BASEDIR=$HOME/repository-staging/to-ibiblio/maven2
+ * CHANGED_LOG=/tmp/sync-changed.log
+ */
+public class Synchronizer {
+
+    private static final String RSYNC = "rsync";
+
+    private static final String DRY_RUN = "-n";
+
+    private SynchronizerOptions options;
+
+    public Synchronizer(SynchronizerOptions options) {
+        this.options = options;
+    }
+
+    public void sync(List repositories) {
+        Iterator it = repositories.iterator();
+        while (it.hasNext()) {
+            SyncedRepository repo = (SyncedRepository) it.next();
+            try {
+                sync(repo);
+            } catch (RuntimeException e) {
+                System.out.println("Error synchronizing repository " + 
repo.getGroupId() + ". "
+                        + e.getMessage());
+            } catch (InterruptedException e) {
+                System.out.println("Repository sync for " + repo.getGroupId() 
+ " was interrupted");
+            }
+        }
+    }
+
+    public void sync(SyncedRepository repo) throws InterruptedException {
+        int exitCode = syncMetadata(repo);
+        if (exitCode != 0) {
+            throw new RuntimeException("Error synchronizing metadata. Exit 
code: " + exitCode);
+        }
+        exitCode = syncArtifacts(repo);
+        if (exitCode != 0) {
+            throw new RuntimeException("Error synchronizing artifacts. Exit 
code: " + exitCode);
+        }
+    }
+
+    private int syncMetadata(SyncedRepository repo) throws 
InterruptedException {
+        Commandline cl = new Commandline();
+        cl.setExecutable(RSYNC);
+
+        cl.createArg().setValue("--include=*/");
+        cl.createArg().setValue("--include=**/maven-metadata.xml*");
+        cl.createArg().setValue("--exclude=*");
+        cl.createArg().setValue("--exclude-from=" + 
options.getExclusionsFile());
+        addCommonArguments(cl, repo);
+
+        System.out.println("=== Synchronizing metadata " + repo);
+        return executeCommandLine(cl);
+    }
+
+    private int syncArtifacts(SyncedRepository repo) {
+        Commandline cl = new Commandline();
+        cl.setExecutable(RSYNC);
+
+        cl.createArg().setValue("--exclude-from=" + 
options.getExclusionsFile());
+        cl.createArg().setValue("--ignore-existing");
+        addCommonArguments(cl, repo);
+
+        System.out.println("=== Synchronizing artifacts " + repo);
+        return executeCommandLine(cl);
+    }
+
+    private void addCommonArguments(Commandline cl, SyncedRepository repo) {
+        cl.createArg().setValue(DRY_RUN);
+        // cl.createArg().setValue("$RSYNC_OPTS");
+        cl.createArg().setValue("-Lrtivz");
+        if (SyncedRepository.PROTOCOL_SSH.equals(repo.getProtocol())) {
+            String s = repo.getSshOptions() == null ? "" : 
repo.getSshOptions();
+            cl.createArg().setValue("--rsh=ssh " + s);
+        }
+        cl.createArg().setValue(repo.getLocation() + "/" + repo.getGroupId());
+        cl.createArg().setValue(options.getBasedir() + "/" + 
repo.getGroupId());
+    }
+
+    private int executeCommandLine(Commandline cl) {
+        CommandLineUtils.StringStreamConsumer out = new 
CommandLineUtils.StringStreamConsumer();
+        CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
+
+        System.out.println("About to execute " + cl);
+
+        int exitCode;
+        try {
+            exitCode = CommandLineUtils.executeCommandLine(cl, out, err);
+        } catch (CommandLineException e) {
+            throw new RuntimeException(e);
+        }
+
+        System.out.println(out.getOutput());
+
+        String serr = err.getOutput();
+        if ((serr != null) && serr.length() > 0) {
+            System.out.println("!!! Errors:");
+            System.err.println(serr);
+        }
+
+        return exitCode;
+    }
+
+    public static void main(String[] args) {
+        if ((args.length != 2) && (args.length != 3)) {
+            System.out.println("Arguments required: CONFIG_PROPERTIES_FILE 
REPOSITORIES_FILE [go]");
+            return;
+        }
+
+        int i = 0;
+        SynchronizerOptions options = SynchronizerOptions.parse(new 
File(args[i++]));
+        Synchronizer synchronizer = new Synchronizer(options);
+
+        FileInputStream is = null;
+        try {
+            is = new FileInputStream(new File(args[i++]));
+        } catch (FileNotFoundException e) {
+            System.err.println("Repositories file " + args[i - 1] + " is not 
present");
+        }
+
+        List repositories;
+        try {
+            repositories = new CsvReader().parse(is);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        } finally {
+            try {
+                is.close();
+            } catch (IOException e) {
+            }
+        }
+
+        String go = args[i++];
+        if ((go != null) && ("go".equals(go))) {
+            options.setDryRun(false);
+        }
+
+        synchronizer.sync(repositories);
+    }
+}

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java?rev=613736&view=auto
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
 (added)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
 Sun Jan 20 18:56:28 2008
@@ -0,0 +1,77 @@
+package org.apache.maven.archiva.meeper;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.Properties;
+
+public class SynchronizerOptions {
+    private static final String BASEDIR = "basedir";
+    private static final String LOG_FILE = "log";
+    private static final String EXCLUSIONS_FILE = "exclusionsFile";
+    private String exclusionsFile;
+    private String basedir;
+    private String logFile;
+    private boolean dryRun = true;
+
+    public String getExclusionsFile() {
+        return exclusionsFile;
+    }
+
+    public void setExclusionsFile(String exclusionsFile) {
+        this.exclusionsFile = exclusionsFile;
+    }
+
+    public String getBasedir() {
+        return basedir;
+    }
+
+    public void setBasedir(String basedir) {
+        this.basedir = basedir;
+    }
+
+    public String getLogFile() {
+        return logFile;
+    }
+
+    public void setLogFile(String logFile) {
+        this.logFile = logFile;
+    }
+
+    public void setDryRun(boolean dryRun) {
+        this.dryRun = dryRun;
+    }
+
+    public boolean isDryRun() {
+        return dryRun;
+    }
+
+    public static SynchronizerOptions parse(File f) {
+
+        FileReader reader;
+        try {
+            reader = new FileReader(f);
+        } catch (FileNotFoundException e) {
+            throw new IllegalArgumentException("File does not exist: " + f, e);
+        }
+
+        Properties properties = new Properties();
+        try {
+            properties.load(reader);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        } finally {
+            try {
+                reader.close();
+            } catch (IOException e) {
+            }
+        }
+
+        SynchronizerOptions options = new SynchronizerOptions();
+        options.setExclusionsFile(properties.getProperty(EXCLUSIONS_FILE));
+        options.setLogFile(properties.getProperty(LOG_FILE));
+        options.setBasedir(properties.getProperty(BASEDIR));
+        return options;
+    }
+}

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java?rev=613736&view=auto
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
 (added)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
 Sun Jan 20 18:56:28 2008
@@ -0,0 +1,45 @@
+package org.apache.maven.archiva.meeper;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+import java.io.InputStream;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class CsvReaderTest extends TestCase {
+
+    private CsvReader reader;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        reader = new CsvReader();
+    }
+
+    public void testParse() throws Exception {
+        InputStream is = this.getClass().getClassLoader().getResourceAsStream(
+                "org/apache/maven/archiva/meeper/sync.csv");
+        List repos = reader.parse(is);
+        assertEquals(2, repos.size());
+        for (Iterator it = repos.iterator(); it.hasNext();) {
+            SyncedRepository repo = (SyncedRepository) it.next();
+            System.out.println(repo);
+        }
+    }
+
+}

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv?rev=613736&r1=613735&r2=613736&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
 Sun Jan 20 18:56:28 2008
@@ -1,3 +1,3 @@
-"groupId","location","protocol","contactName","contactMail"
+"groupId","location","protocol","contactName","contactMail","ssh options"
 "asm","[EMAIL 
PROTECTED]:../../groups/maven/htdocs/maven2","rsync_ssh","EugeneKuleshov","[EMAIL
 PROTECTED]"
 "ch.qos.logback","rsync://pixie.qos.ch/mvnrepo","rsync","Ceki Gulcu","[EMAIL 
PROTECTED]"

Added: maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties?rev=613736&view=auto
==============================================================================
--- maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties 
(added)
+++ maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties 
Sun Jan 20 18:56:28 2008
@@ -0,0 +1,3 @@
+exclusionsFile=bin/synchronize/syncopate/exclusions.txt
+basedir=/home/maven/repository-staging/to-ibiblio/maven2
+log=/tmp/sync-changed.log

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/sync.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"


Reply via email to