Problème:
19/06/10 mise à Jour: Plus de preuves problème est côté serveur. La réception de cette erreur sur Windows 7 en ligne de commande (voir ci-dessous pour plein de sperme):
URLError: <urlopen error [Errno 10054] An existing connection was forcibly closed by the remote host>
abort: error: An existing connection was forcibly closed by the remote host
Lors de la tentative de pousser une révision qui contient 6 fichiers volumineux (.exe, .dmg, etc) à mon serveur distant mon client (MacHG) signale l'erreur:
"Erreur Lors De La Poussée. Mercurial signalé numéro d'erreur 255: abort: Erreur HTTP 404: Not Found"
Que signifie l'erreur même dire?! La seule chose unique (que je peux dire) sur ce commit est la taille, le type, et les noms des fichiers. Comment puis-je déterminer l'exact du fichier au sein de l'ensemble de modifications est défectueux? Comment puis-je supprimer la corruption de la révision du référentiel? Dans un autre post, quelqu'un a signalé à l'aide de "mq" extensions de supprimer efficacement une erreur de révision de l'histoire au sein d'un référentiel, mais mq semble trop compliqué pour ce que je suis en train de résoudre.
Arrière-plan:
Je peux pousser et tirer les suivantes: source des fichiers, des répertoires, des .les fichiers de classe et un .jar fichier vers et depuis le serveur, en utilisant à la fois MacHG et toirtoise HG.
J'ai réussi a commis à mon dépôt local du outre pour la première fois le 6 grands .exe, .dmg etc les fichiers d'installation (environ 130 mo au total).
Dans la suite de s'engager à mon dépôt local, je l'ai enlevé ("sans traces" / oublier) le 6 fichiers à l'origine du problème, cependant la précédente (à défaut) de l'ensemble de modifications est toujours en attente d'être poussé sur le serveur (c'est à dire mon hôte local est en essayant de repousser le "ajouter" puis sur "supprimer" pour le serveur distant - et de rester aligné avec le "tout garder dans l'histoire" de la philosophie du système de contrôle de source).
Je peux commettre .txt .fichiers java etc à l'aide de TortoiseHG à partir de Windows Pc. Je n'ai pas fait de tests de validation ou de pousser le même gros fichiers à l'aide de TortoiseHG.
S'il vous plaît aider!
Programme d'installation:
Applications Client = MacHG v0.9.7 (SCM 1.5.4), et TortoiseHG v1.0.4 (SCM 1.5.4)
Serveur = HTTPS, IIS7.5, Mercurial 1.5.4, Python 2.6.5, le programme d'installation à l'aide de ces instructions:
http://www.jeremyskinner.co.uk/mercurial-on-iis7/
Dans IIS7.5 le CGI est configuré pour gérer TOUS les verbes (et pas seulement GET, POST et de la TÊTE).
Mon hgweb.cgi fichier sur le serveur est comme suit:
#!/usr/bin/env python
#
# An example hgweb CGI script, edit as necessary
# Path to repo or hgweb config to serve (see 'hg help hgweb')
#config = "/path/to/repo/or/config"
# Uncomment and adjust if Mercurial is not installed system-wide:
#import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb('C:\inetpub\wwwroot\hg\hgweb.config')
wsgicgi.launch(application)
Mon hgweb.fichier de configuration sur le serveur est le suivant:
[collections]
C:\Mercurial Repositories = C:\Mercurial Repositories
[web]
baseurl = /hg
allow_push = usernamea
allow_push = usernameb
Sortie à partir de la ligne de commande à partir de mon macbook (tant Mercurial et MacHG installé) à l'aide d'-v et-trackback drapeaux:
macbook15:hgrepos coderunner$ hg -v --traceback push
pushing to https://coderunner:***@hg.mydomain.com.au/hg/hgrepos
searching for changes
3 changesets found
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 50, in _runcatch
return _dispatch(ui, args)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 471, in _dispatch
return runcommand(lui, repo, cmd, fullargs, ui, options, d)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 341, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 522, in _runcommand
return checkargs()
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 476, in checkargs
return cmdfunc()
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 470, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/Library/Python/2.6/site-packages/mercurial/util.py", line 401, in check
return func(*args, **kwargs)
File "/Library/Python/2.6/site-packages/mercurial/commands.py", line 2462, in push
r = repo.push(other, opts.get('force'), revs=revs)
File "/Library/Python/2.6/site-packages/mercurial/localrepo.py", line 1491, in push
return self.push_unbundle(remote, force, revs)
File "/Library/Python/2.6/site-packages/mercurial/localrepo.py", line 1636, in push_unbundle
return remote.unbundle(cg, remote_heads, 'push')
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 235, in unbundle
heads=' '.join(map(hex, heads)))
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 134, in do_read
fp = self.do_cmd(cmd, **args)
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 85, in do_cmd
resp = self.urlopener.open(req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 389, in open
response = meth(req, response)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 502, in http_response
'http', request, response, code, msg, hdrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 427, in error
return self._call_chain(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 510, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found
abort: HTTP Error 404: Not Found
macbook15:hgrepos coderunner$
La sortie de Windows 7 ordinateur hôte (a seulement TortoiseHG installé) tente de faire la même des fichiers sur le serveur (différents changset, mais contient les mêmes fichiers 6 ajouts comme la révision poussé à partir du macbook)
c:\repositories\hgrepos>hg -v --traceback push
pushing to https://coderunner:***@hg.mydomain.com.au/hg/hgrepos
searching for changes
1 changesets found
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 50, in _runcatch
File "mercurial\dispatch.pyo", line 471, in _dispatch
File "mercurial\dispatch.pyo", line 341, in runcommand
File "mercurial\dispatch.pyo", line 522, in _runcommand
File "mercurial\dispatch.pyo", line 476, in checkargs
File "mercurial\dispatch.pyo", line 470, in <lambda>
File "mercurial\util.pyo", line 401, in check
File "mercurial\commands.pyo", line 2462, in push
File "mercurial\localrepo.pyo", line 1491, in push
File "mercurial\localrepo.pyo", line 1636, in push_unbundle
File "mercurial\httprepo.pyo", line 235, in unbundle
File "mercurial\httprepo.pyo", line 134, in do_read
File "mercurial\httprepo.pyo", line 85, in do_cmd
File "urllib2.pyo", line 389, in open
File "urllib2.pyo", line 407, in _open
File "urllib2.pyo", line 367, in _call_chain
File "mercurial\url.pyo", line 523, in https_open
File "mercurial\keepalive.pyo", line 259, in do_open
URLError: <urlopen error [Errno 10054] An existing connection was forcibly closed by the remote host>
abort: error: An existing connection was forcibly closed by the remote host
c:\repositories\hgrepos>
C'est un keep-alive problème? Est IIS7.5 en faute? Python 2.6.5 en faute?