Here are the examples of the java api org.netbeans.libs.git.GitClient.getStatus() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
95 Examples
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testStatusTree() throws Exception {
File folder = new File(workDir, "folder1");
folder.mkdirs();
write(new File(folder, "untracked1"), "untracked");
write(new File(folder, "untracked2"), "untracked");
folder = new File(workDir, "folder2");
folder.mkdirs();
File f1 = new File(folder, "f1");
write(f1, "f1");
File f2 = new File(folder, "f2");
write(f2, "f2");
File folder21 = new File(folder, "folder21");
folder21.mkdirs();
File f3 = new File(folder21, "f3");
write(f3, "f3");
File f4 = new File(folder21, "f4");
write(f4, "f4");
File folder22 = new File(folder, "folder22");
folder22.mkdirs();
File f5 = new File(folder22, "f5");
write(f5, "f5");
File f6 = new File(folder22, "f6");
write(f6, "f6");
add(f1, f2, f3, f4, f5, f6);
commit(f1, f2, f3, f4, f5, f6);
GitClient client = getClient(workDir);
TestStatusListener monitor = new TestStatusListener();
client.addNotificationListener(monitor);
Map<File, GitStatus> statuses = client.getStatus(new File[] { folder }, NULL_PROGRESS_MONITOR);
replacedertEquals(6, statuses.size());
replacedertStatus(statuses, workDir, f1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
replacedertStatus(statuses, workDir, f2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
replacedertStatus(statuses, workDir, f3, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
replacedertStatus(statuses, workDir, f4, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
replacedertStatus(statuses, workDir, f5, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
replacedertStatus(statuses, workDir, f6, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, monitor);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testStatusSingleFile() throws Exception {
File untracked = new File(workDir, "untracked");
write(untracked, "untracked");
File added_modified = new File(workDir, "added-modified");
write(added_modified, "added_modified");
File uptodate_modified = new File(workDir, "uptodate-modified");
write(uptodate_modified, "uptodate_modified");
File modified_modified = new File(workDir, "modified-modified");
write(modified_modified, "modified_modified");
add(uptodate_modified, modified_modified);
commit(uptodate_modified, modified_modified);
add(added_modified);
write(modified_modified, "modification modified_modified");
add(modified_modified);
write(added_modified, "modification2 added_modified");
write(uptodate_modified, "modification2 uptodate_modified");
write(modified_modified, "modification2 modified_modified");
GitClient client = getClient(workDir);
TestStatusListener monitor = new TestStatusListener();
client.addNotificationListener(monitor);
Map<File, GitStatus> statuses = client.getStatus(new File[] { untracked }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, untracked, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false, monitor);
monitor = new TestStatusListener();
client.addNotificationListener(monitor);
statuses = client.getStatus(new File[] { added_modified }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, added_modified, true, Status.STATUS_ADDED, Status.STATUS_MODIFIED, Status.STATUS_ADDED, false, monitor);
monitor = new TestStatusListener();
client.addNotificationListener(monitor);
statuses = client.getStatus(new File[] { uptodate_modified }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, uptodate_modified, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false, monitor);
monitor = new TestStatusListener();
client.addNotificationListener(monitor);
statuses = client.getStatus(new File[] { modified_modified }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, modified_modified, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false, monitor);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testIgnoredSymlinkFolder() throws Exception {
File folder1 = new File(workDir, "boo");
File file1 = new File(workDir, "old_file");
File folder2 = new File(workDir, "some_dir");
File file2_1 = new File(folder2, "some_file");
folder1.mkdirs();
folder2.mkdirs();
file1.createNewFile();
file2_1.createNewFile();
add(workDir);
commit(workDir);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2_1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
// create a symlink, not added to index
String relPath = "../some_dir";
File link = new File(folder1, folder2.getName());
Files.createSymbolicLink(Paths.get(link.getAbsolutePath()), Paths.get(relPath));
replacedertTrue(Files.isSymbolicLink(Paths.get(link.getAbsolutePath())));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
client.ignore(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertEquals("/boo/some_dir", read(new File(workDir, ".gitignore")));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, false, Status.STATUS_NORMAL, Status.STATUS_IGNORED, Status.STATUS_ADDED, false);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testMiscStatus() throws Exception {
write(new File(workDir, ".gitignore"), "ignored");
File untracked = new File(workDir, "untracked");
write(untracked, "untracked");
File ignored = new File(workDir, "ignored");
write(ignored, "ignored");
File added_uptodate = new File(workDir, "added-uptodate");
write(added_uptodate, "added-uptodate");
File added_modified = new File(workDir, "added-modified");
write(added_modified, "added_modified");
File added_deleted = new File(workDir, "added-deleted");
write(added_deleted, "added_deleted");
File uptodate_uptodate = new File(workDir, "uptodate-uptodate");
write(uptodate_uptodate, "uptodate_uptodate");
File uptodate_modified = new File(workDir, "uptodate-modified");
write(uptodate_modified, "uptodate_modified");
File uptodate_deleted = new File(workDir, "uptodate-deleted");
write(uptodate_deleted, "uptodate_deleted");
File modified_uptodate = new File(workDir, "modified-uptodate");
write(modified_uptodate, "modified_uptodate");
File modified_modified = new File(workDir, "modified-modified");
write(modified_modified, "modified_modified");
File modified_reset = new File(workDir, "modified-reset");
write(modified_reset, "modified_reset");
File modified_deleted = new File(workDir, "modified-deleted");
write(modified_deleted, "modified_deleted");
// we cannot
File deleted_uptodate = new File(workDir, "deleted-uptodate");
write(deleted_uptodate, "deleted_uptodate");
File deleted_untracked = new File(workDir, "deleted-untracked");
write(deleted_untracked, "deleted_untracked");
File deleted_modified = new File(workDir, "deleted-modified");
write(deleted_modified, "deleted_modified");
add(uptodate_uptodate, uptodate_modified, uptodate_deleted, modified_uptodate, modified_modified, modified_reset, modified_deleted, deleted_uptodate, deleted_untracked, deleted_modified);
commit(workDir);
add(added_uptodate, added_modified, added_deleted);
write(modified_deleted, "modification modified_deleted");
write(modified_modified, "modification modified_modified");
write(modified_reset, "modification modified_reset");
write(modified_uptodate, "modification modified_uptodate");
add(modified_deleted, modified_modified, modified_reset, modified_uptodate);
deleted_uptodate.delete();
deleted_untracked.delete();
deleted_modified.delete();
remove(true, deleted_uptodate, deleted_untracked, deleted_modified);
write(added_modified, "modification2 added_modified");
write(uptodate_modified, "modification2 uptodate_modified");
write(modified_modified, "modification2 modified_modified");
write(modified_reset, "modified_reset");
added_deleted.delete();
modified_deleted.delete();
uptodate_deleted.delete();
write(deleted_untracked, "deleted_untracked");
write(deleted_modified, "deleted_modified\nchange");
TestStatusListener listener = new TestStatusListener();
GitClient client = getClient(workDir);
client.addNotificationListener(listener);
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertFalse(statuses.isEmpty());
replacedertStatus(statuses, workDir, untracked, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false, listener);
replacedertStatus(statuses, workDir, added_uptodate, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false, listener);
replacedertStatus(statuses, workDir, added_modified, true, Status.STATUS_ADDED, Status.STATUS_MODIFIED, Status.STATUS_ADDED, false, listener);
replacedertStatus(statuses, workDir, added_deleted, true, Status.STATUS_ADDED, Status.STATUS_REMOVED, Status.STATUS_NORMAL, false, listener);
replacedertStatus(statuses, workDir, uptodate_uptodate, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false, listener);
replacedertStatus(statuses, workDir, uptodate_modified, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false, listener);
replacedertStatus(statuses, workDir, uptodate_deleted, true, Status.STATUS_NORMAL, Status.STATUS_REMOVED, Status.STATUS_REMOVED, false, listener);
replacedertStatus(statuses, workDir, modified_uptodate, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false, listener);
replacedertStatus(statuses, workDir, modified_modified, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false, listener);
replacedertStatus(statuses, workDir, modified_reset, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, false, listener);
replacedertStatus(statuses, workDir, modified_deleted, true, Status.STATUS_MODIFIED, Status.STATUS_REMOVED, Status.STATUS_REMOVED, false, listener);
replacedertStatus(statuses, workDir, deleted_uptodate, true, Status.STATUS_REMOVED, Status.STATUS_NORMAL, Status.STATUS_REMOVED, false, listener);
replacedertStatus(statuses, workDir, deleted_untracked, true, Status.STATUS_REMOVED, Status.STATUS_ADDED, Status.STATUS_NORMAL, false, listener);
replacedertStatus(statuses, workDir, deleted_modified, true, Status.STATUS_REMOVED, Status.STATUS_ADDED, Status.STATUS_MODIFIED, false, listener);
// what about isIgnored() here?
replacedertStatus(statuses, workDir, ignored, false, Status.STATUS_NORMAL, Status.STATUS_IGNORED, Status.STATUS_ADDED, false, listener);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testIgnoreExecutable() throws Exception {
if (isWindows()) {
// no reason to test on win
return;
}
File f = new File(workDir, "f");
write(f, "hi, i am executable");
f.setExecutable(true);
File[] roots = { f };
add(roots);
commit(roots);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
f.setExecutable(false);
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
StoredConfig config = repository.getConfig();
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, false);
config.save();
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, true);
config.save();
add(roots);
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, false);
config.save();
add(roots);
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testModifiedUnderIgnored() throws Exception {
File f = new File(workDir, "folder/f");
f.getParentFile().mkdirs();
write(f, "hi, i am new");
add(f);
commit(f);
GitClient client = getClient(workDir);
Map<File, GitStatus> st = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR);
replacedertStatus(st, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
client.ignore(new File[] { f.getParentFile() }, NULL_PROGRESS_MONITOR);
st = client.getStatus(new File[] {}, NULL_PROGRESS_MONITOR);
replacedertStatus(st, workDir, f.getParentFile(), false, Status.STATUS_NORMAL, Status.STATUS_IGNORED, Status.STATUS_IGNORED, false);
// file f is not ignored, it's committed
replacedertStatus(st, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
write(f, "hi, i am modified");
st = client.getStatus(new File[] {}, NULL_PROGRESS_MONITOR);
replacedertStatus(st, workDir, f.getParentFile(), false, Status.STATUS_NORMAL, Status.STATUS_IGNORED, Status.STATUS_IGNORED, false);
// file f is not ignored, it's committed and modified
replacedertStatus(st, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testIgnoredSymlinkFile() throws Exception {
File folder1 = new File(workDir, "boo");
File file1 = new File(workDir, "old_file");
File folder2 = new File(workDir, "some_dir");
File file2_1 = new File(folder2, "some_file");
folder1.mkdirs();
folder2.mkdirs();
file1.createNewFile();
file2_1.createNewFile();
add(workDir);
commit(workDir);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2_1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
// create a symlink, not added to index
String relPath = "../some_dir/some_file";
File link = new File(folder1, file2_1.getName());
Files.createSymbolicLink(Paths.get(link.getAbsolutePath()), Paths.get(relPath));
replacedertTrue(Files.isSymbolicLink(Paths.get(link.getAbsolutePath())));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
client.ignore(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertEquals("/boo/some_file", read(new File(workDir, ".gitignore")));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, false, Status.STATUS_NORMAL, Status.STATUS_IGNORED, Status.STATUS_ADDED, false);
}
19
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testLastIndexModificationDate() throws Exception {
File f = new File(workDir, "f");
GitClient client = getClient(workDir);
write(f, "init");
// not yet added to the index => ts: -1
GitStatus status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
replacedertEquals(-1, status.getIndexEntryModificationDate());
add(f);
// added => current timestamp
status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
long ts = f.lastModified();
replacedertEquals((ts / 1000) * 1000, (status.getIndexEntryModificationDate() / 1000) * 1000);
commit(f);
// still the same => current timestamp
status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
replacedertEquals((ts / 1000) * 1000, (status.getIndexEntryModificationDate() / 1000) * 1000);
Thread.sleep(1000);
write(f, "modification");
// modified => both should differ
status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
replacedertEquals((ts / 1000) * 1000, (status.getIndexEntryModificationDate() / 1000) * 1000);
ts = f.lastModified();
replacedertNotSame((ts / 1000) * 1000, (status.getIndexEntryModificationDate() / 1000) * 1000);
add(f);
// updated -> both are the same
status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
replacedertEquals((ts / 1000) * 1000, (status.getIndexEntryModificationDate() / 1000) * 1000);
client.remove(new File[] { f }, true, NULL_PROGRESS_MONITOR);
// removed => ts: -1
status = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f);
replacedertEquals(-1, status.getIndexEntryModificationDate());
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetHard() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File file2 = new File(workDir, "file2");
write(file2, "blablablabla in file2");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
write(file1, "change in content");
add(file1);
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
long ts = file2.lastModified();
Thread.sleep(1000);
client.reset(revision, ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertEquals(ts, file2.lastModified());
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetMixed() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File file2 = new File(workDir, "file2");
write(file2, "blablablabla in file2");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
write(file1, "change in content");
add(file1);
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
client.reset(revision, ResetType.MIXED, NULL_PROGRESS_MONITOR);
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetHardOverwritesModification() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File[] files = new File[] { file1 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
write(file1, "change in content");
add(file1);
commit(files);
write(file1, "hello, i have local modifications");
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
client.reset(revision, ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertEquals("blablablabla", read(file1));
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testLineEndingsWindows() throws Exception {
if (!isWindows()) {
return;
}
// lets turn autocrlf on
Thread.sleep(1100);
StoredConfig cfg = repository.getConfig();
cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
cfg.save();
File f = new File(workDir, "f");
write(f, "a\r\nb\r\n");
File[] roots = new File[] { f };
GitClient client = getClient(workDir);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
List<String> res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("A f"), res);
DirCacheEntry e1 = repository.readDirCache().getEntry("f");
runExternally(workDir, Arrays.asList("git.cmd", "commit", "-m", "hello"));
write(f, "a\r\nb\r\nc\r\n");
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList(" M f"), res);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("M f"), res);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
client.reset(roots, "HEAD", true, NULL_PROGRESS_MONITOR);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
replacedertEquals(e1.getObjectId(), repository.readDirCache().getEntry("f").getObjectId());
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList(" M f"), res);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("M f"), res);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
client.reset("HEAD", ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertEquals(e1.getObjectId(), repository.readDirCache().getEntry("f").getObjectId());
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(0, res.size());
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetSoft() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File file2 = new File(workDir, "file2");
write(file2, "blablablabla in file2");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
write(file1, "change in content");
add(file1);
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
client.reset(revision, ResetType.SOFT, NULL_PROGRESS_MONITOR);
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetPathsChangeType() throws Exception {
// index entry will be modified
File file = new File(workDir, "f");
File file2 = new File(file, "file");
write(file, "blablablabla");
File[] files = new File[] { file, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
client.remove(files, false, NULL_PROGRESS_MONITOR);
commit(files);
file.mkdirs();
write(file2, "aaaa");
add(file2);
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
String revisionCurrent = logs.next().getId().getName();
logs.next();
String revisionPrevious = logs.next().getId().getName();
client.reset(files, revisionPrevious, true, NULL_PROGRESS_MONITOR);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file, true, Status.STATUS_ADDED, Status.STATUS_REMOVED, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_REMOVED, Status.STATUS_ADDED, Status.STATUS_NORMAL, false);
client.reset(files, revisionCurrent, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetHardTypeConflict() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File file2 = new File(file1, "f");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
client.remove(files, false, NULL_PROGRESS_MONITOR);
file1.mkdirs();
replacedertTrue(file1.isDirectory());
write(file2, "ssss");
write(new File(file1, "untracked"), "ssss");
add(file2);
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
RevCommit commitCurrent = logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
client.reset(revision, ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertTrue(file1.isFile());
String currentRevision = commitCurrent.getId().getName();
client.reset(currentRevision, ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertEquals(currentRevision, new Git(repository).log().call().iterator().next().getId().getName());
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertTrue(file1.isDirectory());
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetConflict() throws Exception {
File file = new File(workDir, "file");
write(file, "init");
File[] files = new File[] { file };
add(files);
commit(files);
DirCache index = repository.lockDirCache();
DirCacheBuilder builder = index.builder();
DirCacheEntry e = index.getEntry(file.getName());
DirCacheEntry e1 = new DirCacheEntry(file.getName(), 1);
e1.setCreationTime(e.getCreationTime());
e1.setFileMode(e.getFileMode());
e1.setLastModified(e.getLastModified());
e1.setLength(e.getLength());
e1.setObjectId(e.getObjectId());
builder.add(e1);
builder.finish();
builder.commit();
GitClient client = getClient(workDir);
Map<File, GitStatus> status = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertTrue(status.get(file).isConflict());
replacedertEquals(GitConflictDescriptor.Type.BOTH_DELETED, status.get(file).getConflictDescriptor().getType());
client.reset(files, "HEAD", true, NULL_PROGRESS_MONITOR);
status = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertFalse(status.get(file).isConflict());
}
19
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetHardRemoveFile() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
File file2 = new File(workDir, "file2");
write(file2, "blablablabla");
File[] files = new File[] { file1 };
add(files);
commit(files);
GitClient client = getClient(workDir);
add(file2);
files = new File[] { file1, file2 };
commit(files);
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
replacedertTrue(file2.exists());
client.reset(revision, ResetType.HARD, NULL_PROGRESS_MONITOR);
replacedertEquals(revision, new Git(repository).log().call().iterator().next().getId().getName());
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertFalse(file2.exists());
}
19
Source : RebaseTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testConflicts() throws Exception {
File f = new File(workDir, "file");
File f2 = new File(workDir, "file2");
write(f, "init");
add(f);
commit(f);
GitClient client = getClient(workDir);
client.createBranch(BRANCH_NAME, Constants.MASTER, NULL_PROGRESS_MONITOR);
write(f, Constants.MASTER);
add(f);
GitRevisionInfo masterInfo = client.commit(new File[] { f }, "change on master", null, null, NULL_PROGRESS_MONITOR);
client.checkoutRevision(BRANCH_NAME, true, NULL_PROGRESS_MONITOR);
write(f, BRANCH_NAME);
add(f);
write(f2, BRANCH_NAME);
add(f2);
GitRevisionInfo branchInfo = client.commit(new File[] { f, f2 }, "change on branch", null, null, NULL_PROGRESS_MONITOR);
GitRebaseResult result = client.rebase(RebaseOperationType.BEGIN, Constants.MASTER, NULL_PROGRESS_MONITOR);
replacedertEquals(RebaseStatus.STOPPED, result.getRebaseStatus());
replacedertEquals("<<<<<<< Upstream, based on master\nmaster\n=======\nnew_branch\n>>>>>>> " + branchInfo.getRevision().substring(0, 7) + " " + branchInfo.getShortMessage(), read(f));
replacedertEquals(Arrays.asList(f), result.getConflicts());
Map<File, GitStatus> statuses = client.getStatus(new File[] { f, f2 }, NULL_PROGRESS_MONITOR);
replacedertTrue(statuses.get(f).isConflict());
replacedertStatus(statuses, workDir, f2, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertEquals(branchInfo.getRevision(), result.getCurrentCommit());
replacedertEquals(masterInfo.getRevision(), result.getCurrentHead());
}
19
Source : RebaseTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResolveConflictsNoCommit() throws Exception {
File f = new File(workDir, "file");
write(f, "init");
add(f);
commit(f);
GitClient client = getClient(workDir);
client.createBranch(BRANCH_NAME, Constants.MASTER, NULL_PROGRESS_MONITOR);
write(f, Constants.MASTER);
add(f);
GitRevisionInfo masterInfo = client.commit(new File[] { f }, "change on master", null, null, NULL_PROGRESS_MONITOR);
client.checkoutRevision(BRANCH_NAME, true, NULL_PROGRESS_MONITOR);
write(f, BRANCH_NAME);
add(f);
GitRevisionInfo branchInfo = client.commit(new File[] { f }, "change on branch", null, null, NULL_PROGRESS_MONITOR);
GitRebaseResult result = client.rebase(RebaseOperationType.BEGIN, Constants.MASTER, NULL_PROGRESS_MONITOR);
replacedertEquals(RebaseStatus.STOPPED, result.getRebaseStatus());
replacedertEquals("<<<<<<< Upstream, based on master\nmaster\n=======\nnew_branch\n>>>>>>> " + branchInfo.getRevision().substring(0, 7) + " " + branchInfo.getShortMessage(), read(f));
replacedertEquals(Arrays.asList(f), result.getConflicts());
Map<File, GitStatus> statuses = client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR);
replacedertTrue(statuses.get(f).isConflict());
replacedertEquals(branchInfo.getRevision(), result.getCurrentCommit());
replacedertEquals(masterInfo.getRevision(), result.getCurrentHead());
write(f, Constants.MASTER);
add(f);
result = client.rebase(RebaseOperationType.CONTINUE, null, NULL_PROGRESS_MONITOR);
replacedertEquals(RebaseStatus.NOTHING_TO_COMMIT, result.getRebaseStatus());
replacedertTrue(result.getConflicts().isEmpty());
replacedertEquals(masterInfo.getRevision(), result.getCurrentHead());
replacedertEquals(branchInfo.getRevision(), getRepository(client).resolve(BRANCH_NAME).name());
replacedertEquals(masterInfo.getRevision(), getRepository(client).resolve(Constants.MASTER).name());
// still have to finish rebase
result = client.rebase(RebaseOperationType.SKIP, null, NULL_PROGRESS_MONITOR);
replacedertEquals(RebaseStatus.OK, result.getRebaseStatus());
replacedertTrue(result.getConflicts().isEmpty());
replacedertEquals(masterInfo.getRevision(), result.getCurrentHead());
replacedertEquals(masterInfo.getRevision(), getRepository(client).resolve(BRANCH_NAME).name());
replacedertEquals(masterInfo.getRevision(), getRepository(client).resolve(Constants.MASTER).name());
}
19
Source : PullTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testPullFailOnLocalChanges() throws Exception {
GitClient client = getClient(workDir);
client.pull(otherWT.toURI().toString(), Arrays.asList(new String[] { "+refs/heads/*:refs/remotes/origin/*" }), "origin/master", NULL_PROGRESS_MONITOR);
File f = new File(workDir, this.f.getName());
write(f, "local change");
add(f);
Map<String, GitBranch> branches = client.getBranches(true, NULL_PROGRESS_MONITOR);
makeRemoteChange("master");
try {
GitPullResult result = client.pull(otherWT.toURI().toString(), Arrays.asList(new String[] { "+refs/heads/*:refs/remotes/origin/*" }), "origin/master", NULL_PROGRESS_MONITOR);
fail("Should fail");
} catch (GitException.CheckoutConflictException ex) {
// OK
}
client.reset("master", GitClient.ResetType.HARD, NULL_PROGRESS_MONITOR);
File f2 = new File(workDir, "f2");
write(f2, "hi, i am new");
add(f2);
GitPullResult result = client.pull(otherWT.toURI().toString(), Arrays.asList(new String[] { "+refs/heads/*:refs/remotes/origin/*" }), "origin/master", NULL_PROGRESS_MONITOR);
replacedertEquals(MergeStatus.FAST_FORWARD, result.getMergeResult().getMergeStatus());
replacedertStatus(client.getStatus(new File[] { f2 }, NULL_PROGRESS_MONITOR), workDir, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
}
19
Source : IgnoreTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void test199443_GlobalIgnoreFile() throws Exception {
File f = new File(new File(workDir, "nbproject"), "file");
f.getParentFile().mkdirs();
f.createNewFile();
File ignoreFile = new File(workDir.getParentFile(), "globalignore");
write(ignoreFile, ".DS_Store\n.svn\nnbproject\nnbproject/private\n");
Repository repo = getRepository(getLocalGitRepository());
StoredConfig cfg = repo.getConfig();
cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_EXCLUDESFILE, ignoreFile.getAbsolutePath());
cfg.save();
GitClient client = getClient(workDir);
replacedertEquals(Status.STATUS_IGNORED, client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f).getStatusIndexWC());
// now since the file is already ignored, no ignore file should be modified
replacedertEquals(0, client.ignore(new File[] { f }, NULL_PROGRESS_MONITOR).length);
// on the other hand, if .git/info/exclude reverts the effect of global excludes file, ignored file should be modified
File dotGitIgnoreFile = new File(new File(repo.getDirectory(), "info"), "exclude");
dotGitIgnoreFile.getParentFile().mkdirs();
write(dotGitIgnoreFile, "!/nbproject/");
replacedertEquals(Status.STATUS_ADDED, client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f).getStatusIndexWC());
replacedertEquals(dotGitIgnoreFile, client.ignore(new File[] { f }, NULL_PROGRESS_MONITOR)[0]);
replacedertEquals(Status.STATUS_IGNORED, client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f).getStatusIndexWC());
}
19
Source : IgnoreTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void test242551_DoubleStarPattern() throws Exception {
File f = new File(new File(workDir, "AAA/BBB/CCC"), "file");
f.getParentFile().mkdirs();
f.createNewFile();
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
File ignoreFile = new File(workDir, ".gitignore");
write(ignoreFile, "AAA/**/file");
statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertEquals(Status.STATUS_IGNORED, statuses.get(f).getStatusIndexWC());
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testLineEndingsWindows() throws Exception {
if (!isWindows()) {
return;
}
// lets turn autocrlf on
Thread.sleep(1100);
StoredConfig cfg = repository.getConfig();
cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
cfg.save();
File f = new File(workDir, "f");
write(f, "a\r\nb\r\n");
File[] roots = new File[] { f };
GitClient client = getClient(workDir);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
List<String> res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("A f"), res);
DirCacheEntry e1 = repository.readDirCache().getEntry("f");
runExternally(workDir, Arrays.asList("git.cmd", "commit", "-m", "hello"));
write(f, "a\r\nb\r\nc\r\n");
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList(" M f"), res);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("M f"), res);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(roots, "HEAD", true, NULL_PROGRESS_MONITOR);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertEquals(e1.getObjectId(), repository.readDirCache().getEntry("f").getObjectId());
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(0, res.size());
write(f, "a\r\nb\r\nc\r\n");
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList(" M f"), res);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(roots, null, true, NULL_PROGRESS_MONITOR);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertEquals(e1.getObjectId(), repository.readDirCache().getEntry("f").getObjectId());
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(0, res.size());
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutPathsFromRevision() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "file 1 content");
File[] files = new File[] { file1 };
add(files);
commit(files);
String content1 = "change in file 1";
write(file1, content1);
add(files);
commit(files);
write(file1, "another change in file 1");
Iterator<RevCommit> logs = new Git(repository).log().call().iterator();
String currentRevision = logs.next().getId().getName();
String previousRevision = logs.next().getId().getName();
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(new File[] { file1 }, currentRevision, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertEquals(content1, read(file1));
replacedertEquals(currentRevision, new Git(repository).log().call().iterator().next().getId().getName());
write(file1, "another change in file 1");
client.checkout(new File[] { file1 }, currentRevision, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertEquals(content1, read(file1));
replacedertEquals(currentRevision, new Git(repository).log().call().iterator().next().getId().getName());
write(file1, "another change in file 1");
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(new File[] { file1 }, previousRevision, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals("file 1 content", read(file1));
replacedertEquals(currentRevision, new Git(repository).log().call().iterator().next().getId().getName());
write(file1, "another change in file 1");
client.checkout(new File[] { file1 }, previousRevision, false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals("file 1 content", read(file1));
replacedertEquals(currentRevision, new Git(repository).log().call().iterator().next().getId().getName());
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutFilesFromIndexFileToFolder() throws Exception {
File folder = new File(workDir, "folder");
File subFolder = new File(folder, "folder");
File file1 = new File(subFolder, "file2");
subFolder.mkdirs();
write(file1, "file 1 content");
File[] files = new File[] { folder };
add(files);
commit(files);
file1.delete();
subFolder.delete();
folder.delete();
write(folder, "blabla");
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_REMOVED, false);
client.checkout(new File[] { folder }, null, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedert (file1.isFile());
replacedertEquals("file 1 content", read(file1));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutRevision() throws Exception {
File file = new File(workDir, "file");
write(file, "initial");
File[] files = new File[] { file };
add(files);
GitClient client = getClient(workDir);
GitRevisionInfo info = client.commit(files, "initial", null, null, NULL_PROGRESS_MONITOR);
write(file, Constants.MASTER);
add(file);
GitRevisionInfo masterInfo = client.commit(files, Constants.MASTER, null, null, NULL_PROGRESS_MONITOR);
// test checkout
Monitor m = new Monitor();
client.addNotificationListener(m);
client.checkoutRevision(info.getRevision(), true, NULL_PROGRESS_MONITOR);
String[] logFileContent = read(new File(workDir, ".git/logs/HEAD")).split("\\n");
replacedertEquals("checkout: moving from master to " + info.getRevision(), logFileContent[logFileContent.length - 1].substring(logFileContent[logFileContent.length - 1].indexOf("checkout: ")));
replacedertTrue(m.notifiedFiles.contains(file));
replacedertEquals("initial", read(file));
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(GitBranch.NO_BRANCH).isActive());
write(file, BRANCH);
add();
GitRevisionInfo novaInfo = client.commit(files, BRANCH, null, null, NULL_PROGRESS_MONITOR);
m = new Monitor();
client.addNotificationListener(m);
client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
replacedertTrue(m.notifiedFiles.contains(file));
replacedertEquals(Constants.MASTER, read(file));
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(Constants.MASTER).isActive());
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutPathsFromRevision_NotRecursive() throws Exception {
File folder = new File(workDir, "folder");
folder.mkdirs();
File file1 = new File(folder, "file1");
write(file1, "file 1 content");
File subFolder = new File(folder, "subfolder");
subFolder.mkdirs();
File file2 = new File(subFolder, "file2");
write(file2, "file 2 content");
File[] files = new File[] { file1, file2 };
add(files);
GitClient client = getClient(workDir);
commit(files);
String content1 = "change 1";
write(file1, content1);
write(file2, content1);
add(files);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
// direct file descendants
client.checkout(new File[] { folder }, "HEAD", false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file2));
write(file1, content1);
add(files);
// recursive
client.checkout(new File[] { folder }, "HEAD", true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutRevisionMergeLocalChanges() throws Exception {
File file = new File(workDir, "file");
write(file, "initial");
File[] files = new File[] { file };
add(files);
GitClient client = getClient(workDir);
GitRevisionInfo info = client.commit(files, "initial", null, null, NULL_PROGRESS_MONITOR);
client.createBranch(BRANCH, info.getRevision(), NULL_PROGRESS_MONITOR);
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
write(file, BRANCH);
add(file);
client.commit(files, BRANCH, null, null, NULL_PROGRESS_MONITOR);
write(file, "branch change");
try {
client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
fail("Should fail, there are conflicts");
} catch (GitException.CheckoutConflictException ex) {
replacedertEquals(1, ex.getConflicts().length);
replacedertEquals(file.getName(), ex.getConflicts()[0]);
Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(BRANCH).isActive());
}
client.reset(BRANCH, GitClient.ResetType.HARD, NULL_PROGRESS_MONITOR);
write(file, "branch change");
CheckoutRevisionCommand cmd = new CheckoutRevisionCommand(repository, ApiUtils.getClreplacedFactory(), Constants.MASTER, false, NULL_PROGRESS_MONITOR, new FileListener() {
@Override
public void notifyFile(File file, String relativePathToRoot) {
}
});
cmd.execute();
Map<File, GitStatus> status = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertTrue(status.get(file).isConflict());
replacedertEquals("<<<<<<< OURS\nbranch change\n=======\ninitial\n>>>>>>> THEIRS", read(file));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutFilesFromIndex() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "file 1 content");
File file2 = new File(workDir, "file2");
write(file2, "file 2 content");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
String content1 = "change in file 1";
write(file1, content1);
write(file2, "change in file 2");
add(files);
write(file1, "another change in file 1");
String content2 = "another change in file 2";
write(file2, content2);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(new File[] { file1 }, null, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content2, read(file2));
write(file1, "another change in file 1");
client.checkout(new File[] { file1 }, null, false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content2, read(file2));
file1.delete();
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.checkout(new File[] { file1 }, null, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content2, read(file2));
file1.delete();
client.checkout(new File[] { file1 }, null, false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content2, read(file2));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutFilesFromIndex_NotRecursive() throws Exception {
File folder = new File(workDir, "folder");
folder.mkdirs();
File file1 = new File(folder, "file1");
write(file1, "file 1 content");
File subFolder = new File(folder, "subfolder");
subFolder.mkdirs();
File file2 = new File(subFolder, "file2");
write(file2, "file 2 content");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
String content1 = "change 1";
write(file1, content1);
write(file2, content1);
add(files);
String content2 = "change 2";
write(file1, content2);
write(file2, content2);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
// direct file descendants
client.checkout(new File[] { folder }, null, false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content2, read(file2));
write(file1, content2);
// recursive
client.checkout(new File[] { folder }, null, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(content1, read(file1));
replacedertEquals(content1, read(file2));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutFilesFromIndexFolderToFile() throws Exception {
File file1 = new File(workDir, "file1");
write(file1, "file 1 content");
File file2 = new File(file1, "file2");
File[] files = new File[] { file1 };
add(files);
commit(files);
file1.delete();
file1.mkdirs();
write(file2, "blabla");
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_REMOVED, false);
client.checkout(new File[] { file1 }, null, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedert (file1.isFile());
replacedertEquals("file 1 content", read(file1));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutRevisionAddRemoveFile() throws Exception {
File file = new File(workDir, "file");
write(file, "initial");
File[] files = new File[] { file };
add(files);
GitClient client = getClient(workDir);
GitRevisionInfo info = client.commit(files, "initial", null, null, NULL_PROGRESS_MONITOR);
client.createBranch(BRANCH, info.getRevision(), NULL_PROGRESS_MONITOR);
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
remove(false, file);
commit(files);
// test checkout
// the file is added to WT
client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
replacedertTrue(file.exists());
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
// the file is removed from WT
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
replacedertFalse(file.exists());
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertNull(statuses.get(file));
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutBranch() throws Exception {
File file = new File(workDir, "file");
write(file, "initial");
File[] files = new File[] { file };
add(files);
GitClient client = getClient(workDir);
GitRevisionInfo info = client.commit(files, "initial", null, null, NULL_PROGRESS_MONITOR);
client.createBranch(BRANCH, info.getRevision(), NULL_PROGRESS_MONITOR);
write(file, Constants.MASTER);
add(file);
GitRevisionInfo masterInfo = client.commit(files, Constants.MASTER, null, null, NULL_PROGRESS_MONITOR);
// test checkout
Monitor m = new Monitor();
client.addNotificationListener(m);
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
String[] logFileContent = read(new File(workDir, ".git/logs/HEAD")).split("\\n");
replacedertEquals("checkout: moving from master to nova", logFileContent[logFileContent.length - 1].substring(logFileContent[logFileContent.length - 1].indexOf("checkout: ")));
replacedertTrue(m.notifiedFiles.contains(file));
replacedertEquals("initial", read(file));
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(BRANCH).isActive());
write(file, BRANCH);
add();
GitRevisionInfo novaInfo = client.commit(files, BRANCH, null, null, NULL_PROGRESS_MONITOR);
m = new Monitor();
client.addNotificationListener(m);
client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
replacedertTrue(m.notifiedFiles.contains(file));
replacedertEquals(Constants.MASTER, read(file));
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(Constants.MASTER).isActive());
m = new Monitor();
client.addNotificationListener(m);
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
replacedertTrue(m.notifiedFiles.contains(file));
replacedertEquals(BRANCH, read(file));
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(BRANCH).isActive());
}
19
Source : CheckoutTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testCheckoutRevisionKeepLocalChanges() throws Exception {
File file = new File(workDir, "file");
write(file, "initial");
File[] files = new File[] { file };
add(files);
GitClient client = getClient(workDir);
GitRevisionInfo info = client.commit(files, "initial", null, null, NULL_PROGRESS_MONITOR);
client.createBranch(BRANCH, info.getRevision(), NULL_PROGRESS_MONITOR);
write(file, Constants.MASTER);
// test checkout
// the file remains modified in WT
client.checkoutRevision(BRANCH, true, NULL_PROGRESS_MONITOR);
replacedertEquals(Constants.MASTER, read(file));
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
Map<String, GitBranch> branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(BRANCH).isActive());
add(file);
// the file remains modified in index
client.checkoutRevision(Constants.MASTER, true, NULL_PROGRESS_MONITOR);
replacedertEquals(Constants.MASTER, read(file));
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
branches = client.getBranches(false, NULL_PROGRESS_MONITOR);
replacedertTrue(branches.get(Constants.MASTER).isActive());
}
19
Source : CatTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testLineEndingsWindows() throws Exception {
if (!isWindows()) {
return;
}
// lets turn autocrlf on
Thread.sleep(1100);
StoredConfig cfg = repository.getConfig();
cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, "true");
cfg.save();
File f = new File(workDir, "f");
write(f, "a\r\nb\r\n");
File[] roots = new File[] { f };
GitClient client = getClient(workDir);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
List<String> res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("A f"), res);
DirCacheEntry e1 = repository.readDirCache().getEntry("f");
runExternally(workDir, Arrays.asList("git.cmd", "commit", "-m", "hello"));
write(f, "a\r\nb\r\nc\r\n");
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList(" M f"), res);
runExternally(workDir, Arrays.asList("git.cmd", "add", "f"));
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("M f"), res);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
FileOutputStream fo = new FileOutputStream(f);
client.catFile(f, "HEAD", fo, NULL_PROGRESS_MONITOR);
fo.close();
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, false);
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(Arrays.asList("MM f"), res);
client.reset("HEAD", GitClient.ResetType.MIXED, NULL_PROGRESS_MONITOR);
replacedertStatus(client.getStatus(roots, NULL_PROGRESS_MONITOR), workDir, f, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertEquals(e1.getObjectId(), repository.readDirCache().getEntry("f").getObjectId());
res = runExternally(workDir, Arrays.asList("git.cmd", "status", "-s"));
replacedertEquals(0, res.size());
}
19
Source : AddTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testAddKeepExecutableInIndex() throws Exception {
if (isWindows()) {
// no reason to test on windows
return;
}
File f = new File(workDir, "f");
write(f, "hi, i am executable");
f.setExecutable(true);
File[] roots = { f };
GitClient client = getClient(workDir);
add(roots);
Map<File, GitStatus> statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
StoredConfig config = repository.getConfig();
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, false);
config.save();
// add should not overwrite executable bit in index
f.setExecutable(false);
add(roots);
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
// index should differ from wt
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, true);
config.save();
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_ADDED, Status.STATUS_MODIFIED, Status.STATUS_ADDED, false);
}
19
Source : AddTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testUpdateIndexIgnoreExecutable() throws Exception {
if (isWindows()) {
// no reason to test on windows
return;
}
File f = new File(workDir, "f");
write(f, "hi, i am not executable");
File[] roots = { f };
add(roots);
commit(roots);
f.setExecutable(true);
GitClient client = getClient(workDir);
StoredConfig config = repository.getConfig();
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, false);
config.save();
write(f, "hi, i am executable");
// add should not set executable bit in index
add(roots);
Map<File, GitStatus> statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
// index should differ from wt
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, true);
config.save();
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
}
19
Source : AddTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testAddIgnoreExecutable() throws Exception {
if (isWindows()) {
// no reason to test on windows
return;
}
File f = new File(workDir, "f");
write(f, "hi, i am executable");
f.setExecutable(true);
File[] roots = { f };
GitClient client = getClient(workDir);
StoredConfig config = repository.getConfig();
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, false);
config.save();
// add should not set executable bit in index
add(roots);
Map<File, GitStatus> statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
// index should differ from wt
config.setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_FILEMODE, true);
config.save();
statuses = client.getStatus(roots, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, f, true, Status.STATUS_ADDED, Status.STATUS_MODIFIED, Status.STATUS_ADDED, false);
}
18
Source : CreateClientTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testClientRelease() throws Exception {
GitClient client1 = GitRepository.getInstance(workDir).createClient();
Repository jgitRepo1 = getRepository(client1);
replacedertRepoClients(jgitRepo1, 1);
client1.release();
replacedertRepoClients(jgitRepo1, 0);
client1 = GitRepository.getInstance(workDir).createClient();
replacedertEquals(jgitRepo1, getRepository(client1));
replacedertRepoClients(jgitRepo1, 1);
// some commands
client1.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
client1.add(new File[] { workDir }, NULL_PROGRESS_MONITOR);
GitClient client2 = GitRepository.getInstance(workDir).createClient();
replacedertEquals(jgitRepo1, getRepository(client2));
replacedertRepoClients(jgitRepo1, 2);
// some commands
client2.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
client2.add(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertRepoClients(jgitRepo1, 2);
client1.release();
replacedertRepoClients(jgitRepo1, 1);
client2.release();
replacedertRepoClients(jgitRepo1, 0);
}
18
Source : CreateClientTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
/**
* Submodules have .git folder elsewhere, they use GIT_LINK mechanism to access it
*/
public void testClientForSubmodule() throws Exception {
File subRepo = new File(workDir, "subrepo");
subRepo.mkdirs();
File newFile = new File(subRepo, "file");
newFile.createNewFile();
File[] roots = new File[] { newFile };
GitClient client = GitRepository.getInstance(subRepo).createClient();
client.init(NULL_PROGRESS_MONITOR);
client.add(roots, NULL_PROGRESS_MONITOR);
Map<File, GitStatus> statuses = client.getStatus(new File[] { newFile }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, subRepo, newFile, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
Repository repo = getRepository(client);
StoredConfig config = repo.getConfig();
config.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_WORKTREE, subRepo.getAbsolutePath());
config.save();
File gitFolder = new File(subRepo, ".git");
File newLocation = new File(workDir.getParentFile(), "newFolder");
newLocation.mkdirs();
gitFolder.renameTo(new File(newLocation, ".git"));
gitFolder = new File(newLocation, ".git");
File gitFile = new File(subRepo, ".git");
write(gitFile, "gitdir: " + gitFolder.getAbsolutePath());
ApiUtils.clearRepositoryPool();
client = GitRepository.getInstance(subRepo).createClient();
repo = getRepository(client);
replacedertEquals(subRepo, repo.getWorkTree());
replacedertEquals(gitFolder, repo.getDirectory());
statuses = client.getStatus(new File[] { newFile }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, subRepo, newFile, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
}
18
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
// must not return status for nested repositories
public void testStatusNested() throws Exception {
File f = new File(workDir, "f");
write(f, "file");
GitClient client = getClient(workDir);
client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
File nested = new File(workDir, "nested");
nested.mkdirs();
new File(workDir, "emptyFolder").mkdirs();
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
// commandline is silent about empty folders
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
GitClient clientNested = getClient(nested);
clientNested.init(NULL_PROGRESS_MONITOR);
File f2 = new File(nested, "f");
write(f2, "file");
clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
clientNested.commit(new File[] { f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
// on the other hand, nested repository parent should be listed as is on commandline
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, nested, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, nested, f2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
}
18
Source : StatusTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testSymlinkedFolder() throws Exception {
File folder1 = new File(workDir, "boo");
File file1 = new File(workDir, "old_file");
File folder2 = new File(workDir, "some_dir");
File file2_1 = new File(folder2, "some_file");
folder1.mkdirs();
folder2.mkdirs();
file1.createNewFile();
file2_1.createNewFile();
add(workDir);
commit(workDir);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2_1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
// create a symlink, not added to index
String relPath = "../some_dir";
File link = new File(folder1, folder2.getName());
Files.createSymbolicLink(Paths.get(link.getAbsolutePath()), Paths.get(relPath));
replacedertTrue(Files.isSymbolicLink(Paths.get(link.getAbsolutePath())));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
// symlink is added to index, not yet committed
client.add(new File[] { link }, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, true, Status.STATUS_ADDED, Status.STATUS_NORMAL, Status.STATUS_ADDED, false);
// symlink is committed
client.commit(new File[] { link }, "commit symlink", null, null, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
// symlink is deleted on disk
Files.delete(Paths.get(link.getAbsolutePath()));
replacedertFalse(Files.isSymbolicLink(Paths.get(link.getAbsolutePath())));
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, true, Status.STATUS_NORMAL, Status.STATUS_REMOVED, Status.STATUS_REMOVED, false);
// symlink is also deleted from index
client.remove(new File[] { link }, true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(new File[] { link }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, link, true, Status.STATUS_REMOVED, Status.STATUS_NORMAL, Status.STATUS_REMOVED, false);
}
18
Source : StashTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testStashApply() throws Exception {
File folder = new File(workDir, "folder");
File file1 = new File(workDir, "file");
File file2 = new File(folder, "file");
folder.mkdirs();
write(file1, "file1");
write(file2, "file2");
add();
commit();
write(file1, "modification 1");
add();
write(file2, "modification 2");
GitClient client = getClient(workDir);
client.stashSave("stash", false, NULL_PROGRESS_MONITOR);
Map<File, GitStatus> statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
client.stashApply(0, false, NULL_PROGRESS_MONITOR);
replacedertEquals("modification 1", read(file1));
replacedertEquals("modification 2", read(file2));
statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
client.reset("master", GitClient.ResetType.HARD, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_NORMAL, false);
client.stashApply(0, true, NULL_PROGRESS_MONITOR);
replacedertEquals("modification 1", read(file1));
replacedertEquals("modification 2", read(file2));
statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_MODIFIED, false);
replacedertEquals(0, client.stashList(NULL_PROGRESS_MONITOR).length);
}
18
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
// must not checkout from nested repositories
public void testResetNested() throws Exception {
File f = new File(workDir, "f");
write(f, "file");
GitClient client = getClient(workDir);
client.add(new File[] { f }, NULL_PROGRESS_MONITOR);
client.commit(new File[] { f }, "init commit", null, null, NULL_PROGRESS_MONITOR);
File nested = new File(workDir, "nested");
nested.mkdirs();
File f2 = new File(nested, "f");
write(f2, "file");
GitClient clientNested = getClient(nested);
clientNested.init(NULL_PROGRESS_MONITOR);
clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
clientNested.commit(new File[] { f2 }, "init commit", null, null, NULL_PROGRESS_MONITOR);
write(f, "change");
add(f);
write(f2, "change");
clientNested.add(new File[] { f2 }, NULL_PROGRESS_MONITOR);
client.reset(new File[] { workDir, nested }, "HEAD", true, NULL_PROGRESS_MONITOR);
Map<File, GitStatus> statuses = client.getStatus(new File[] { workDir }, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, f, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, nested, false, Status.STATUS_NORMAL, Status.STATUS_ADDED, Status.STATUS_ADDED, false);
statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
client.reset("master", ResetType.MIXED, NULL_PROGRESS_MONITOR);
statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
client.reset("master", ResetType.HARD, NULL_PROGRESS_MONITOR);
statuses = clientNested.getStatus(new File[] { nested }, NULL_PROGRESS_MONITOR);
replacedertEquals(1, statuses.size());
replacedertStatus(statuses, nested, f2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
}
18
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetPaths() throws Exception {
// index entry will be modified
File file1 = new File(workDir, "file1");
write(file1, "blablablabla");
// index entry will be left alone
File file2 = new File(workDir, "file2");
write(file2, "blablablabla in file2");
// index entry will be added
File file3 = new File(workDir, "file3");
write(file3, "blablablabla in file3");
// index entry will be removed
File file4 = new File(workDir, "file4");
File[] files = new File[] { file1, file2, file3, file4 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(3, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file3, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
String content = "change in content";
write(file1, content);
write(file4, "blablablabla in file4");
client.add(files, NULL_PROGRESS_MONITOR);
commit(files);
write(file2, "change in content in file 2");
client.add(new File[] { file2 }, NULL_PROGRESS_MONITOR);
client.remove(new File[] { file3 }, false, NULL_PROGRESS_MONITOR);
LogCommand cmd = new Git(repository).log();
Iterator<RevCommit> logs = cmd.call().iterator();
logs.next();
RevCommit commit = logs.next();
String revision = commit.getId().getName();
client.reset(new File[] { file1, file3, file4 }, revision, true, NULL_PROGRESS_MONITOR);
// file1: modified HEAD-INDEX
// file2: stays modified HEAD-INDEX
// file3: removed in WT, normal HEAD-INDEX
// file4: removed in index, normal in WT
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(4, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file3, true, Status.STATUS_NORMAL, Status.STATUS_REMOVED, Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, file4, true, Status.STATUS_REMOVED, Status.STATUS_ADDED, Status.STATUS_NORMAL, false);
replacedertEquals(content, read(file1));
}
18
Source : ResetTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testResetPaths_NonRecursive() throws Exception {
File folder = new File(workDir, "folder");
folder.mkdirs();
// index entry will be modified
File file1 = new File(folder, "file1");
write(file1, "blablablabla");
File subfolder = new File(folder, "subfolder");
subfolder.mkdirs();
// index entry will be left alone
File file2 = new File(subfolder, "file2");
write(file2, "blablablabla in file2");
File[] files = new File[] { file1, file2 };
add(files);
commit(files);
GitClient client = getClient(workDir);
Map<File, GitStatus> statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_NORMAL, Status.STATUS_NORMAL, false);
String content = "change in content";
write(file1, content);
write(file2, content);
client.add(files, NULL_PROGRESS_MONITOR);
// children
client.reset(new File[] { folder }, "HEAD", false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_MODIFIED, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, false);
write(file1, content);
// recursive
client.reset(new File[] { folder }, "HEAD", true, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file2, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
write(file1, content);
add(file1);
// non recursive on file
client.reset(new File[] { file1 }, "HEAD", false, NULL_PROGRESS_MONITOR);
statuses = client.getStatus(files, NULL_PROGRESS_MONITOR);
replacedertEquals(2, statuses.size());
replacedertStatus(statuses, workDir, file1, true, Status.STATUS_NORMAL, Status.STATUS_MODIFIED, Status.STATUS_MODIFIED, false);
}
18
Source : RenameTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testRenameFile() throws Exception {
File file = new File(workDir, "file");
write(file, "hello");
File target = new File(workDir, "fileRenamed");
add(file);
commit(file);
GitClient client = getClient(workDir);
Monitor m = new Monitor();
client.addNotificationListener(m);
client.rename(file, target, false, m);
replacedertTrue(target.exists());
replacedertFalse(file.exists());
replacedertEquals("hello", read(target));
replacedertEquals(Collections.singleton(target), m.notifiedFiles);
Map<File, GitStatus> statuses = client.getStatus(new File[] { file, target }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, target, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertTrue(statuses.get(target).isRenamed());
statuses = client.getStatus(new File[0], NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, target, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertTrue(statuses.get(target).isRenamed());
}
18
Source : RenameTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testMoveTreeAfter() throws Exception {
File folder = new File(workDir, "folder");
folder.mkdirs();
File file1 = new File(folder, "file1");
write(file1, "file1 content");
File file2 = new File(folder, "file2");
write(file2, "file2 content");
File subFolder1 = new File(folder, "folder1");
subFolder1.mkdirs();
File file11 = new File(subFolder1, "file");
write(file11, "file11 content");
File subFolder2 = new File(folder, "folder2");
subFolder2.mkdirs();
File file21 = new File(subFolder2, "file");
write(file21, "file21 content");
File target = new File(workDir, "target");
File moved1 = new File(target, file1.getName());
File moved2 = new File(target, file2.getName());
File moved11 = new File(new File(target, file11.getParentFile().getName()), file11.getName());
File moved21 = new File(new File(target, file21.getParentFile().getName()), file21.getName());
add(file1, file11, file21);
commit(file1, file11);
folder.renameTo(target);
GitClient client = getClient(workDir);
Monitor m = new Monitor();
client.addNotificationListener(m);
client.rename(folder, target, true, m);
replacedertTrue(moved1.exists());
replacedertTrue(moved2.exists());
replacedertTrue(moved11.exists());
replacedertTrue(moved21.exists());
replacedertEquals(new HashSet<File>(Arrays.asList(moved1, moved11, moved21)), m.notifiedFiles);
Map<File, GitStatus> statuses = client.getStatus(new File[] { file1, file2, file11, file21, moved1, moved11, moved2, moved21 }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file1, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertNull(statuses.get(file2));
replacedertStatus(statuses, workDir, file11, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertNull(statuses.get(file21));
replacedertStatus(statuses, workDir, moved1, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertStatus(statuses, workDir, moved2, false, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_ADDED, false);
replacedertStatus(statuses, workDir, moved11, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertStatus(statuses, workDir, moved21, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertTrue(statuses.get(moved1).isRenamed());
replacedertTrue(statuses.get(moved11).isRenamed());
// file21 was not committed
replacedertFalse(statuses.get(moved21).isRenamed());
}
18
Source : RenameTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testMoveFileToExisting() throws Exception {
File file = new File(workDir, "file");
write(file, "aaa");
File target = new File(new File(workDir, "folder"), "file");
add(file);
commit(file);
GitClient client = getClient(workDir);
Monitor m = new Monitor();
client.addNotificationListener(m);
client.rename(file, target, false, m);
replacedertTrue(target.exists());
replacedertFalse(file.exists());
replacedertEquals("aaa", read(target));
replacedertEquals(Collections.singleton(target), m.notifiedFiles);
Map<File, GitStatus> statuses = client.getStatus(new File[] { file, target }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, target, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertTrue(statuses.get(target).isRenamed());
write(file, "aaa");
write(target, "bbb");
add(target, file);
commit(target);
File target2 = target;
replacedertTrue(target2.exists());
m = new Monitor();
if (!file.renameTo(target2)) {
replacedertTrue(target2.delete() && file.renameTo(target2));
}
client.addNotificationListener(m);
client.rename(file, target2, true, m);
replacedertTrue(m.notifiedWarnings.contains("Index already contains an entry for folder/file"));
replacedertEquals(Collections.singleton(target2), m.notifiedFiles);
statuses = client.getStatus(new File[] { file, target, target2 }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, target, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, target2, true, GitStatus.Status.STATUS_MODIFIED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_MODIFIED, false);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
// aaa -> bbb is a 0% match
replacedertFalse(statuses.get(target).isRenamed());
replacedertFalse(statuses.get(target).isCopied());
}
18
Source : RenameTest.java
with Apache License 2.0
from apache
with Apache License 2.0
from apache
public void testRenameFileAfter() throws Exception {
File file = new File(workDir, "file");
write(file, "hello");
File target = new File(workDir, "fileRenamed");
add(file);
commit(file);
file.renameTo(target);
GitClient client = getClient(workDir);
Monitor m = new Monitor();
replacedertTrue(target.exists());
replacedertFalse(file.exists());
replacedertEquals("hello", read(target));
client.addNotificationListener(m);
client.rename(file, target, true, m);
replacedertEquals(Collections.singleton(target), m.notifiedFiles);
Map<File, GitStatus> statuses = client.getStatus(new File[] { file, target }, NULL_PROGRESS_MONITOR);
replacedertStatus(statuses, workDir, file, true, GitStatus.Status.STATUS_REMOVED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_REMOVED, false);
replacedertStatus(statuses, workDir, target, true, GitStatus.Status.STATUS_ADDED, GitStatus.Status.STATUS_NORMAL, GitStatus.Status.STATUS_ADDED, false);
replacedertTrue(statuses.get(target).isRenamed());
}
See More Examples