##// END OF EJS Templates
bundle2: capture transaction rollback message output (issue4614)...
Pierre-Yves David -
r24847:b705e5ab stable
parent child Browse files
Show More
@@ -1284,6 +1284,7 b' def unbundle(repo, cg, heads, source, ur'
1284 r = 0
1284 r = 0
1285 # need a transaction when processing a bundle2 stream
1285 # need a transaction when processing a bundle2 stream
1286 wlock = lock = tr = None
1286 wlock = lock = tr = None
1287 recordout = None
1287 try:
1288 try:
1288 check_heads(repo, heads, 'uploading changes')
1289 check_heads(repo, heads, 'uploading changes')
1289 # push can proceed
1290 # push can proceed
@@ -1301,11 +1302,18 b' def unbundle(repo, cg, heads, source, ur'
1301 except Exception, exc:
1302 except Exception, exc:
1302 exc.duringunbundle2 = True
1303 exc.duringunbundle2 = True
1303 if r is not None:
1304 if r is not None:
1304 exc._bundle2salvagedoutput = r.salvageoutput()
1305 parts = exc._bundle2salvagedoutput = r.salvageoutput()
1306 repo.ui.pushbuffer(error=True)
1307 def recordout(output):
1308 part = bundle2.bundlepart('output', data=output,
1309 mandatory=False)
1310 parts.append(part)
1305 raise
1311 raise
1306 else:
1312 else:
1307 lock = repo.lock()
1313 lock = repo.lock()
1308 r = changegroup.addchangegroup(repo, cg, source, url)
1314 r = changegroup.addchangegroup(repo, cg, source, url)
1309 finally:
1315 finally:
1310 lockmod.release(tr, lock, wlock)
1316 lockmod.release(tr, lock, wlock)
1317 if recordout is not None:
1318 recordout(repo.ui.popbuffer())
1311 return r
1319 return r
@@ -559,12 +559,12 b' Doing the actual push: hook abort'
559 pushing to other
559 pushing to other
560 searching for changes
560 searching for changes
561 pre-close-tip:e7ec4e813ba6 draft
561 pre-close-tip:e7ec4e813ba6 draft
562 transaction abort!
563 rollback completed
564 remote: adding changesets
562 remote: adding changesets
565 remote: adding manifests
563 remote: adding manifests
566 remote: adding file changes
564 remote: adding file changes
567 remote: added 1 changesets with 1 changes to 1 files
565 remote: added 1 changesets with 1 changes to 1 files
566 remote: transaction abort!
567 remote: rollback completed
568 abort: pretxnclose.failpush hook exited with status 1
568 abort: pretxnclose.failpush hook exited with status 1
569 [255]
569 [255]
570
570
@@ -575,10 +575,10 b' Doing the actual push: hook abort'
575 remote: adding manifests
575 remote: adding manifests
576 remote: adding file changes
576 remote: adding file changes
577 remote: added 1 changesets with 1 changes to 1 files
577 remote: added 1 changesets with 1 changes to 1 files
578 remote: transaction abort!
579 remote: rollback completed
578 abort: pretxnclose.failpush hook exited with status 1
580 abort: pretxnclose.failpush hook exited with status 1
579 remote: pre-close-tip:e7ec4e813ba6 draft
581 remote: pre-close-tip:e7ec4e813ba6 draft
580 remote: transaction abort!
581 remote: rollback completed
582 [255]
582 [255]
583
583
584 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
584 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
@@ -588,6 +588,8 b' Doing the actual push: hook abort'
588 remote: adding manifests
588 remote: adding manifests
589 remote: adding file changes
589 remote: adding file changes
590 remote: added 1 changesets with 1 changes to 1 files
590 remote: added 1 changesets with 1 changes to 1 files
591 remote: transaction abort!
592 remote: rollback completed
591 abort: pretxnclose.failpush hook exited with status 1
593 abort: pretxnclose.failpush hook exited with status 1
592 [255]
594 [255]
593
595
General Comments 0
You need to be logged in to leave comments. Login now