Instale o TortoiseHG com o mercurial 3.3.2

3

Eu quero uma GUI para visualizar, comparar e fazer o checkout de versões de meu (s) projeto (s). Mas quando eu quero instalar o Tortoise HG, apt propõe o downgrade do Mercurial. Eu lembro que atualizar para 3.3 resolveu algum problema (não me lembro o que era), e eu tenho vários repositórios criados com 3.3, então eu não quero fazer o downgrade.

hg view funciona, mas não permite que eu faça uma revisão ou compare duas revisões com 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)]

Então:

1. Como instalo o Tortoise-hg para o Mercurial 3.3?

2. Quais alternativas posso usar em vez disso?

EDITAR:

$ 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
    
por 18446744073709551615 25.11.2015 / 13:49

3 respostas

2

Após mais algumas investigações aprofundadas, descobri que a primeira versão da minha resposta estava errada.

Nenhum dos PPAs da equipe “TortoiseHg PPA Packagers” funciona com o PPAs Mercurial da mesma equipe, pelo menos não para Precise.

Os PPA Packers do TortoiseHg: Instantâneos PPA precisam de mercurial (>= 2.7~) e mercurial (<< 2.9~) e PPA Packers do TortoiseHg: Instantâneos Stable PPA precisa de mercurial (>= 3.0~) e mercurial (<< 3.2~) .

    
por A.B. 25.11.2015 / 14:04
1

Como tortoisehg-ppa está vazio agora, acabei criando os pacotes .deb do xenial. Mas tortoisehg de xenial é 3.7.3 e requer mercurial & lt; 3.8, então você não pode usar mercurial-ppa que tem 3.8.3. Então, construa o mercurial a partir do xenial também.

Primeiro instale as ferramentas para criar e atualizar os repositórios de origem:

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

Construa o 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

Construa o 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

Note que o dpkg pode reclamar sobre dependências desinstaladas. Instale-os usando o apt-get install conforme necessário e execute novamente o dpkg -i ....

    
por patraulea 05.07.2016 / 14:28
0

Primeiro, eu fiz como a primeira versão da resposta do A.B. sugerida:

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

mas isso não foi suficiente (o último comando falhou).

Então eu fiz

$ 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) 

(faz o download de um .deb para o diretório atual, a data do arquivo é 3 de abril de 2015 em vez da data atual e o nome completo do arquivo não é impresso no console) e após

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

começou a trabalhar para mim. (Não faço ideia porque --force-all (link) não foi necessário.) Em geral, essa instalação está incorreta, mas acontece para executar a funcionalidade mais comum; o fato de que até agora funciona no meu sistema não é garantia de que funcionará no seu sistema no futuro.

Observe que apt-get e update-manager tentarão "corrigir" essa configuração (ou seja, quebrá-la) quase toda vez que você usá-los. Você provavelmente terá que fazer o que eles sugerem e reinstalar o tortoisehg depois que o trabalho estiver concluído.

    
por 18446744073709551615 26.11.2015 / 08:36