@Test
  public void testSimple() throws Exception {
    readConfig(
        "[remote \"spearce\"]\n"
            + "url = http://www.spearce.org/egit.git\n"
            + "fetch = +refs/heads/*:refs/remotes/spearce/*\n");

    final RemoteConfig rc = new RemoteConfig(config, "spearce");
    final List<URIish> allURIs = rc.getURIs();
    RefSpec spec;

    assertEquals("spearce", rc.getName());
    assertNotNull(allURIs);
    assertNotNull(rc.getFetchRefSpecs());
    assertNotNull(rc.getPushRefSpecs());
    assertNotNull(rc.getTagOpt());
    assertEquals(0, rc.getTimeout());
    assertSame(TagOpt.AUTO_FOLLOW, rc.getTagOpt());

    assertEquals(1, allURIs.size());
    assertEquals("http://www.spearce.org/egit.git", allURIs.get(0).toString());

    assertEquals(1, rc.getFetchRefSpecs().size());
    spec = rc.getFetchRefSpecs().get(0);
    assertTrue(spec.isForceUpdate());
    assertTrue(spec.isWildcard());
    assertEquals("refs/heads/*", spec.getSource());
    assertEquals("refs/remotes/spearce/*", spec.getDestination());

    assertEquals(0, rc.getPushRefSpecs().size());
  }
  @Test
  public void testUploadPack() throws Exception {
    readConfig(
        "[remote \"example\"]\n"
            + "url = [email protected]:egit.git\n"
            + "fetch = +refs/heads/*:refs/remotes/example/*\n"
            + "uploadpack = /path/to/git/git-upload-pack\n"
            + "receivepack = /path/to/git/git-receive-pack\n");

    final RemoteConfig rc = new RemoteConfig(config, "example");
    final List<URIish> allURIs = rc.getURIs();
    RefSpec spec;

    assertEquals("example", rc.getName());
    assertNotNull(allURIs);
    assertNotNull(rc.getFetchRefSpecs());
    assertNotNull(rc.getPushRefSpecs());

    assertEquals(1, allURIs.size());
    assertEquals("[email protected]:egit.git", allURIs.get(0).toString());

    assertEquals(1, rc.getFetchRefSpecs().size());
    spec = rc.getFetchRefSpecs().get(0);
    assertTrue(spec.isForceUpdate());
    assertTrue(spec.isWildcard());
    assertEquals("refs/heads/*", spec.getSource());
    assertEquals("refs/remotes/example/*", spec.getDestination());

    assertEquals(0, rc.getPushRefSpecs().size());

    assertEquals("/path/to/git/git-upload-pack", rc.getUploadPack());
    assertEquals("/path/to/git/git-receive-pack", rc.getReceivePack());
  }
Esempio n. 3
0
 /**
  * Apply provided remote configuration on this transport.
  *
  * @param cfg configuration to apply on this transport.
  */
 public void applyConfig(final RemoteConfig cfg) {
   setOptionUploadPack(cfg.getUploadPack());
   setOptionReceivePack(cfg.getReceivePack());
   setTagOpt(cfg.getTagOpt());
   fetch = cfg.getFetchRefSpecs();
   push = cfg.getPushRefSpecs();
   timeout = cfg.getTimeout();
 }
  @Test
  public void testUnknown() throws Exception {
    readConfig("");

    final RemoteConfig rc = new RemoteConfig(config, "backup");
    assertEquals(0, rc.getURIs().size());
    assertEquals(0, rc.getFetchRefSpecs().size());
    assertEquals(0, rc.getPushRefSpecs().size());
    assertEquals("git-upload-pack", rc.getUploadPack());
    assertEquals("git-receive-pack", rc.getReceivePack());
  }
  @Test
  public void testBackup() throws Exception {
    readConfig(
        "[remote \"backup\"]\n"
            + "url = http://www.spearce.org/egit.git\n"
            + "url = [email protected]:/srv/git/egit.git\n"
            + "push = +refs/heads/*:refs/heads/*\n"
            + "push = refs/tags/*:refs/tags/*\n");

    final RemoteConfig rc = new RemoteConfig(config, "backup");
    final List<URIish> allURIs = rc.getURIs();
    RefSpec spec;

    assertEquals("backup", rc.getName());
    assertNotNull(allURIs);
    assertNotNull(rc.getFetchRefSpecs());
    assertNotNull(rc.getPushRefSpecs());

    assertEquals(2, allURIs.size());
    assertEquals("http://www.spearce.org/egit.git", allURIs.get(0).toString());
    assertEquals("[email protected]:/srv/git/egit.git", allURIs.get(1).toString());

    assertEquals(0, rc.getFetchRefSpecs().size());

    assertEquals(2, rc.getPushRefSpecs().size());
    spec = rc.getPushRefSpecs().get(0);
    assertTrue(spec.isForceUpdate());
    assertTrue(spec.isWildcard());
    assertEquals("refs/heads/*", spec.getSource());
    assertEquals("refs/heads/*", spec.getDestination());

    spec = rc.getPushRefSpecs().get(1);
    assertFalse(spec.isForceUpdate());
    assertTrue(spec.isWildcard());
    assertEquals("refs/tags/*", spec.getSource());
    assertEquals("refs/tags/*", spec.getDestination());
  }