Como acessar changesets em Eclipse (Mylyn / Team)?

votos
4

Quero acessar os changesets de SVN, CVS e Git programaticamente via Java . Ou seja, eu quero os dados que é mostrado na -view Sincronizar .

Eu tentei várias abordagens para encontrar o uso correto no código, e aqui está a poucos documentação que eu poderia encontrar (mas sem sucesso):

  • Consegui acessar o Sincronizar-View via TeamUI.getSynchronizeManager(), mas não os changesets.

  • Uma outra coisa que eu tentei foi para obter os cangesets via FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()(obteve o gerente e, em seguida, o ChangeSetProvider onde tentei obter os changesets) - mas eles sempre estão vazias (porque eles são criados quando eu chamá-lo).

Então, como posso acessar changesets (com Java) em Eclipse (Mylyn)? No final, preciso do número de confirmações e rotatividade do código (LOC adicionados / removidos / editada) . Ou há, provavelmente, uma outra, melhor abordagem?

Qualquer ajuda é apreciada realmente muito!

Publicado 01/10/2012 em 14:32
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Eu não acho que Eclipse tem implementado esse recurso como uma API pública ainda. No entanto, esses links podem ajudar:

Classe changeset interna e outra API: http://www.cct.lsu.edu/~rguidry/ecl31docs/api/index.html?org/eclipse/team/internal/core/subscribers/ChangeSet.html

Um pedido de aprimoramento do recurso onde eles falam sobre por que eles não implementaram ainda (mas está datado de 2008, no entanto, o bug ainda está aberta?) Https://bugs.eclipse.org/bugs/show_bug.cgi?id=116084

Desculpe eu não poderia ser de mais ajuda! Talvez isso irá ajudá-lo na direção certa ...

Respondeu 09/11/2012 em 05:15
fonte usuário

votos
1

Eu tenho procurado este por 1 mês agora. Tentei programm um plugin para o eclipse, que é capaz de ler a revisão de um projeto ( "cópia de trabalho" do repositório).

O que eu fiz agora é um feio trabalho-around.

Eu costumava Runtime.exec () para executar um comando cmd-comando / shell-. Se você instalar um cliente SVN-linha de comando, você pode digitar svn status -v -u Dá-lhe uma lista de todos os arquivos da cópia de trabalho com a informação de alterações.

Em seguida, você pode analisar a lista para encontrar todas as linhas que começam com "M" - para "modificado" para obter o caminho do arquivo alterado.

Respondeu 22/08/2013 em 11:34
fonte usuário

votos
1

Você poderia talvez ir ao redor Eclipse:

  • Aplicar rsync para obter o CVS "*, v" arquivos do servidor CVS. Funciona para mim.
  • Aplicar cvs2svn comando "cvs2git" 's para os repos CVS. Funciona para mim.
  • Aplicar "git svn clone" (documentados em "git-svn") para os repos SVN. Eu ainda não tentei.
  • Finalmente, use a API do JGit para obter os changesets de todos os acordos de recompra, que neste momento são todos os repos git. Eu acho que você particularmente precisa estes:
    • classe Git
    • classe FileResolver
    • BaseConnection classe
    • Repositório de interface
    • classe CheckoutCommand
    • classe LogCommand
    • classe RevCommit
    • classe DiffCommand
    • classe DiffEntry
    • classe DiffFormatter
Respondeu 12/11/2012 em 05:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more