Show More
@@ -56,6 +56,7 b' from . import (' | |||||
56 | subrepo, |
|
56 | subrepo, | |
57 | tags as tagsmod, |
|
57 | tags as tagsmod, | |
58 | transaction, |
|
58 | transaction, | |
|
59 | txnutil, | |||
59 | util, |
|
60 | util, | |
60 | ) |
|
61 | ) | |
61 |
|
62 | |||
@@ -513,10 +514,8 b' class localrepository(object):' | |||||
513 | @storecache('00changelog.i') |
|
514 | @storecache('00changelog.i') | |
514 | def changelog(self): |
|
515 | def changelog(self): | |
515 | c = changelog.changelog(self.svfs) |
|
516 | c = changelog.changelog(self.svfs) | |
516 | if 'HG_PENDING' in encoding.environ: |
|
517 | if txnutil.mayhavepending(self.root): | |
517 | p = encoding.environ['HG_PENDING'] |
|
518 | c.readpending('00changelog.i.a') | |
518 | if p.startswith(self.root): |
|
|||
519 | c.readpending('00changelog.i.a') |
|
|||
520 | return c |
|
519 | return c | |
521 |
|
520 | |||
522 | def _constructmanifest(self): |
|
521 | def _constructmanifest(self): |
@@ -832,6 +832,50 b' pretxnclose hook failure should abort th' | |||||
832 | [1] |
|
832 | [1] | |
833 | $ cd .. |
|
833 | $ cd .. | |
834 |
|
834 | |||
|
835 | check whether HG_PENDING makes pending changes only in related | |||
|
836 | repositories visible to an external hook. | |||
|
837 | ||||
|
838 | (emulate a transaction running concurrently by copied | |||
|
839 | .hg/store/00changelog.i.a in subsequent test) | |||
|
840 | ||||
|
841 | $ cat > $TESTTMP/savepending.sh <<EOF | |||
|
842 | > cp .hg/store/00changelog.i.a .hg/store/00changelog.i.a.saved | |||
|
843 | > exit 1 # to avoid adding new revision for subsequent tests | |||
|
844 | > EOF | |||
|
845 | $ cd a | |||
|
846 | $ hg tip -q | |||
|
847 | 4:539e4b31b6dc | |||
|
848 | $ hg --config hooks.pretxnclose="sh $TESTTMP/savepending.sh" commit -m "invisible" | |||
|
849 | transaction abort! | |||
|
850 | rollback completed | |||
|
851 | abort: pretxnclose hook exited with status 1 | |||
|
852 | [255] | |||
|
853 | $ cp .hg/store/00changelog.i.a.saved .hg/store/00changelog.i.a | |||
|
854 | ||||
|
855 | (check (in)visibility of new changeset while transaction running in | |||
|
856 | repo) | |||
|
857 | ||||
|
858 | $ cat > $TESTTMP/checkpending.sh <<EOF | |||
|
859 | > echo '@a' | |||
|
860 | > hg -R $TESTTMP/a tip -q | |||
|
861 | > echo '@a/nested' | |||
|
862 | > hg -R $TESTTMP/a/nested tip -q | |||
|
863 | > exit 1 # to avoid adding new revision for subsequent tests | |||
|
864 | > EOF | |||
|
865 | $ hg init nested | |||
|
866 | $ cd nested | |||
|
867 | $ echo a > a | |||
|
868 | $ hg add a | |||
|
869 | $ hg --config hooks.pretxnclose="sh $TESTTMP/checkpending.sh" commit -m '#0' | |||
|
870 | @a | |||
|
871 | 4:539e4b31b6dc | |||
|
872 | @a/nested | |||
|
873 | 0:bf5e395ced2c | |||
|
874 | transaction abort! | |||
|
875 | rollback completed | |||
|
876 | abort: pretxnclose hook exited with status 1 | |||
|
877 | [255] | |||
|
878 | ||||
835 | Hook from untrusted hgrc are reported as failure |
|
879 | Hook from untrusted hgrc are reported as failure | |
836 | ================================================ |
|
880 | ================================================ | |
837 |
|
881 |
General Comments 0
You need to be logged in to leave comments.
Login now