Episode 10
diff --git a/pom.xml b/pom.xml
index 4b996ff..fa53634 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,6 +113,12 @@
       <version>1.3</version>
       <optional>true</optional>
     </dependency>
+    <dependency>
+      <groupId>com.github.tomakehurst</groupId>
+      <artifactId>wiremock-standalone</artifactId>
+      <version>2.11.0</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystem.java b/src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystem.java
index 869809e..5a1653b 100644
--- a/src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystem.java
+++ b/src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystem.java
@@ -10,6 +10,7 @@
 import java.text.SimpleDateFormat;
 import java.util.AbstractList;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 import java.util.logging.Level;
@@ -32,6 +33,9 @@
 
     static final int TEN_SECONDS_OF_MILLIS = 10000;
     private static final Logger LOGGER = Logger.getLogger(ASFGitSCMFileSystem.class.getName());
+    static final List<String> GIT_WEB_HOSTS = new ArrayList<>(Arrays.asList(
+            ASFGitSCMNavigator.GIT_WIP, ASFGitSCMNavigator.GIT_BOX
+    ));
     private final String remote;
     private final String refOrHash;
 
@@ -47,7 +51,9 @@
         this.remote = remote;
         this.refOrHash = rev instanceof AbstractGitSCMSource.SCMRevisionImpl
                 ? ((AbstractGitSCMSource.SCMRevisionImpl) rev).getHash()
-                : (head instanceof GitTagSCMHead ? Constants.R_TAGS+head.getName() : Constants.R_HEADS+head.getName());
+                : (head instanceof GitTagSCMHead
+                        ? Constants.R_TAGS + head.getName()
+                        : Constants.R_HEADS + head.getName());
     }
 
     @Override
@@ -78,10 +84,10 @@
         UriTemplate commitTemplate;
         String server = null;
         String p = null;
