2010-05-19 18 views
10

Not, bu belki de en iyi serverfault.com adresinde olabilir, ancak bir programcı kaynak kodu deposunu barındırmakla ilgili olduğundan emin değilim. Öncelikle burada gönderiyorum, gerekirse göç ettirileceğine güveniyorum.Hosting IISur üzerinde Mercurial

Mercurial depolarımdaki klonları kendi sunucumda barındırmaya çalışıyorum (ana repo'yu başka bir yerde buluyorum) ve IIS altında Mercurial'ı kurmaya çalışıyorum.

here numaralı yönergeyi izledim, ancak numaralı hata mesajını alıyorum.

Çözüm:: Ayrıntılar için bu sorunun alt kısmına bakın.

hata iletisi:

mercurial.error.RepoError: repository /path/to/repo/or/config not found

İşte bunu yaptık.

  1. Ben yüklü ben c yarattı 1.5.2
  2. Mercurial: \ inetpub \ hg ben web sayfasının talimatına göre hg kaynağını indirilen ve c içine hgweb.cgi dosyasını kopyaladığınız
  3. : \ inetpub \ hg (hgweb.cgi ancak bu sorunun kaynağı olabilir gelmez, not, web sayfası hgwebdir.cgi diyor, ama bu özel dosya yok?) aşağıdaki ile, bir hgweb.config eklendi
  4. içindekiler:

    [paths] 
    repo1 = C:/hg/** 
    [web] 
    style = monoblue 
    
  5. Ben c yarattı: hg \, bir alt dizin testi yarattı ve ben web sitesinden piton 2.6.5, son 2.6 sürümü yüklü o

  6. içinde bir depo yarattı (web sayfası ben gerek bahseder doğru sürümü yükleyin veya belirli bir hata iletisi alacağım, çünkü uzaktan belirtilen bir hata iletisi almıyor, 2.6.5 sorunu olmadığını varsayalım)
  7. Yeni bir sanal ekledim host hg.vkarlsen.no, c: \ inetpub \ hg ile işaretleme
  8. Bu ana makine için, İşleyici Eşlemeleri bölümünde, * .cgi öğesinin c:\python26\python.exe -u %s %s ile eşleştirildiği bir komut dosyası eşleme ekledim Web sitesindeki talimatlara göre.

Daha sonra http://hg.vkarlsen.no/hgweb.cgi adresine gidin, ancak bir hata iletisi alıyorum. (Hata mesajı aşağıda metnin parçasıdır) \ inetpub \ hg ve aşağıdaki komutu çalıştırılır:

C:\inetpub\hg>c:\python26\python.exe -u hgweb.cgi 
Traceback (most recent call last): 
    File "hgweb.cgi", line 16, in <module> 
    application = hgweb(config) 
    File "mercurial\hgweb\__init__.pyc", line 12, in hgweb 

    File "mercurial\hgweb\hgweb_mod.pyc", line 30, in __init__ 

    File "mercurial\hg.pyc", line 82, in repository 

    File "mercurial\localrepo.pyc", line 2221, in instance 

    File "mercurial\localrepo.pyc", line 62, in __init__ 

mercurial.error.RepoError: repository /path/to/repo/or/config not found 

daha kolay bir test yapmak için, ben c navigasyon, bir komut istemine düştü Bunu düzeltmek için neye bakmam gerektiğini bilen var mı?


Düzenleme: Tamam, ben daha yakın çözüme bir adım başardı düşünüyorum, ama yine de stumped.

Farkettim ki.cgi dosyası bir piton komut dosyası ve bir şey derleme, bu yüzden düzenleme için açıldı ve bu çizgiler içinde oturuyordu:

# Path to repo or hgweb config to serve (see 'hg help hgweb') 
config = "/path/to/repo/or/config" 

Yani bu belirli bir hata iletisi için benim kaynağıydı.

Ben buna çizgiyi değiştirirseniz:

config = "c:\\hg\\test" 

Sonra Mercurial web arayüzü üzerinden boş depo gezinebilirsiniz.

config = "c:\\inetpub\\hg\\hgweb.config" 

Ama sonra aşağıdaki hata iletisini alabilirsiniz:

Ancak, birden fazla depoları barındırmak istiyor ve çizgi olarak görülmeye Ben de bir hgweb yapılandırma dosyaya bağlantı söylüyor, bu çalıştı: Ben yapılandırma değişkeni için denedim

mercurial.error.Abort: c:\inetpub\hg\hgweb.config: not a Mercurial bundle file 
Exception ImportError: 'No module named shutil' in <bound method bundlerepository.__del__ 
of <mercurial.bundlerepo.bundlerepository object at 0x0260A110>> ignored 

hiçbir şey iş gibi görünüyor:

config = "hgweb.config" 
config = "c:\\hg\\hgweb.config" 
  • Çeşitli diğer varyasyonları hatırlamıyorum.

Hâlâ hâlâ güdük, kimseyi işaret ediyor?

Umarız bu soru, benimki gibi güdüklerse başkalarına biraz bilgi verecektir. katma hgwebdir bölümler var

from: from mercurial.hgweb import hgweb, wsgicgi 
     application = hgweb(config) 

to: from mercurial.hgweb import hgweb, hgwebdir, wsgicgi 
     application = hgwebdir(config) 

Not:

+1

Kendinize cevap verebilir ve cevabınızı kabul edebilirsiniz, bu nedenle soru cevapsız olarak gösterilmez. – tonfa

+0

Hatırlatıcı için teşekkürler. –

cevap

7

Ben hgweb.cgi dosyasını düzenlemek zorunda sona erdi. Bu artık başarıyla benim depoları hizmet veren

[collections] 
C:/hg/ = C:/hg/ 

[web] 
style = gitweb 

: Burada hgweb.cgi dosyasıyla aynı dizinde bulunan benim hgweb.config dosyası, bu.