FetchCommandTest: test add/update/delete fetch
Change-Id: I2442394fb7eae5b3715779555477dd27b274ee83 Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com> Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
This commit is contained in:
parent
ce84d0dfc6
commit
109c07ac8e
|
@ -101,6 +101,91 @@ public void testFetch() throws Exception {
|
|||
db.resolve(tagRef.getObjectId().getName()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchAddsBranches() throws Exception {
|
||||
final String branch1 = "b1";
|
||||
final String branch2 = "b2";
|
||||
final String remoteBranch1 = "test/" + branch1;
|
||||
final String remoteBranch2 = "test/" + branch2;
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef1 = remoteGit.branchCreate().setName(branch1).call();
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef2 = remoteGit.branchCreate().setName(branch2).call();
|
||||
|
||||
String spec = "refs/heads/*:refs/remotes/test/*";
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchDoesntDeleteBranches() throws Exception {
|
||||
final String branch1 = "b1";
|
||||
final String branch2 = "b2";
|
||||
final String remoteBranch1 = "test/" + branch1;
|
||||
final String remoteBranch2 = "test/" + branch2;
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef1 = remoteGit.branchCreate().setName(branch1).call();
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef2 = remoteGit.branchCreate().setName(branch2).call();
|
||||
|
||||
String spec = "refs/heads/*:refs/remotes/test/*";
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
|
||||
remoteGit.branchDelete().setBranchNames(branch1).call();
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchUpdatesBranches() throws Exception {
|
||||
final String branch1 = "b1";
|
||||
final String branch2 = "b2";
|
||||
final String remoteBranch1 = "test/" + branch1;
|
||||
final String remoteBranch2 = "test/" + branch2;
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef1 = remoteGit.branchCreate().setName(branch1).call();
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef2 = remoteGit.branchCreate().setName(branch2).call();
|
||||
|
||||
String spec = "refs/heads/*:refs/remotes/test/*";
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
branchRef2 = remoteGit.branchCreate().setName(branch2).setForce(true).call();
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchPrunesBranches() throws Exception {
|
||||
final String branch1 = "b1";
|
||||
final String branch2 = "b2";
|
||||
final String remoteBranch1 = "test/" + branch1;
|
||||
final String remoteBranch2 = "test/" + branch2;
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef1 = remoteGit.branchCreate().setName(branch1).call();
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
Ref branchRef2 = remoteGit.branchCreate().setName(branch2).call();
|
||||
|
||||
String spec = "refs/heads/*:refs/remotes/test/*";
|
||||
git.fetch().setRemote("test").setRefSpecs(spec).call();
|
||||
assertEquals(branchRef1.getObjectId(), db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
|
||||
remoteGit.branchDelete().setBranchNames(branch1).call();
|
||||
git.fetch().setRemote("test").setRefSpecs(spec)
|
||||
.setRemoveDeletedRefs(true).call();
|
||||
assertNull(db.resolve(remoteBranch1));
|
||||
assertEquals(branchRef2.getObjectId(), db.resolve(remoteBranch2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchShouldAutoFollowTag() throws Exception {
|
||||
remoteGit.commit().setMessage("commit").call();
|
||||
|
|
Loading…
Reference in New Issue