-        for (String s : new String[]{ASFGitSCMNavigator.GIT_WIP, ASFGitSCMNavigator.GIT_BOX}) {
-            if (remote.startsWith(s + "/")) {
-                server = s;
-                p = remote.substring(s.length() + 1);
+        for (String prefix : GIT_WEB_HOSTS) {
+            if (remote.startsWith(prefix + "/")) {
+                server = prefix;
+                p = remote.substring(prefix.length() + 1);
                 break;
             }
         }
@@ -101,7 +107,12 @@
 
         @Override
         public boolean supports(@NonNull String remote) {
-            return remote.startsWith(ASFGitSCMNavigator.GIT_BOX) || remote.startsWith(ASFGitSCMNavigator.GIT_WIP);
+            for (String prefix : GIT_WEB_HOSTS) {
+                if (remote.startsWith(prefix + "/")) {
+                    return true;
+                }
+            }
+            return false;
         }
 
         @Override
@@ -154,9 +165,11 @@
                 } catch (ParseException e) {
                     throw new IOException("Unexpected date format, expected RFC 2822, got " + elements.get(1).text());
                 }
-                return new GitTagSCMRevision(new GitTagSCMHead(refOrHash.substring(Constants.R_TAGS.length()), time), revision);
-            } else if (refOrHash.startsWith(Constants.R_HEADS)){
-                return new AbstractGitSCMSource.SCMRevisionImpl(new SCMHead(refOrHash.substring(Constants.R_HEADS.length())), revision);
+                return new GitTagSCMRevision(new GitTagSCMHead(refOrHash.substring(Constants.R_TAGS.length()), time),
+                        revision);
+            } else if (refOrHash.startsWith(Constants.R_HEADS)) {
+                return new AbstractGitSCMSource.SCMRevisionImpl(
+                        new SCMHead(refOrHash.substring(Constants.R_HEADS.length())), revision);
             } else {
                 // TODO fix for hash without branch name
                 return null;
@@ -237,8 +250,8 @@
                     .expand();
             Document doc = Jsoup.parse(new URL(commitUrl), TEN_SECONDS_OF_MILLIS);
             Elements elements = doc.select("table.heads tr td.current_head a.name");
-            if (elements.size()>0) {
-                return Constants.R_HEADS+elements.get(0).text();
+            if (elements.size() > 0) {
+                return Constants.R_HEADS + elements.get(0).text();
             }
             return null;
         }
diff --git a/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystemTest.java b/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystemTest.java
index e5168ac..55df2f8 100644
--- a/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystemTest.java
+++ b/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMFileSystemTest.java
@@ -1,10 +1,17 @@
 package org.apache.jenkins.gitpubsub;
 
+import com.github.tomakehurst.wiremock.client.WireMock;
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
 import java.util.EnumSet;
 import jenkins.plugins.git.GitSCMTelescope;
 import jenkins.scm.api.SCMRevision;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.*;
 
@@ -12,11 +19,33 @@
  * @author Stephen Connolly
  */
 public class ASFGitSCMFileSystemTest {
+    @Rule
+    public WireMockRule wire = new WireMockRule(wireMockConfig().dynamicPort());
+    private String serverRootUrl;
+
+    @Before
+    public void injectMockServer() throws Exception {
+        serverRootUrl = "http://localhost:" + wire.port() + "/repos/asf";
+        ASFGitSCMFileSystem.GIT_WEB_HOSTS.add(serverRootUrl);
+    }
+
+    @After
+    public void removeMockServer() throws Exception {
+        ASFGitSCMFileSystem.GIT_WEB_HOSTS.remove(serverRootUrl);
+    }
+
     @Test
     public void smokeTestGetTimestamp() throws Exception {
+//        wire.startRecording(WireMock.recordSpec()
+//                .forTarget("https://git-wip-us.apache.org/")
+//                .ignoreRepeatRequests()
+//                .chooseBodyMatchTypeAutomatically()
+//                .build()
+//        );
         long timestamp = new ASFGitSCMFileSystem.TelescopeImpl()
-                .getTimestamp("https://git-wip-us.apache.org/repos/asf/maven.git", null, "maven-3.5.0");
+                .getTimestamp(serverRootUrl+  "/maven.git", null, "maven-3.5.0");
         assertThat(timestamp, is(1491248130000L));
+//        wire.stopRecording();
     }
     @Test
     public void smokeTestGetRevisions() throws Exception {
diff --git a/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMNavigatorTest.java b/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMNavigatorTest.java
new file mode 100644
index 0000000..cf80dda
--- /dev/null
+++ b/src/test/java/org/apache/jenkins/gitpubsub/ASFGitSCMNavigatorTest.java
@@ -0,0 +1,168 @@
+package org.apache.jenkins.gitpubsub;
+
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+import edu.umd.cs.findbugs.annotations.NonNull;
+import edu.umd.cs.findbugs.annotations.Nullable;
+import hudson.ExtensionList;
+import hudson.model.AbstractItem;
+import hudson.model.ItemGroup;
+import hudson.model.Job;
+import hudson.model.TaskListener;
+import hudson.model.TopLevelItem;
+import hudson.model.TopLevelItemDescriptor;
+import hudson.util.LogTaskListener;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import jenkins.scm.api.SCMSource;
+import jenkins.scm.api.SCMSourceCriteria;
+import jenkins.scm.api.SCMSourceObserver;
+import jenkins.scm.api.SCMSourceOwner;
+import jenkins.scm.impl.NoOpProjectObserver;
+import jenkins.scm.impl.trait.WildcardSCMSourceFilterTrait;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.jvnet.hudson.test.JenkinsRule;
+import org.jvnet.hudson.test.TestExtension;
+
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
+import static org.hamcrest.Matchers.hasItem;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
+
+public class ASFGitSCMNavigatorTest {
+
+    @Rule
+    public JenkinsRule j = new JenkinsRule();
+    @Rule
+    public WireMockRule wire = new WireMockRule(wireMockConfig().dynamicPort());
+
+    @Test
+    public void given__instance_without_filters__when__visitSources__then__maven_repo_found() throws Exception {
+        ASFGitSCMNavigator instance =
+                new ASFGitSCMNavigator("http://localhost:" + wire.port() + "/repos/asf");
+        CapturingObserver probe = new CapturingObserver(j.createProject(MockSCMSourceOwner.class));
+        instance.visitSources(probe);
+        assertThat(probe.getObserved(), hasItem(is("maven")));
+    }
+
+
+    @Test
+    public void given__instance_with_filter__when__visitSources__then__maven_repo_not_found() throws Exception {
+        ASFGitSCMNavigator instance =
+                new ASFGitSCMNavigator("http://localhost:" + wire.port() + "/repos/asf");
+        instance.setTraits(Collections.singletonList(new WildcardSCMSourceFilterTrait("*", "maven*")));
+        CapturingObserver probe = new CapturingObserver(j.createProject(MockSCMSourceOwner.class));
+        instance.visitSources(probe);
+        assertThat(probe.getObserved(), not(hasItem(is("maven"))));
+    }
+
+    private static class CapturingObserver extends SCMSourceObserver {
+        private final SCMSourceOwner context;
+        private final Set<String> observed = new TreeSet<>();
+
+        private CapturingObserver(SCMSourceOwner context) {
+            this.context = context;
+        }
+
+        public Set<String> getObserved() {
+            return observed;
+        }
+
+        @NonNull
+        @Override
+        public SCMSourceOwner getContext() {
+            return context;
+        }
+
+        @NonNull
+        @Override
+        public TaskListener getListener() {
+            return new LogTaskListener(Logger.getAnonymousLogger(), Level.INFO);
+        }
+
+        @NonNull
+        @Override
+        public ProjectObserver observe(@NonNull String projectName)
+                throws IllegalArgumentException, IOException, InterruptedException {
+            observed.add(projectName);
+            return new NoOpProjectObserver();
+        }
+
+        @Override
+        public void addAttribute(@NonNull String key, @Nullable Object value)
+                throws IllegalArgumentException, ClassCastException {
+
+        }
+    }
+
+    public static class MockSCMSourceOwner extends AbstractItem implements TopLevelItem, SCMSourceOwner {
+
+        private SCMSourceCriteria criteria;
+
+        public MockSCMSourceOwner(ItemGroup parent, String name) {
+            super(parent, name);
+        }
+
+        public SCMSourceCriteria getCriteria() {
+            return criteria;
+        }
+
+        public void setCriteria(SCMSourceCriteria criteria) {
+            this.criteria = criteria;
+        }
+
+        @Override
+        public Collection<? extends Job> getAllJobs() {
+            return Collections.emptyList();
+        }
+
+        @Override
+        public void onCreatedFromScratch() {
+
+        }
+
+        @NonNull
+        @Override
+        public List<SCMSource> getSCMSources() {
+            return Collections.emptyList();
+        }
+
+        @Override
+        public SCMSource getSCMSource(String sourceId) {
+            return null;
+        }
+
+        @Override
+        public void onSCMSourceUpdated(@NonNull SCMSource source) {
+
+        }
+
+        @Override
+        public SCMSourceCriteria getSCMSourceCriteria(@NonNull SCMSource source) {
+            return criteria;
+        }
+
+        @Override
+        public TopLevelItemDescriptor getDescriptor() {
+            return ExtensionList.lookup(TopLevelItemDescriptor.class).get(DescriptorImpl.class);
+        }
+
+        @TestExtension
+        public static class DescriptorImpl extends TopLevelItemDescriptor {
+
+            @Override
+            public TopLevelItem newInstance(ItemGroup itemGroup, String s) {
+                return new MockSCMSourceOwner(itemGroup, s);
+            }
+        }
+    }
+}
diff --git a/src/test/resources/__files/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.txt b/src/test/resources/__files/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.txt
new file mode 100644
index 0000000..dac5333
--- /dev/null
+++ b/src/test/resources/__files/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.txt
@@ -0,0 +1,557 @@
+incubator-weex.git The+Apache+Software+Foundation
+calcite-avatica-go.git The+Apache+Software+Foundation
+ant-ivy.git The+Apache+Software+Foundation
+incubator-iota-site.git The+Apache+Software+Foundation
+whimsy-whimsical-site.git The+Apache+Software+Foundation
+couchdb-mem3.git The+Apache+Software+Foundation
+thrift.git The+Apache+Software+Foundation
+spark-website.git The+Apache+Software+Foundation
+nifi-maven.git The+Apache+Software+Foundation
+incubator-taverna-workbench-product.git The+Apache+Software+Foundation
+couchdb-jiffy.git The+Apache+Software+Foundation
+couchdb-bear.git The+Apache+Software+Foundation
+incubator-hdt.git The+Apache+Software+Foundation
+logging-log4j-tools.git The+Apache+Software+Foundation
+brooklyn-library.git The+Apache+Software+Foundation
+james-jdkim.git The+Apache+Software+Foundation
+aries-rsa.git The+Apache+Software+Foundation
+openmeetings.git The+Apache+Software+Foundation
+couchdb-fabric.git The+Apache+Software+Foundation
+geronimo-website.git The+Apache+Software+Foundation
+jspwiki-site.git The+Apache+Software+Foundation
+lucene-solr.git The+Apache+Software+Foundation
+polygene-java.git The+Apache+Software+Foundation
+incubator-asterixdb-hyracks.git The+Apache+Software+Foundation
+incubator-taverna-plugin-bioinformatics.git The+Apache+Software+Foundation
+jclouds-labs-google.git The+Apache+Software+Foundation
+infrastructure-puppet-kitchen.git The+Apache+Software+Foundation
+clerezza-rdf-core.git The+Apache+Software+Foundation
+nifi-minifi-cpp.git The+Apache+Software+Foundation
+couchdb-query-server-spidermonkey.git The+Apache+Software+Foundation
+incubator-ratis.git The+Apache+Software+Foundation
+incubator-horn.git The+Apache+Software+Foundation
+incubator-openaz-site.git The+Apache+Software+Foundation
+incubator-predictionio.git The+Apache+Software+Foundation
+couchdb-couch-log-lager.git The+Apache+Software+Foundation
+nifi-site.git The+Apache+Software+Foundation
+ant-easyant-buildtypes.git The+Apache+Software+Foundation
+couchdb-folsom.git The+Apache+Software+Foundation
+couchdb-couch-replicator.git The+Apache+Software+Foundation
+incubator-datafu.git The+Apache+Software+Foundation
+syncope.git The+Apache+Software+Foundation
+couchdb-couch-plugins.git The+Apache+Software+Foundation
+couchdb-config.git The+Apache+Software+Foundation
+couchdb-lager.git The+Apache+Software+Foundation
+incubator-iota.git The+Apache+Software+Foundation
+zookeeper.git The+Apache+Software+Foundation
+activemq-activeio.git The+Apache+Software+Foundation
+couchdb-peruser.git The+Apache+Software+Foundation
+maven-resolver.git The+Apache+Software+Foundation
+directory-fortress-core.git The+Apache+Software+Foundation
+ant-easyant-plugins.git The+Apache+Software+Foundation
+jspwiki.git The+Apache+Software+Foundation
+incubator-taverna-workbench.git The+Apache+Software+Foundation
+bahir-website.git The+Apache+Software+Foundation
+couchdb-couch-stats.git The+Apache+Software+Foundation
+couchdb-oauth.git The+Apache+Software+Foundation
+qpid-interop-test.git The+Apache+Software+Foundation
+hbase-site.git The+Apache+Software+Foundation
+commons-testing.git The+Apache+Software+Foundation
+infrastructure-mergebot-test.git The+Apache+Software+Foundation
+incubator-freemarker.git The+Apache+Software+Foundation
+flex-tlf.git The+Apache+Software+Foundation
+ode-jacob.git The+Apache+Software+Foundation
+james-mime4j.git The+Apache+Software+Foundation
+kylin.git The+Apache+Software+Foundation
+usergrid-nodejs.git The+Apache+Software+Foundation
+isis-site.git The+Apache+Software+Foundation
+incubator-trafodion.git The+Apache+Software+Foundation
+jclouds-labs.git The+Apache+Software+Foundation
+incubator-taverna-maven-parent.git The+Apache+Software+Foundation
+calcite.git The+Apache+Software+Foundation
+yetus.git The+Apache+Software+Foundation
+celix.git The+Apache+Software+Foundation
+flink-web.git The+Apache+Software+Foundation
+ant-antlibs-props.git The+Apache+Software+Foundation
+incubator-brooklyn.git The+Apache+Software+Foundation
+incubator-taverna-common-activities.git The+Apache+Software+Foundation
+incubator-gearpump-site.git The+Apache+Software+Foundation
+couchdb-nmo.git The+Apache+Software+Foundation
+incubator-mnemonic.git The+Apache+Software+Foundation
+incubator-milagro-tls.git The+Apache+Software+Foundation
+couchdb-couch-index.git The+Apache+Software+Foundation
+incubator-cmda.git The+Apache+Software+Foundation
+ant-easyant-tasks.git The+Apache+Software+Foundation
+couchdb-cassim.git The+Apache+Software+Foundation
+maven-surefire.git The+Apache+Software+Foundation
+incubator-wave-docs.git The+Apache+Software+Foundation
+commons-fileupload.git The+Apache+Software+Foundation
+commons-pool.git The+Apache+Software+Foundation
+jspwiki-asf-docs.git The+Apache+Software+Foundation
+incubator-edgent.git The+Apache+Software+Foundation
+couchdb-setup.git The+Apache+Software+Foundation
+bval.git The+Apache+Software+Foundation
+incubator-ponymail.git The+Apache+Software+Foundation
+ode.git The+Apache+Software+Foundation
+commons-collections.git The+Apache+Software+Foundation
+directory-fortress-realm.git The+Apache+Software+Foundation
+helix.git The+Apache+Software+Foundation
+incubator-senssoft-userale-pyqt5.git The+Apache+Software+Foundation
+river-container.git The+Apache+Software+Foundation
+orc.git The+Apache+Software+Foundation
+cassandra-dtest.git The+Apache+Software+Foundation
+couchdb-global-changes.git The+Apache+Software+Foundation
+gora.git The+Apache+Software+Foundation
+couchdb-couch-event.git The+Apache+Software+Foundation
+hbase-thirdparty.git The+Apache+Software+Foundation
+archiva-redback-core.git The+Apache+Software+Foundation
+commons-numbers.git The+Apache+Software+Foundation
+httpcomponents-parent.git The+Apache+Software+Foundation
+hive.git The+Apache+Software+Foundation
+qpid-dispatch.git The+Apache+Software+Foundation
+incubator-impala.git The+Apache+Software+Foundation
+empire-db.git The+Apache+Software+Foundation
+commons-dbcp.git The+Apache+Software+Foundation
+commons-dbutils.git The+Apache+Software+Foundation
+celix-site.git The+Apache+Software+Foundation
+openmeetings-site.git The+Apache+Software+Foundation
+wicket-site.git The+Apache+Software+Foundation
+incubator-omid.git The+Apache+Software+Foundation
+directory-fortress-commander.git The+Apache+Software+Foundation
+usergrid-dotnet.git The+Apache+Software+Foundation
+qpid-jms-amqp-0-x.git The+Apache+Software+Foundation
+tapestry-5.git The+Apache+Software+Foundation
+juddi-styles.git The+Apache+Software+Foundation
+incubator-griffin.git The+Apache+Software+Foundation
+beam.git The+Apache+Software+Foundation
+incubator-sdap-edge.git The+Apache+Software+Foundation
+couchdb-rexi.git The+Apache+Software+Foundation
+metamodel.git The+Apache+Software+Foundation
+fineract.git The+Apache+Software+Foundation
+flex-whiteboard.git The+Apache+Software+Foundation
+aurora.git The+Apache+Software+Foundation
+cassandra.git The+Apache+Software+Foundation
+infrastructure-whimsy.git The+Apache+Software+Foundation
+incubator-flink.git The+Apache+Software+Foundation
+samza.git The+Apache+Software+Foundation
+ant-antlibs-compress.git The+Apache+Software+Foundation
+flex-utilities.git The+Apache+Software+Foundation
+ant-antlibs-common.git The+Apache+Software+Foundation
+incubator-joshua.git The+Apache+Software+Foundation
+incubator-milagro.git The+Apache+Software+Foundation
+couchdb-www.git The+Apache+Software+Foundation
+couchdb-javascript-tests.git The+Apache+Software+Foundation
+incubator-gobblin-site.git The+Apache+Software+Foundation
+commons-crypto.git The+Apache+Software+Foundation
+incubator-quickstep.git The+Apache+Software+Foundation
+incubator-hivemall.git The+Apache+Software+Foundation
+commons-scxml.git The+Apache+Software+Foundation
+incubator-ponymail-site.git The+Apache+Software+Foundation
+servicemix-maven-plugins.git The+Apache+Software+Foundation
+olingo-odata4-js.git The+Apache+Software+Foundation
+ant-antlibs-svn.git The+Apache+Software+Foundation
+jclouds-chef.git The+Apache+Software+Foundation
+ignite-doc.git The+Apache+Software+Foundation
+incubator-livy-website.git The+Apache+Software+Foundation
+tomee-site-generator.git The+Apache+Software+Foundation
+flex-flexunit.git The+Apache+Software+Foundation
+rave.git The+Apache+Software+Foundation
+nifi-registry.git The+Apache+Software+Foundation
+shiro-site.git The+Apache+Software+Foundation
+parquet-format.git The+Apache+Software+Foundation
+maven-indexer.git The+Apache+Software+Foundation
+incubator-weex-site.git The+Apache+Software+Foundation
+lucenenet.git The+Apache+Software+Foundation
+trafficserver.git The+Apache+Software+Foundation
+incubator-sdap-nexus.git The+Apache+Software+Foundation
+incubator-sdap-mudrod.git The+Apache+Software+Foundation
+incubator-taverna-language.git The+Apache+Software+Foundation
+ant-easyant-easyant4e.git The+Apache+Software+Foundation
+incubator-ariatosca.git The+Apache+Software+Foundation
+jclouds-labs-aws.git The+Apache+Software+Foundation
+incubator-cotton.git The+Apache+Software+Foundation
+carbondata.git The+Apache+Software+Foundation
+james-project.git The+Apache+Software+Foundation
+olingo-odata3-js.git The+Apache+Software+Foundation
+kafka-site.git The+Apache+Software+Foundation
+incubator-openaz.git The+Apache+Software+Foundation
+mina-vysper.git The+Apache+Software+Foundation
+activemq-nms-stomp.git The+Apache+Software+Foundation
+incubator-predictionio-template-java-ecom-recommender.git The+Apache+Software+Foundation
+commons-cli.git The+Apache+Software+Foundation
+incubator-mrql.git The+Apache+Software+Foundation
+activemq-apollo.git The+Apache+Software+Foundation
+portals-pluto.git The+Apache+Software+Foundation
+logging-log4j-plugins.git The+Apache+Software+Foundation
+incubator-guacamole-client.git The+Apache+Software+Foundation
+incubator-gossip.git The+Apache+Software+Foundation
+jclouds-labs-openstack.git The+Apache+Software+Foundation
+incubator-omid-site.git The+Apache+Software+Foundation
+ant-ivyde.git The+Apache+Software+Foundation
+jclouds.git The+Apache+Software+Foundation
+aurora-website.git The+Apache+Software+Foundation
+james-postage.git The+Apache+Software+Foundation
+lens.git The+Apache+Software+Foundation
+logging-log4php.git The+Apache+Software+Foundation
+incubator-slider.git The+Apache+Software+Foundation
+incubator-s4.git The+Apache+Software+Foundation
+activemq-protobuf.git The+Apache+Software+Foundation
+infrastructure-scripts.git The+Apache+Software+Foundation
+logging-log4j-audit-sample.git The+Apache+Software+Foundation
+marmotta.git The+Apache+Software+Foundation
+incubator-milagro-mfa-js-lib.git The+Apache+Software+Foundation
+logging-log4j-boot.git The+Apache+Software+Foundation
+groovy-release.git The+Apache+Software+Foundation
+drill-site.git The+Apache+Software+Foundation
+incubator-provisionr.git The+Apache+Software+Foundation
+couchdb-couch-collate.git The+Apache+Software+Foundation
+cayenne-modeler.git The+Apache+Software+Foundation
+jclouds-cli.git The+Apache+Software+Foundation
+flex-site.git The+Apache+Software+Foundation
+flex-external.git The+Apache+Software+Foundation
+incubator-senssoft-useralejs.git The+Apache+Software+Foundation
+storm-site.git The+Apache+Software+Foundation
+hbase.git The+Apache+Software+Foundation
+incubator-taverna-commandline.git The+Apache+Software+Foundation
+giraph.git The+Apache+Software+Foundation
+couchdb-goldrush.git The+Apache+Software+Foundation
+infrastructure-yogurt-test.git The+Apache+Software+Foundation
+activemq-nms-xms.git The+Apache+Software+Foundation
+servicemix.git The+Apache+Software+Foundation
+commons-csv.git The+Apache+Software+Foundation
+activemq-nms-msmq.git The+Apache+Software+Foundation
+aries-jpa.git The+Apache+Software+Foundation
+roller.git The+Apache+Software+Foundation
+usergrid-java.git The+Apache+Software+Foundation
+infrastructure-testing.git The+Apache+Software+Foundation
+maven.git The+Apache+Software+Foundation
+vxquery.git The+Apache+Software+Foundation
+usergrid.git The+Apache+Software+Foundation
+climate.git The+Apache+Software+Foundation
+systemml.git The+Apache+Software+Foundation
+calcite-avatica.git The+Apache+Software+Foundation
+aurora-packaging.git The+Apache+Software+Foundation
+incubator-milagro-mfa-sdk-ios.git The+Apache+Software+Foundation
+reef.git The+Apache+Software+Foundation
+activemq-nms-api.git The+Apache+Software+Foundation
+usergrid-qakka.git The+Apache+Software+Foundation
+incubator-predictionio-sdk-php.git The+Apache+Software+Foundation
+incubator-taverna-workbench-common-activities.git The+Apache+Software+Foundation
+maven-archetype.git The+Apache+Software+Foundation
+couchdb-couch-log.git The+Apache+Software+Foundation
+couchdb-khash.git The+Apache+Software+Foundation
+incubator-taverna-osgi.git The+Apache+Software+Foundation
+olingo-odata4.git The+Apache+Software+Foundation
+commons-text.git The+Apache+Software+Foundation
+jclouds-site.git The+Apache+Software+Foundation
+incubator-myriad.git The+Apache+Software+Foundation
+geronimo-safeguard.git The+Apache+Software+Foundation
+maven-integration-testing.git The+Apache+Software+Foundation
+incubator-sdap-doms.git The+Apache+Software+Foundation
+cayenne.git The+Apache+Software+Foundation
+couchdb-mochiweb.git The+Apache+Software+Foundation
+jclouds-karaf.git The+Apache+Software+Foundation
+ant-antlibs-dotnet.git The+Apache+Software+Foundation
+twill.git The+Apache+Software+Foundation
+crunch.git The+Apache+Software+Foundation
+incubator-taverna-mobile.git The+Apache+Software+Foundation
+incubator-blur.git The+Apache+Software+Foundation
+infrastructure-docker.git The+Apache+Software+Foundation
+metron-bro-plugin-kafka.git The+Apache+Software+Foundation
+maven-wagon.git The+Apache+Software+Foundation
+tez.git The+Apache+Software+Foundation
+couchdb-ddoc-cache.git The+Apache+Software+Foundation
+mahout.git The+Apache+Software+Foundation
+kudu.git The+Apache+Software+Foundation
+brooklyn-docs.git The+Apache+Software+Foundation
+qpid-proton-j.git The+Apache+Software+Foundation
+servicemix-specs.git The+Apache+Software+Foundation
+mina.git The+Apache+Software+Foundation
+hadoop-downstream-tests.git The+Apache+Software+Foundation
+ranger.git The+Apache+Software+Foundation
+incubator-hawq.git The+Apache+Software+Foundation
+incubator-freemarker-site.git The+Apache+Software+Foundation
+activemq-artemis.git The+Apache+Software+Foundation
+brooklyn-server.git The+Apache+Software+Foundation
+incubator-singa.git The+Apache+Software+Foundation
+couchdb-couch.git The+Apache+Software+Foundation
+juddi.git The+Apache+Software+Foundation
+activemq-cpp.git The+Apache+Software+Foundation
+couchdb-ioq.git The+Apache+Software+Foundation
+james-jspf.git The+Apache+Software+Foundation
+couchdb-ibrowse.git The+Apache+Software+Foundation
+couchdb-futon.git The+Apache+Software+Foundation
+incubator-toree-website.git The+Apache+Software+Foundation
+tomee.git The+Apache+Software+Foundation
+incubator-senssoft-tap.git The+Apache+Software+Foundation
+logging-log4j-audit.git The+Apache+Software+Foundation
+incubator-horn-site.git The+Apache+Software+Foundation
+couchdb-couch-epi.git The+Apache+Software+Foundation
+flex-sdk.git The+Apache+Software+Foundation
+mina-ftpserver.git The+Apache+Software+Foundation
+geronimo-yoko.git The+Apache+Software+Foundation
+onami.git The+Apache+Software+Foundation
+incubator-milagro-mfa-sdk-android.git The+Apache+Software+Foundation
+pdfbox-examples.git The+Apache+Software+Foundation
+infrastructure-test.git The+Apache+Software+Foundation
+logging-chainsaw.git The+Apache+Software+Foundation
+incubator-hawq-site.git The+Apache+Software+Foundation
+mina-asyncweb.git The+Apache+Software+Foundation
+any23-committers.git The+Apache+Software+Foundation
+mrunit.git The+Apache+Software+Foundation
+qpid-cpp.git The+Apache+Software+Foundation
+hive-saved.git.bak The+Apache+Software+Foundation
+qpid-jms.git The+Apache+Software+Foundation
+atlas.git The+Apache+Software+Foundation
+incubator-milagro-crypto-c.git The+Apache+Software+Foundation
+lucy-clownfish.git The+Apache+Software+Foundation
+cassandra-builds.git The+Apache+Software+Foundation
+couchdb-jquery-couch.git The+Apache+Software+Foundation
+groovy-user-site.git The+Apache+Software+Foundation
+incubator-predictionio-sdk-ruby.git The+Apache+Software+Foundation
+jclouds-examples.git The+Apache+Software+Foundation
+mina-sshd.git The+Apache+Software+Foundation
+incubator-predictionio-template-skeleton.git The+Apache+Software+Foundation
+incubator-edgent-website.git The+Apache+Software+Foundation
+incubator-predictionio-template-recommender.git The+Apache+Software+Foundation
+incubator-griffin-site.git The+Apache+Software+Foundation
+incubator-hivemall-site.git The+Apache+Software+Foundation
+eagle.git The+Apache+Software+Foundation
+jena.git The+Apache+Software+Foundation
+incubator-htrace.git The+Apache+Software+Foundation
+james-site.git The+Apache+Software+Foundation
+incubator-milagro-mfa-js-client.git The+Apache+Software+Foundation
+tac-cat.git The+Apache+Software+Foundation
+incubator-freemarker-docgen.git The+Apache+Software+Foundation
+maven-plugin-testing.git The+Apache+Software+Foundation
+incubator-unomi.git The+Apache+Software+Foundation
+commons-math.git The+Apache+Software+Foundation
+incubator-taverna-plugin-component.git The+Apache+Software+Foundation
+incubator-taverna-plugin-gis.git The+Apache+Software+Foundation
+ant-easyant-core.git The+Apache+Software+Foundation
+ant-easyant-skeletons.git The+Apache+Software+Foundation
+couchdb-couch-mrview.git The+Apache+Software+Foundation
+drill.git The+Apache+Software+Foundation
+incubator-milagro-mfa-sdk-wp.git The+Apache+Software+Foundation
+incubator.git The+Apache+Software+Foundation
+kudu-site.git The+Apache+Software+Foundation
+couchdb-fauxton-server.git The+Apache+Software+Foundation
+flex-asjs.git The+Apache+Software+Foundation
+zeppelin.git The+Apache+Software+Foundation
+allura-site.git The+Apache+Software+Foundation
+httpcomponents-website.git The+Apache+Software+Foundation
+james-jsieve.git The+Apache+Software+Foundation
+couchdb-couch-dbupdates.git The+Apache+Software+Foundation
+flex-tourjs.git The+Apache+Software+Foundation
+incubator-rya-site.git The+Apache+Software+Foundation
+incubator-optiq-linq4j.git The+Apache+Software+Foundation
+incubator-tamaya-extensions.git The+Apache+Software+Foundation
+activemq-stomp.git The+Apache+Software+Foundation
+commons-io.git The+Apache+Software+Foundation
+incubator-s2graph.git The+Apache+Software+Foundation
+pdfbox-testfiles.git The+Apache+Software+Foundation
+wicket.git The+Apache+Software+Foundation
+falcon.git The+Apache+Software+Foundation
+incubator-trafficcontrol-website.git The+Apache+Software+Foundation
+logging-log4cxx.git The+Apache+Software+Foundation
+servicemix-bundles.git The+Apache+Software+Foundation
+brooklyn-dist.git The+Apache+Software+Foundation
+incubator-predictionio-template-attribute-based-classifier.git The+Apache+Software+Foundation
+couchdb-chttpd.git The+Apache+Software+Foundation
+groovy-dev-site.git The+Apache+Software+Foundation
+incubator-airflow.git The+Apache+Software+Foundation
+deltaspike.git The+Apache+Software+Foundation
+incubator-taverna-databundle-viewer.git The+Apache+Software+Foundation
+trafficserver-qa.git The+Apache+Software+Foundation
+spark.git The+Apache+Software+Foundation
+bahir.git The+Apache+Software+Foundation
+incubator-ariatosca-website.git The+Apache+Software+Foundation
+olingo-odata2.git The+Apache+Software+Foundation
+sqoop.git The+Apache+Software+Foundation
+johnzon.git The+Apache+Software+Foundation
+bahir-flink.git The+Apache+Software+Foundation
+commons-rdf.git The+Apache+Software+Foundation
+couchdb-ci.git The+Apache+Software+Foundation
+stratos.git The+Apache+Software+Foundation
+qpid-proton.git The+Apache+Software+Foundation
+logging-log4j2.git The+Apache+Software+Foundation
+oodt.git The+Apache+Software+Foundation
+incubator-joshua-site.git The+Apache+Software+Foundation
+flume.git The+Apache+Software+Foundation
+tajo.git The+Apache+Software+Foundation
+qpid-python.git The+Apache+Software+Foundation
+couchdb-rebar.git The+Apache+Software+Foundation
+clerezza-contribs.git The+Apache+Software+Foundation
+incubator-hawq-docs.git The+Apache+Software+Foundation
+incubator-tephra.git The+Apache+Software+Foundation
+incubator-livy.git The+Apache+Software+Foundation
+allura.git The+Apache+Software+Foundation
+flink-libraries.git The+Apache+Software+Foundation
+usergrid-android.git The+Apache+Software+Foundation
+flex-blazeds.git The+Apache+Software+Foundation
+lucy.git The+Apache+Software+Foundation
+incubator-gearpump.git The+Apache+Software+Foundation
+tuscany-js.git The+Apache+Software+Foundation
+whimsy.git The+Apache+Software+Foundation
+carbondata-site.git The+Apache+Software+Foundation
+incubator-toree.git The+Apache+Software+Foundation
+incubator-wave.git The+Apache+Software+Foundation
+incubator-optiq-csv.git The+Apache+Software+Foundation
+logging-parent.git The+Apache+Software+Foundation
+incubator-daffodil.git The+Apache+Software+Foundation
+libcloud.git The+Apache+Software+Foundation
+couchdb-meck.git The+Apache+Software+Foundation
+incubator-mxnet-test.git The+Apache+Software+Foundation
+couchdb-snappy.git The+Apache+Software+Foundation
+wink-website.git The+Apache+Software+Foundation
+creadur-site.git The+Apache+Software+Foundation
+commons-compress.git The+Apache+Software+Foundation
+any23.git The+Apache+Software+Foundation
+infrastructure-packer.git The+Apache+Software+Foundation
+activemq-openwire.git The+Apache+Software+Foundation
+incubator-guacamole-website.git The+Apache+Software+Foundation
+qpid-broker-j.git The+Apache+Software+Foundation
+incubator-brooklyn-site.git The+Apache+Software+Foundation
+incubator-quickstep-site.git The+Apache+Software+Foundation
+kafka.git The+Apache+Software+Foundation
+activemq-cli-tools.git The+Apache+Software+Foundation
+ant-antlibs-vss.git The+Apache+Software+Foundation
+hive-bak.git The+Apache+Software+Foundation
+directory-kerby.git The+Apache+Software+Foundation
+couchdb-b64url.git The+Apache+Software+Foundation
+sentry.git The+Apache+Software+Foundation
+tinkerpop.git The+Apache+Software+Foundation
+metamodel-membrane.git The+Apache+Software+Foundation
+couchdb-query-server-node.git The+Apache+Software+Foundation
+nifi-minifi.git The+Apache+Software+Foundation
+systemml-website.git The+Apache+Software+Foundation
+incubator-samoa.git The+Apache+Software+Foundation
+incubator-milagro-crypto.git The+Apache+Software+Foundation
+brooklyn-ui.git The+Apache+Software+Foundation
+asterixdb.git The+Apache+Software+Foundation
+qpid-site.git The+Apache+Software+Foundation
+iampoc.git The+Apache+Software+Foundation
+juddi-scout.git The+Apache+Software+Foundation
+incubator-falcon.git The+Apache+Software+Foundation
+groovy.git The+Apache+Software+Foundation
+incubator-predictionio-template-ecom-recommender.git The+Apache+Software+Foundation
+flex-typedefs.git The+Apache+Software+Foundation
+knox.git The+Apache+Software+Foundation
+usergrid-python.git The+Apache+Software+Foundation
+incubator-rya.git The+Apache+Software+Foundation
+activemq.git The+Apache+Software+Foundation
+pdfbox-docs.git The+Apache+Software+Foundation
+hama.git The+Apache+Software+Foundation
+parquet-mr.git The+Apache+Software+Foundation
+commons-rng.git The+Apache+Software+Foundation
+activemq-nms-zmq.git The+Apache+Software+Foundation
+logging-log4j-scala.git The+Apache+Software+Foundation
+incubator-senssoft-distill.git The+Apache+Software+Foundation
+clerezza.git The+Apache+Software+Foundation
+incubator-pirk.git The+Apache+Software+Foundation
+nifi.git The+Apache+Software+Foundation
+incubator-tamaya-sandbox.git The+Apache+Software+Foundation
+lucy-charmonizer.git The+Apache+Software+Foundation
+incubator-tamaya.git The+Apache+Software+Foundation
+buildr.git The+Apache+Software+Foundation
+incubator-senssoft-stout.git The+Apache+Software+Foundation
+aries-jax-rs-whiteboard.git The+Apache+Software+Foundation
+fineract-site.git The+Apache+Software+Foundation
+shiro.git The+Apache+Software+Foundation
+commons-imaging.git The+Apache+Software+Foundation
+whirr.git The+Apache+Software+Foundation
+usergrid-swift.git The+Apache+Software+Foundation
+storm.git The+Apache+Software+Foundation
+couchdb-examples.git The+Apache+Software+Foundation
+oozie.git The+Apache+Software+Foundation
+asterixdb-site.git The+Apache+Software+Foundation
+incubator-senssoft.git The+Apache+Software+Foundation
+cayenne-website.git The+Apache+Software+Foundation
+directory-fortress-enmasse.git The+Apache+Software+Foundation
+activemq-nms-ems.git The+Apache+Software+Foundation
+logging-log4j-kotlin.git The+Apache+Software+Foundation
+phoenix.git The+Apache+Software+Foundation
+aries-containers.git The+Apache+Software+Foundation
+flex-falcon.git The+Apache+Software+Foundation
+vcl.git The+Apache+Software+Foundation
+flex-examples.git The+Apache+Software+Foundation
+incubator-batchee.git The+Apache+Software+Foundation
+asterixdb-bad.git The+Apache+Software+Foundation
+ant-antlibs-antunit.git The+Apache+Software+Foundation
+incubator-predictionio-sdk-swift.git The+Apache+Software+Foundation
+couchdb-twig.git The+Apache+Software+Foundation
+deltacloud.git The+Apache+Software+Foundation
+incubator-taverna-engine.git The+Apache+Software+Foundation
+atlas-website.git The+Apache+Software+Foundation
+polygene-website.git The+Apache+Software+Foundation
+roller-website.git The+Apache+Software+Foundation
+couchdb-glazier.git The+Apache+Software+Foundation
+couchdb-mango.git The+Apache+Software+Foundation
+cxf.git The+Apache+Software+Foundation
+incubator-milagro-mfa-server.git The+Apache+Software+Foundation
+archiva-site.git The+Apache+Software+Foundation
+hadoop.git The+Apache+Software+Foundation
+httpcomponents-stylecheck.git The+Apache+Software+Foundation
+incubator-predictionio-sdk-java.git The+Apache+Software+Foundation
+incubator-predictionio-site.git The+Apache+Software+Foundation
+incubator-wave-android.git The+Apache+Software+Foundation
+ode-console.git The+Apache+Software+Foundation
+couchdb-admin.git The+Apache+Software+Foundation
+brooklyn-client.git The+Apache+Software+Foundation
+incubator-senssoft-user-ale.git The+Apache+Software+Foundation
+incubator-sdap-website.git The+Apache+Software+Foundation
+incubator-tamaya-site.git The+Apache+Software+Foundation
+incubator-airflow-site.git The+Apache+Software+Foundation
+samza-hello-samza.git The+Apache+Software+Foundation
+commons-lang.git The+Apache+Software+Foundation
+activemq-nms-openwire.git The+Apache+Software+Foundation
+incubator-guacamole-manual.git The+Apache+Software+Foundation
+mesos-site.git The+Apache+Software+Foundation
+juneau.git The+Apache+Software+Foundation
+steve-foobar.git The+Apache+Software+Foundation
+ambari.git The+Apache+Software+Foundation
+incubator-taverna-server.git The+Apache+Software+Foundation
+incubator-mnemonic-site.git The+Apache+Software+Foundation
+incubator-gobblin.git The+Apache+Software+Foundation
+metron.git The+Apache+Software+Foundation
+incubator-predictionio-template-similar-product.git The+Apache+Software+Foundation
+incubator-predictionio-template-text-classifier.git The+Apache+Software+Foundation
+httpcomponents-client.git The+Apache+Software+Foundation
+ant.git The+Apache+Software+Foundation
+incubator-guacamole-server.git The+Apache+Software+Foundation
+incubator-freemarker-online-tester.git The+Apache+Software+Foundation
+pdfbox-jbig2.git The+Apache+Software+Foundation
+incubator-spot.git The+Apache+Software+Foundation
+groovy-website.git The+Apache+Software+Foundation
+activemq-nms-openwire-generator.git The+Apache+Software+Foundation
+bigtop.git The+Apache+Software+Foundation
+activemq-nms-amqp.git The+Apache+Software+Foundation
+brooklyn.git The+Apache+Software+Foundation
+couchdb-couch-httpd.git The+Apache+Software+Foundation
+polygene-sandbox.git The+Apache+Software+Foundation
+servicemix-features.git ARRAY%280x1266f00%29
+couchdb-erlang-tests.git The+Apache+Software+Foundation
+madlib.git The+Apache+Software+Foundation
+archiva.git The+Apache+Software+Foundation
+mesos.git The+Apache+Software+Foundation
+incubator-milagro-mfa-sdk-core.git The+Apache+Software+Foundation
+curator.git The+Apache+Software+Foundation
+incubator-corinthia.git The+Apache+Software+Foundation
+apache-website-template.git The+Apache+Software+Foundation
+incubator-concerted.git The+Apache+Software+Foundation
+avro.git The+Apache+Software+Foundation
+httpcomponents-core.git The+Apache+Software+Foundation
+incubator-predictionio-sdk-python.git The+Apache+Software+Foundation
+juneau-website.git The+Apache+Software+Foundation
+logging-log4net.git The+Apache+Software+Foundation
+chukwa.git The+Apache+Software+Foundation
+incubator-ripple.git The+Apache+Software+Foundation
+arrow-site.git The+Apache+Software+Foundation
+flink.git The+Apache+Software+Foundation
+madlib-site.git The+Apache+Software+Foundation
+maven-scm.git The+Apache+Software+Foundation
+usergrid-javascript.git The+Apache+Software+Foundation
+flex-radii8.git The+Apache+Software+Foundation
+couchdb-ets-lru.git The+Apache+Software+Foundation
+incubator-trafodion-site.git The+Apache+Software+Foundation
+ignite.git The+Apache+Software+Foundation
diff --git a/src/test/resources/__files/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.txt b/src/test/resources/__files/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.txt
new file mode 100644
index 0000000..153ee7d
--- /dev/null
+++ b/src/test/resources/__files/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.txt
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
+<!-- git web interface version 1.9.1, (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>, Christian Gierke -->
+<!-- git core binaries version 1.9.1 -->
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+<meta name="generator" content="gitweb/1.9.1 git/1.9.1"/>
+<meta name="robots" content="index, nofollow"/>
+<title>ASF Git Repos - maven.git/commit</title>
+<link rel="stylesheet" type="text/css" href="/static/gitweb.css"/>
+<link rel="alternate" title="maven.git - log - RSS feed" href="/repos/asf?p=maven.git;a=rss" type="application/rss+xml" />
+<link rel="alternate" title="maven.git - log - RSS feed (no merges)" href="/repos/asf?p=maven.git;a=rss;opt=--no-merges" type="application/rss+xml" />
+<link rel="alternate" title="maven.git - log - Atom feed" href="/repos/asf?p=maven.git;a=atom" type="application/atom+xml" />
+<link rel="alternate" title="maven.git - log - Atom feed (no merges)" href="/repos/asf?p=maven.git;a=atom;opt=--no-merges" type="application/atom+xml" />
+<link rel="shortcut icon" href="/static/git-favicon.png" type="image/png" />
+</head>
+<body>
+<div class="page_header">
+<a title="git homepage" href="http://git-scm.com/"><img alt="git" width="72" class="logo" src="/static/git-logo.png" height="27" /></a><a href="/repos/asf">projects</a> / <a href="/repos/asf?p=maven.git;a=summary">maven.git</a> / commit
+</div>
+<form method="get" action="/repos/asf" enctype="application/x-www-form-urlencoded"><div class="search">
+<input type="hidden" value="maven.git" name="p" />
+<input type="hidden" name="a" value="search" />
+<input type="hidden" name="h" value="maven-3.5.0" />
+<select name="st" >
+<option selected="selected" value="commit">commit</option>
+<option value="grep">grep</option>
+<option value="author">author</option>
+<option value="committer">committer</option>
+<option value="pickaxe">pickaxe</option>
+</select> <a title="search help" href="/repos/asf?p=maven.git;a=search_help">?</a> search:
+<input type="text" name="s"  />
+<span title="Extended regular expression"><label><input type="checkbox" name="sr" value="1" />re</label></span></div>
+</form>
+<div class="page_nav">
+<a href="/repos/asf?p=maven.git;a=summary">summary</a> | <a href="/repos/asf?p=maven.git;a=shortlog;h=maven-3.5.0">shortlog</a> | <a href="/repos/asf?p=maven.git;a=log;h=maven-3.5.0">log</a> | commit | <a href="/repos/asf?p=maven.git;a=commitdiff;h=maven-3.5.0">commitdiff</a> | <a href="/repos/asf?p=maven.git;a=tree;h=24bccc64c17a624d932ea44ec908112d8de95a9d;hb=maven-3.5.0">tree</a><br/>
+(parent: <a href="/repos/asf?p=maven.git;a=commit;h=87cf1eeb7d2506e192da77f7d5b286fae2b20314">87cf1ee</a>) | <a href="/repos/asf?p=maven.git;a=patch;h=maven-3.5.0">patch</a><br/>
+</div>
+<div class="header">
+<a href="/repos/asf?p=maven.git;a=commitdiff;h=maven-3.5.0" class="title">[maven-release-plugin] prepare release maven-3.5.0 <span class="refs"> <span class="tag indirect" title="tags/maven-3.5.0"><a href="/repos/asf?p=maven.git;a=tag;h=refs/tags/maven-3.5.0">maven-3.5.0</a></span></span></a>
+</div>
+<div class="title_text">
+<table class="object_header">
+<tr><td>author</td><td><a href="/repos/asf?p=maven.git;a=search;h=maven-3.5.0;s=Stephen+Connolly;st=author" title="Search for commits authored by Stephen Connolly" class="list">Stephen Connolly</a> <a href="/repos/asf?p=maven.git;a=search;h=maven-3.5.0;s=stephen.alan.connolly@gmail.com;st=author" title="Search for commits authored by stephen.alan.connolly@gmail.com" class="list">&lt;stephen.alan.connolly@gmail.com&gt;</a></td><td rowspan="2"><img width="32" class="avatar" src="//www.gravatar.com/avatar/c0de98ae17fa45d01407fcd0e77c6841?s=32" alt="" /></td></tr>
+<tr><td></td><td><span class="datetime">Mon, 3 Apr 2017 19:35:30 +0000</span> (20:35 +0100)</td></tr>
+<tr><td>committer</td><td><a href="/repos/asf?p=maven.git;a=search;h=maven-3.5.0;s=Stephen+Connolly;st=committer" title="Search for commits committed by Stephen Connolly" class="list">Stephen Connolly</a> <a title="Search for commits committed by stephen.alan.connolly@gmail.com" class="list" href="/repos/asf?p=maven.git;a=search;h=maven-3.5.0;s=stephen.alan.connolly@gmail.com;st=committer">&lt;stephen.alan.connolly@gmail.com&gt;</a></td><td rowspan="2"><img width="32" class="avatar" src="//www.gravatar.com/avatar/c0de98ae17fa45d01407fcd0e77c6841?s=32" alt="" /></td></tr>
+<tr><td></td><td><span class="datetime">Mon, 3 Apr 2017 19:35:30 +0000</span> (20:35 +0100)</td></tr>
+<tr><td>commit</td><td class="sha1">ff8f5e7444045639af65f6095c62210b5713f426</td></tr>
+<tr><td>tree</td><td class="sha1"><a class="list" href="/repos/asf?p=maven.git;a=tree;h=24bccc64c17a624d932ea44ec908112d8de95a9d;hb=maven-3.5.0">24bccc64c17a624d932ea44ec908112d8de95a9d</a></td><td class="link"><a href="/repos/asf?p=maven.git;a=tree;h=24bccc64c17a624d932ea44ec908112d8de95a9d;hb=maven-3.5.0">tree</a> | <a href="/repos/asf?p=maven.git;a=snapshot;h=maven-3.5.0;sf=tgz" title="in format: tar.gz">snapshot</a></td></tr>
+<tr><td>parent</td><td class="sha1"><a href="/repos/asf?p=maven.git;a=commit;h=87cf1eeb7d2506e192da77f7d5b286fae2b20314" class="list">87cf1eeb7d2506e192da77f7d5b286fae2b20314</a></td><td class="link"><a href="/repos/asf?p=maven.git;a=commit;h=87cf1eeb7d2506e192da77f7d5b286fae2b20314">commit</a> | <a href="/repos/asf?p=maven.git;a=commitdiff;h=maven-3.5.0;hp=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a></td></tr>
+</table></div>
+<div class="page_body">
+[maven-release-plugin]&nbsp;prepare&nbsp;release&nbsp;maven-3.5.0<br/>
+</div>
+<div class="list_head">
+15 files changed:
+</div>
+<table class="diff_tree">
+<tr class="dark">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=apache-maven/pom.xml;h=8a721468e0d2e4fadb03f793ac9f0b8273effdca;hb=maven-3.5.0">apache-maven/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=apache-maven/pom.xml;h=8a721468e0d2e4fadb03f793ac9f0b8273effdca;hp=a528ddbb5c9e86507df53ef15a74e953250f5f9c;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=apache-maven/pom.xml;h=8a721468e0d2e4fadb03f793ac9f0b8273effdca;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=apache-maven/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-artifact/pom.xml;h=977fd34350df2353ebd09f4ed209a3bdf819aabc;hb=maven-3.5.0">maven-artifact/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-artifact/pom.xml;h=977fd34350df2353ebd09f4ed209a3bdf819aabc;hp=e3943c98821a807ecc28d8146406a789fb53b670;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-artifact/pom.xml;h=977fd34350df2353ebd09f4ed209a3bdf819aabc;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-artifact/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-builder-support/pom.xml;h=7457a4ca11819eb073fbd9aa2e1f1be1047b0945;hb=maven-3.5.0">maven-builder-support/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-builder-support/pom.xml;h=7457a4ca11819eb073fbd9aa2e1f1be1047b0945;hp=39eb1614d9f3e0554c4b3604087d2f3c9d7ab95a;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-builder-support/pom.xml;h=7457a4ca11819eb073fbd9aa2e1f1be1047b0945;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-builder-support/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-compat/pom.xml;h=95528033cb6f5fe77bb6cd7458ec9ee3feba50f3;hb=maven-3.5.0" class="list">maven-compat/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-compat/pom.xml;h=95528033cb6f5fe77bb6cd7458ec9ee3feba50f3;hp=bfd2b474b0594aa323b85e0293bea17140c36363;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-compat/pom.xml;h=95528033cb6f5fe77bb6cd7458ec9ee3feba50f3;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-compat/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-core/pom.xml;h=4fb86a3db5cefebbbfff56ff9e895a9041a783f5;hb=maven-3.5.0" class="list">maven-core/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-core/pom.xml;h=4fb86a3db5cefebbbfff56ff9e895a9041a783f5;hp=0e20235c097fcbebb081be3311bc04db585a686b;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-core/pom.xml;h=4fb86a3db5cefebbbfff56ff9e895a9041a783f5;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-core/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-embedder/pom.xml;h=3e778b33724f73c2ccd73818a10ca0cb4f26fe7e;hb=maven-3.5.0" class="list">maven-embedder/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-embedder/pom.xml;h=3e778b33724f73c2ccd73818a10ca0cb4f26fe7e;hp=30ad2ce89784b29ed46d92457510ee92bb693d8f;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-embedder/pom.xml;h=3e778b33724f73c2ccd73818a10ca0cb4f26fe7e;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-embedder/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-model-builder/pom.xml;h=3aefbc73b89e3c84d3de1aac335503147791dc93;hb=maven-3.5.0" class="list">maven-model-builder/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-model-builder/pom.xml;h=3aefbc73b89e3c84d3de1aac335503147791dc93;hp=0dd08ac16dca455ab0088ec2e2677e8997d9e434;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-model-builder/pom.xml;h=3aefbc73b89e3c84d3de1aac335503147791dc93;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-model-builder/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-model/pom.xml;h=1ec4f897bc283703ff72347e88d77d5b1de836d4;hb=maven-3.5.0">maven-model/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-model/pom.xml;h=1ec4f897bc283703ff72347e88d77d5b1de836d4;hp=41cf1681778c091d9bec8603c6581cd07a79c359;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-model/pom.xml;h=1ec4f897bc283703ff72347e88d77d5b1de836d4;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-model/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-plugin-api/pom.xml;h=500a82467249efcbb31c44e312a964ae1f4410d8;hb=maven-3.5.0" class="list">maven-plugin-api/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-plugin-api/pom.xml;h=500a82467249efcbb31c44e312a964ae1f4410d8;hp=d8f802d10b7028856587fd48f574a4f1083fc994;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-plugin-api/pom.xml;h=500a82467249efcbb31c44e312a964ae1f4410d8;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-plugin-api/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-repository-metadata/pom.xml;h=3fce172ac7df6d6382ce2842339bef4f6d78df35;hb=maven-3.5.0">maven-repository-metadata/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-repository-metadata/pom.xml;h=3fce172ac7df6d6382ce2842339bef4f6d78df35;hp=7480de75e94c3cc2d5c262ffb90b199bac9a8c60;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-repository-metadata/pom.xml;h=3fce172ac7df6d6382ce2842339bef4f6d78df35;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-repository-metadata/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-resolver-provider/pom.xml;h=da293ddb31638f0f272d6c8f18feb59d834cefc1;hb=maven-3.5.0">maven-resolver-provider/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-resolver-provider/pom.xml;h=da293ddb31638f0f272d6c8f18feb59d834cefc1;hp=e95cc419e1014e8dd063578038ccecec1c2edc5e;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-resolver-provider/pom.xml;h=da293ddb31638f0f272d6c8f18feb59d834cefc1;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-resolver-provider/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a href="/repos/asf?p=maven.git;a=blob;f=maven-settings-builder/pom.xml;h=dcc9116da117b018aed31b74e0ee00e5f18da6d5;hb=maven-3.5.0" class="list">maven-settings-builder/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-settings-builder/pom.xml;h=dcc9116da117b018aed31b74e0ee00e5f18da6d5;hp=2d415c9eda91d733bd2614923ecd1eeaed9d68b9;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-settings-builder/pom.xml;h=dcc9116da117b018aed31b74e0ee00e5f18da6d5;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-settings-builder/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-settings/pom.xml;h=bc225781f26a765bbd512838d3ff651feb243a52;hb=maven-3.5.0">maven-settings/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-settings/pom.xml;h=bc225781f26a765bbd512838d3ff651feb243a52;hp=133ee325b674da07fa97db660480474ff029f86a;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-settings/pom.xml;h=bc225781f26a765bbd512838d3ff651feb243a52;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-settings/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="light">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=maven-slf4j-provider/pom.xml;h=363e00dfbf44107962a3816e1ef174ada20b0641;hb=maven-3.5.0">maven-slf4j-provider/pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=maven-slf4j-provider/pom.xml;h=363e00dfbf44107962a3816e1ef174ada20b0641;hp=81af3827fe55ad2c0b9c5774566c3d998e531771;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=maven-slf4j-provider/pom.xml;h=363e00dfbf44107962a3816e1ef174ada20b0641;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=maven-slf4j-provider/pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+<tr class="dark">
+<td><a class="list" href="/repos/asf?p=maven.git;a=blob;f=pom.xml;h=1eb0740f759c873c8c040d0d37729636f45b4e1f;hb=maven-3.5.0">pom.xml</a></td>
+<td></td>
+<td class="link"><a href="/repos/asf?p=maven.git;a=blobdiff;f=pom.xml;h=1eb0740f759c873c8c040d0d37729636f45b4e1f;hp=857ce07703ed94ed78488821782f9049003ad95b;hb=maven-3.5.0;hpb=87cf1eeb7d2506e192da77f7d5b286fae2b20314">diff</a> | <a href="/repos/asf?p=maven.git;a=blob;f=pom.xml;h=1eb0740f759c873c8c040d0d37729636f45b4e1f;hb=maven-3.5.0">blob</a> | <a href="/repos/asf?p=maven.git;a=history;f=pom.xml;hb=maven-3.5.0">history</a></td>
+</tr>
+</table>
+<div class="page_footer">
+<div class="page_footer_text">Apache Maven</div>
+<a title="log RSS feed" class="rss_logo" href="/repos/asf?p=maven.git;a=rss">RSS</a>
+<a title="log Atom feed" href="/repos/asf?p=maven.git;a=atom" class="rss_logo">Atom</a>
+</div>
+<script type="text/javascript" src="/static/gitweb.js"></script>
+<script type="text/javascript">
+window.onload = function () {
+	var tz_cookie = { name: 'gitweb_tz', expires: 14, path: '/' };
+	onloadTZSetup('local', tz_cookie, 'datetime');
+};
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/test/resources/mappings/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.json b/src/test/resources/mappings/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.json
new file mode 100644
index 0000000..886ceb9
--- /dev/null
+++ b/src/test/resources/mappings/repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.json
@@ -0,0 +1,27 @@
+{
+  "id" : "27fac80c-9b4b-4e6f-a834-8e05c7e24482",
+  "name" : "repos_asf",
+  "request" : {
+    "url" : "/repos/asf?a=project_index",
+    "method" : "GET"
+  },
+  "response" : {
+    "status" : 200,
+    "bodyFileName" : "repos_asf-27fac80c-9b4b-4e6f-a834-8e05c7e24482.txt",
+    "headers" : {
+      "Date" : "Mon, 20 Nov 2017 10:58:23 GMT",
+      "Server" : "Apache/2.4.7 (Ubuntu)",
+      "Content-disposition" : "inline; filename=\"index.aux\"",
+      "Vary" : "Accept-Encoding",
+      "Access-Control-Allow-Origin" : "*",
+      "Access-Control-Allow-Methods" : "POST, GET, OPTIONS",
+      "Access-Control-Allow-Headers" : "X-PINGOTHER",
+      "Access-Control-Max-Age" : "1728000",
+      "Keep-Alive" : "timeout=30, max=100",
+      "Connection" : "Keep-Alive",
+      "Content-Type" : "text/plain; charset=utf-8"
+    }
+  },
+  "uuid" : "27fac80c-9b4b-4e6f-a834-8e05c7e24482",
+  "persistent" : true
+}
\ No newline at end of file
diff --git a/src/test/resources/mappings/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.json b/src/test/resources/mappings/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.json
new file mode 100644
index 0000000..beb6155
--- /dev/null
+++ b/src/test/resources/mappings/repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.json
@@ -0,0 +1,26 @@
+{
+  "id" : "f59011d8-6213-4c35-a849-e3a0523a0031",
+  "name" : "repos_asf",
+  "request" : {
+    "url" : "/repos/asf?p=maven.git;a=commit;h=maven-3.5.0",
+    "method" : "GET"
+  },
+  "response" : {
+    "status" : 200,
+    "bodyFileName" : "repos_asf-f59011d8-6213-4c35-a849-e3a0523a0031.txt",
+    "headers" : {
+      "Date" : "Mon, 20 Nov 2017 11:21:16 GMT",
+      "Server" : "Apache/2.4.7 (Ubuntu)",
+      "Vary" : "Accept-Encoding",
+      "Access-Control-Allow-Origin" : "*",
+      "Access-Control-Allow-Methods" : "POST, GET, OPTIONS",
+      "Access-Control-Allow-Headers" : "X-PINGOTHER",
+      "Access-Control-Max-Age" : "1728000",
+      "Keep-Alive" : "timeout=30, max=100",
+      "Connection" : "Keep-Alive",
+      "Content-Type" : "text/html; charset=utf-8"
+    }
+  },
+  "uuid" : "f59011d8-6213-4c35-a849-e3a0523a0031",
+  "persistent" : true
+}
\ No newline at end of file