IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

JGit et utilisation du log et du pull


Sujet :

API standards et tierces Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java Débutant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java Débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut JGit et utilisation du log et du pull
    Bonjour à tous,
    Je cherche à faire des méthodes qui utilisent les APIs et libs JGit (org.eclipse.jgit) et bien-sur je bloque sur le premier bout de code.
    Cette première méthode doit comparer le "bare" avec le dépôt local et si il manque des commit en local, faire un "pull". Mais pour le moment je bloque sur un simple log sur le dépôt local.
    J'ai le message d'erreur suivant lors du test :
    " No HEAD exists and no explicit starting revision was specified "

    Et voici le bout de code pour la récupération du log dans la console pour le moment.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import java.io.IOException;
    import org.eclipse.jgit.api.Git;
    import org.eclipse.jgit.api.errors.GitAPIException;
    import org.eclipse.jgit.lib.Repository;
    import org.eclipse.jgit.revwalk.RevCommit;
    import org.eclipse.jgit.storage.file.FileRepository;
     
    public class GitService {
        public static void gitsynchro() throws IOException, GitAPIException {
            Repository depotLocal;
            depotLocal = new FileRepository("scm:git:file://localhost/home/***/***/***/projet/.git");
            Git git = new Git(depotLocal);
            for (RevCommit r : git.log().call()) {
                System.out.println(r.getFullMessage());
            }
        }
    }
    Je précise que depuis le Terminal j'ai déjà fait un pull et git log me liste bien tout les commits.

    Merci d'avance pour toutes propositions.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java Débutant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java Débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    bon finalement j'ai trouvé par moi même la solution.
    le problème venait de la String du depotLocal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    depotLocal = new FileRepository("scm:git:file://localhost/home/***/***/***/projet/.git");
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    depotLocal = new FileRepository("/home/***/***/***/projet/.git");
    Par contre je bloque maintenant sur le pull qui ne ce fait pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    public class GitService {
     
        public static void gitsynchro() throws IOException, GitAPIException {
            System.out.println("coucou");
     
            Repository depotLocal;
            Repository depotDistant;
            depotLocal = new FileRepository("/home/***/***/***/projet/.git");
            depotDistant = new FileRepository("/home/***/***/gitserver");
            Git git = new Git(depotLocal);
            Git git2 = new Git(depotDistant);
     
            System.out.println(depotDistant);
            System.out.println("===== distant =====");
            for (RevCommit log : git2.log().call()) {
                System.out.println(log.getFullMessage());
            }
            System.out.println("===== local =====");
            System.out.println(depotLocal);
            for (RevCommit r : git.log().call()) {
                System.out.println(r.getFullMessage());
            }
            String pull;
            String branchLocal;
            pull = git.pull().call().toString();
            branchLocal = git.pull().getRepository().getFullBranch();
            System.out.println("branchLocal : {" + branchLocal + "}");
            System.out.println("test2 : {" + pull + "}");
            System.out.println("pull : {" + pull + "}");
     
            for (RevCommit r2 : git.log().call()) {
                System.out.println(r2.getFullMessage());
            }
        }
    }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java Débutant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java Débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    De retour juste pour vous dire que j'ai résolut par moi même le problème du pull en n'indiquant plus le dépôt distant.

    je continue sur mes autres problème dans un nouveau poste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.5] Restaurer une base en utilisant les logs binaires
    Par Menadel dans le forum Administration
    Réponses: 2
    Dernier message: 20/08/2013, 19h13
  2. [JGit] comment utiliser TagCommand
    Par SuperMicke34 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 10/07/2013, 16h48
  3. Utilisation "Error log view"
    Par bleporini dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 04/12/2009, 15h30
  4. utilisation fonction log avec décimaux
    Par louiz31 dans le forum Calcul scientifique
    Réponses: 7
    Dernier message: 02/07/2009, 12h04
  5. [java.util.logging]Bonne utilisation de logging?
    Par Torg666 dans le forum Logging
    Réponses: 2
    Dernier message: 01/07/2009, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo