저는 힘내 용 SSH 브릿지 역할을하기 위해 파라미코를 사용하여 계단 서버를 설정하고 있습니다. 문제없이 저장소를 복제 할 수 있으며 변경 사항을 밀어 넣을 수도 있지만 성가신 오류 메시지가 표시됩니다.커스텀 쓰레기통을 가지고 계단을 열지 못했습니다.
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedRepository = all
[receive]
denyNonFastForwards = false
denyCurrentBranch = false
denyDeletes = false
이상한 일이 실제로 업데이 트 않는다 "마스터"이며, 나는 저장소에서 다른 지점이 없습니다 :
Pushing to [email protected]:/pckprojects/heyworld
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 262 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]:/pckprojects/heyworld
348dfdc..1c0468e master -> master
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to '[email protected]:/pckprojects/heyworld'
내 자식의 설정은 다음과 같습니다. 또한, SSH를 통하지 않고 디스크에서 저장소를 복제/푸시하면 오류가 표시되지 않습니다.
누구든지 내 생각에이 오류가 표시됩니다.
감사합니다 ...
편집 :
은 가능성이 내 문제는 내 SSH 서버에 관련된 것 때문에, 메인 루프는 다음과 같습니다 :
proc = subprocess.Popen(command, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while True:
try:
r_ready, w_ready, x_ready = select.select(
[channel, proc.stdout, proc.stderr], [proc.stdin], [])
except Exception, e:
print e
print 'channel: ' + str(channel)
print 'proc: ' + str(proc)
if channel in r_ready and channel.recv_ready():
data = channel.recv(128)
if len(data) > 0:
print 'IN>channel ' + repr(data)
proc.stdin.write(data)
else:
pass
if proc.stdout in r_ready:
data = proc.stdout.read(1)
channel.sendall(data)
if proc.stderr in r_ready:
data = proc.stdout.read(1)
if len(data) > 0:
channel.sendall(data)
else:
print "Encountered empty stderr, breaking"
break
print 'will close'
channel.shutdown(2)
channel.close()
추가 정보
나는 실제 의사 소통을 보는 것이 도움이 될 것이라고 생각했다. 이것은 git 클라이언트가 거의 이것을 많이 볼 수 없기 때문에 서버 측에 나타납니다.
git-receive-pack /home/www/data/project/heyworld/
OUT >>
00721ee2436e45c80236878132dc87d9e9fee6a81de5 refs/heads/master\x00 report-status delete-refs side-band-64k ofs-delta\n0000
IN >>
00841ee2436e45c80236878132dc87d9e9fee6a81de5 6054b3358787bafd1d96c0fdfbf016d620ccdf09 refs/heads/master\x00 report-status side-band-64k0000
IN >>
PACK\x00\x00\x00\x02\x00\x00\x00\x03\x96\x0ex\x9c\xa5\x8cM\x0e\xc2 \x14\x06\xf7\x9c\x82\x0b\xd8<(?\x8f\xc4\x18\xf7n\xbc\x02\xc2\x87%\x16\xdb4\xb8\xf0\xf66\xbd\x82\xcb\x99d\xa6o\x80\x846\xd9!)\x1b\x0b\xb1\r1$dO\x05\xa6\xb0\[email protected]\x06%D<\xb2\x16k\xdc\xf0\xeeRa/F\x07c\x13\x93\x1e\x1d{V\xa3\xce\x89}\x0e\x08\x05p\x91U\x86\x15\xf1\xd3\xa7e\x93\xf7\xa9\xceu\x95\xb7\xda\x1a\xbe\xf2\xbc\x1e8\xbc\x0e\xbc>[\xac\xf3\x90\x96v\x91J\xfb`X\xb3V\xf2D\x96H\xec\xb6\xd5\xde\xf1\xc7B4,\xe2\x07\xff\x8aF\xba\xaf\x01x\x9c340031Q\xc8H\xaddP\xd8P\xfcmzGg\x8aY\xc4\x8e\xad\xb1<\xca\x1b\xa3\x93\xee\xbd\x05\x00\xa8\xb4\x0c\x9by\xd3\xfe\xa0C\x86fU\x18\xbe\xa5\x86\xac5*\xf7\x11\x89\x8b9$x\x9c\x0b\x8b\x9a\x10\xc6\x92\x9b\x9a\xcf\x05\x00\x0f\xb2\x02\xe6=\x12?\xde\x1f\x9a=v\x0c3c\xf66\xc6\xcc1y\xe4\xb8\xa0
OUT >>
0030\x01000eunpack ok\n009krf/ed/atr0000
CLOSE CONNECTION
답변 해 주셔서 감사합니다. 위 출력은 실제로 이미 자세한 플래그를 사용하고 있습니다. 퍼미션 역시 내 첫 번째 생각 이었지만 SSH 프로세스가 루트로 실행 중이므로 실제로 문제가 될 수 없습니다. 파일 기반 소스로 사용하는 경우 복제, 푸시, 풀링 등의 작업이 제대로 작동하므로 저장소에 문제가 있다고 생각하지 않습니다. Git의 장황한 플래그가주는 정보가 얼마나 불만 스러운지, 정말 유용한 것을 알려주지 않으므로 말입니다. – philipk