Chcę przejść z Google Code i Mercurial do Git i Github, zachowując jednocześnie wszystkie gałęzie i historię wersji.

Do tej pory wydaje się, że wtyczka Mercurial Hg-Git ( http://hg-git.github.com/ ) to moja jedyna opcja. Próbowałem śledzić instrukcje instalacji, ale jestem trochę nad głową. Oto gdzie jestem:

[extensions]
hgext.bookmarks =
hggit = 

Teraz, kiedy biegnę:

C:\Python27\Scripts>easy_install.exe hg-git

Otrzymuję następujące informacje:

Searching for hg-git
Best match: hg-git 0.3.3
Processing hg_git-0.3.3-py2.7.egg
hg-git 0.3.3 is already the active version in easy-install.pth

Using c:\python27\lib\site-packages\hg_git-0.3.3-py2.7.egg
Processing dependencies for hg-git
Searching for dulwich>=0.8.0
Reading http://pypi.python.org/simple/dulwich/
Reading http://samba.org/~jelmer/dulwich
Reading http://launchpad.net/dulwich
Best match: dulwich 0.8.5
Downloading http://samba.org/~jelmer/dulwich/dulwich-0.8.5.tar.gz
Processing dulwich-0.8.5.tar.gz
Running dulwich-0.8.5\setup.py -q bdist_egg --dist-dir c:\users\lee\appdata\local\temp\easy_install-3qgeev\dulwich-0.8.5\egg-dist-tmp-ciyt_4

A następnie kilka błędów, które wyglądają tak:

Traceback (most recent call last):
  File "C:\Python27\Scripts\easy_install-script.py", line 8, in <module>
    load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 1712, in main
    with_ei_usage(lambda:
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 1700, in with_ei_usage
    return f()
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 1716, in <lambda>
    distclass=DistributionWithoutHelpCommands, **kw
  File "C:\Python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 211, in run
    self.easy_install(spec, not self.no_deps)
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 446, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 481, in install_item
    self.process_distribution(spec, dists[0], deps, "Using")
  File "C:\Python27\lib\site-packages\setuptools\command\easy_install.py", line 519, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 563, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 799, in best_match
    return self.obtain(req, installer) # try and download/install

Nie jestem pewien, co próbować dalej. Próbowałem również po wskazówkach z klonowanie Github Repo z HGGIT, ale brakuje mi czegoś oczywistego . Każda pomoc byłaby bardzo doceniana.

2
Lee Richardson 24 wrzesień 2012, 00:08

1 odpowiedź

Walczyłem też z Hg-Git. Wymyślam dziwne rozwiązanie.

Importowałem HG Repo z https://import.github.com/New To nie jest dziwne i musi być tym, czego szukasz.


dziwna i bonusowa sekcja jest poniżej:

  • Stworzyłem Repo Lustro Hg na http://bitbucket.org
  • Stworzyłem lokalne repozytorium HG w Git Repository.
  • Dodałem .hg/ do mojego {x1}}
  • Dodaj .hg/ i .git/ do pliku .gitignore .git/ .hg/
  • Wprowadź katalog .hg w lokalnym repo i symbolice swojego .gitignore jako .hgignore

    $ ln -s ../.gitignore .hgignore

  • Teraz wszelkie zmiany wprowadzone do Twojego .gitignore są uważane za hg

    $ git Dodaj .giTignore -am 'giTignore'

    $ hg Dodaj

    $ Hg Push

    $ git push początek mistrza

Wniosek: Chociaż wygląda nieskuteczne, wymaga zalety Githuba, nie przegrywając repo i bazy danych i daje możliwość użycia zarówno {X0}} i {X1}} i {X1}}

1
guneysus 11 grudzień 2014, 14:15