Browse Source

readme,

fetch and pull commits/ it works
home
esoe 2 years ago
parent
commit
ca4e1d1967
  1. 7
      README.md
  2. 2
      out/repos
  3. 33
      src/main/java/ru/molokoin/sourceListener/GitListener.java
  4. 1
      src/main/java/ru/molokoin/sourceListener/git/RepoCrafter.java
  5. BIN
      target/classes/ru/molokoin/sourceListener/GitListener.class
  6. BIN
      target/classes/ru/molokoin/sourceListener/git/RepoCrafter.class

7
README.md

@ -4,6 +4,13 @@
## Область применения ## Область применения
Приложение предусмотрено для применения в комплексе с остальными компонентами Системы автоматизации развертывания контента на веб-сервере. Приложение предусмотрено для применения в комплексе с остальными компонентами Системы автоматизации развертывания контента на веб-сервере.
предполагаемый контент:
* javadoc
* статические html странички, сгенерированые из markdown, plantuml
в перспективе с использованием maven+git:
* сервлеты, апплеты
* развертывание компонентов работающего сервера, без остановки его работы
## Варианты использования (use case) ## Варианты использования (use case)
* Вариант 1. (library)\ * Вариант 1. (library)\

2
out/repos

@ -1 +1 @@
Subproject commit 60eda0382753a60b183fec48f7372c956c7895ff Subproject commit 0ab4af2faa92b28085e13cf2789ec1652cb7f0a9

33
src/main/java/ru/molokoin/sourceListener/GitListener.java

@ -4,20 +4,28 @@ import java.io.BufferedInputStream;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.net.URI;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Collection; import java.util.Collection;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.Set;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
import org.eclipse.jgit.api.CheckoutCommand;
import org.eclipse.jgit.api.FetchCommand; import org.eclipse.jgit.api.FetchCommand;
import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.LsRemoteCommand;
import org.eclipse.jgit.api.PullCommand;
import org.eclipse.jgit.api.Status;
import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.InvalidRemoteException; import org.eclipse.jgit.api.errors.InvalidRemoteException;
import org.eclipse.jgit.api.errors.TransportException; import org.eclipse.jgit.api.errors.TransportException;
import org.eclipse.jgit.diff.DiffEntry;
import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.FetchResult; import org.eclipse.jgit.transport.FetchResult;
import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.core.exc.StreamReadException;
@ -155,10 +163,29 @@ public class GitListener {
} }
Git git = new Git(ear.getRepo()); Git git = new Git(ear.getRepo());
Collection<Ref> c= git.lsRemote().call(); //получаем сведения об удаленных комитах
for (Ref ref : c) { git.fetch().call();
System.out.println("ref >>>>>>>>>> " + ref); //System.out.println(">>>>>>>>>>>>>>>>>>>" + git.fetch().getRemote());
Status status = git.status().call();
System.out.println("Git Change: " + status.getChanged());
System.out.println("Git Modified: " + status.getModified());
System.out.println("Git UncommittedChanges: " + status.getUncommittedChanges());
System.out.println("Git Untracked: " + status.getUntracked());
//выводим список комитов
try {
for (RevCommit c : git.log().all().call())
System.out.println(c + ": " + c.getShortMessage());
} catch (IOException e) {
System.out.println("git.log().all().call() >>>>>>> " + e.getMessage());
e.printStackTrace();
} }
//забираем обновления с удаленного репозитария
// CheckoutCommand checkout = git.checkout();
// checkout.setName("master");
// checkout.call();
// PullCommand pullCmd = git.pull();
// pullCmd.call();
git.close(); git.close();
} }
} }

1
src/main/java/ru/molokoin/sourceListener/git/RepoCrafter.java

@ -45,6 +45,7 @@ public class RepoCrafter {
Git result = Git.cloneRepository() Git result = Git.cloneRepository()
.setURI(gitLink) .setURI(gitLink)
.setDirectory(localFile) .setDirectory(localFile)
.setCloneAllBranches(true)
//.setProgressMonitor(new SimpleProgressMonitor()) //.setProgressMonitor(new SimpleProgressMonitor())
.call(); .call();
// Note: the call() returns an opened repository already which needs to be closed to avoid file handle leaks! // Note: the call() returns an opened repository already which needs to be closed to avoid file handle leaks!

BIN
target/classes/ru/molokoin/sourceListener/GitListener.class

Binary file not shown.

BIN
target/classes/ru/molokoin/sourceListener/git/RepoCrafter.class

Binary file not shown.
Loading…
Cancel
Save