web-dev-qa-db-fra.com

Installer TortoiseHG avec Mercurial 3.3.2

Je souhaite une interface graphique pour afficher, comparer et extraire les versions de mes projets. Mais quand je veux installer Tortoise HG, apt propose de déclasser Mercurial. Je me souviens que la mise à niveau vers la version 3.3 a résolu un problème (je ne me souviens plus de quoi il s’agissait), et j’ai un certain nombre de référentiels créés avec la version 3.3, je ne souhaite donc pas rétrograder.

hg view fonctionne, mais cela ne me permet pas d'extraire une révision ou de comparer deux révisions avec meld.

$ hg --version
Mercurial Distributed SCM (version 3.3.2)
...
$ Sudo aptitude install tortoisehg
....
The following packages have unmet dependencies:
 tortoisehg : Depends: Mercurial (< 3.2~) but 3.3.2-1ppa2~precise1 is installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     tortoisehg [Not Installed]                         

Accept this solution? [Y/n/q/?] 

...

     Downgrade the following packages:                                                   
3)     Mercurial [3.3.2-1ppa2~precise1 (now, precise) -> 2.0.2-1ubuntu1 (precise)]

Alors:

1. Comment installer Tortoise-hg pour Mercurial 3.3?

2. Quelles alternatives puis-je utiliser à la place?

MODIFIER:

$ lsb_release -a; uname -a; apt-cache policy tortoisehg Mercurial
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:   precise
Linux somename 3.11.0-26-generic #45~precise1-Ubuntu SMP Tue Jul 15 04:04:35 UTC 2014 i686 i686 i386 GNU/Linux
tortoisehg:
  Installed: (none)
  Candidate: 3.0-0ppa1~precise1
  Version table:
     3.0-0ppa1~precise1 0
    500 http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu/ precise/main i386 Packages
     2.2-1 0
    500 http://XX.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages
    100 /var/lib/dpkg/status
Mercurial:
  Installed: 3.3.2-1ppa2~precise1
  Candidate: 3.3.2-1ppa2~precise1
  Version table:
 *** 3.3.2-1ppa2~precise1 0
    500 http://ppa.launchpad.net/Mercurial-ppa/releases/ubuntu/ precise/main i386 Packages
    100 /var/lib/dpkg/status
     3.0.1-0ppa1~precise1 0
    500 http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu/ precise/main i386 Packages
     2.0.2-1ubuntu1.2 0
    500 http://XX.archive.ubuntu.com/ubuntu/ precise-updates/universe i386 Packages
    500 http://security.ubuntu.com/ubuntu/ precise-security/universe i386 Packages
     2.0.2-1ubuntu1 0
    500 http://XX.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages

EDIT2:

$ apt-cache policy tortoisehg
tortoisehg:
  Installed: (none)
  Candidate: 3.3.3+2-426769dbcfe8-0ppa1~precise1
  Version table:
     3.3.3+2-426769dbcfe8-0ppa1~precise1 0
    500 http://ppa.launchpad.net/tortoisehg-ppa/stable-snapshots/ubuntu/ precise/main i386 Packages
     2.2-1 0
    500 http://XX.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages
    100 /var/lib/dpkg/status
3

Après quelques enquêtes plus approfondies, j'ai constaté que le première version de ma réponse était erroné.

Aucun des PPA de l’équipe "Emballeurs TortoiseHP PPA" ne travaille avec le PPA Mercurial de la même équipe, du moins pas pour Precise.

Les Emballeurs PPA TortoiseHg: PPA Snapshots ont besoin de Mercurial (>= 2.7~) et Mercurial (<< 2.9~) et de L'emballeur TortoiseHg PPA: Snapshots Stables nécessite Mercurial (>= 3.0~) et Mercurial (<< 3.2~).

2
A.B.

Puisque tortoisehg-ppa est vide maintenant, j'ai fini par construire les paquets .deb à partir de xenial. Mais tortoisehg de xenial vaut 3.7.3 et requiert Mercurial <3.8; vous ne pouvez donc pas utiliser Mercurial-ppa qui possède 3.8.3. Construisez donc Mercurial à partir de xenial également.

Premièrement, installez les outils pour construire et mettre à jour les dépôts source:

Sudo apt-get install dpkg-dev build-essential fakeroot

edit /etc/apt/sources.list and replace
  deb-src ... trusty universe
with
  deb-src ... xenial universe

Sudo apt-get update

Construire Mercurial:

mkdir build-Mercurial
cd build-Mercurial
Sudo apt-get build-dep Mercurial
apt-get source Mercurial
cd Mercurial-3.7.3/
DEB_BUILD_OPTIONS=nocheck fakeroot debian/rules binary
Sudo dpkg -i ../Mercurial_*.deb

Construire tortoisehg:

cd ../..
mkdir build-tortoisehg
cd build-tortoisehg
Sudo apt-get build-dep tortoisehg
apt-get source tortoisehg
cd tortoisehg-3.7.3/
fakeroot debian/rules binary
Sudo dpkg -i ../tortoisehg_*.deb

Notez que dpkg peut se plaindre des dépendances désinstallées. Installez-les en utilisant apt-get install si nécessaire et relancez dpkg -i ....

1
patraulea

Premièrement, j'ai fait comme la première version de la réponse de A.B. suggérée:

Sudo apt-add-repository ppa:tortoisehg-ppa/stable-snapshots
Sudo apt-get update
Sudo apt-get install tortoisehg-nautilus tortoisehg

mais cela ne suffisait pas (la dernière commande a échoué).

Puis j'ai fait

$ Sudo apt-get download tortoisehg
Get:1 Downloading tortoisehg 3.3.3+2-426769dbcfe8-0ppa1~precise1 [4,090 kB]
Fetched 4,090 kB in 0s (5,018 kB/s) 

(Il télécharge un fichier .deb dans le répertoire actuel, la date du fichier est le 3 avril 2015 plutôt que la date actuelle et le nom complet du fichier est et non imprimé. à la console) et après

Sudo dpkg -i tortoisehg_3.3.3+2-426769dbcfe8-0ppa1~precise1_all.deb

ça a commencé à marcher pour moi. (Aucune idée de la raison pour laquelle --force-all(lien) n'était pas nécessaire.) En général, une telle installation est incorrecte, mais les fonctionnalités les plus courantes sont utilisées; le fait que cela fonctionne jusqu'à présent sur mon système ne constitue aucune garantie qu'il fonctionnera ultérieurement sur votre système.

Notez que apt-get et update-manager essaieront de "corriger" cette configuration (c'est-à-dire de la casser) presque chaque fois que vous les utiliserez. Vous devrez probablement faire ce qu’ils suggèrent et réinstaller Tortoisehg une fois leur travail terminé.

0