##// END OF EJS Templates
merge: stable into default
Raphaël Gomès -
r49849:bde2e4ef merge default
parent child Browse files
Show More
@@ -2527,7 +2527,8 b' def bundle2getvars(op, part):'
2527 2527 @parthandler(b'stream2', (b'requirements', b'filecount', b'bytecount'))
2528 2528 def handlestreamv2bundle(op, part):
2529 2529
2530 requirements = urlreq.unquote(part.params[b'requirements']).split(b',')
2530 requirements = urlreq.unquote(part.params[b'requirements'])
2531 requirements = requirements.split(b',') if requirements else []
2531 2532 filecount = int(part.params[b'filecount'])
2532 2533 bytecount = int(part.params[b'bytecount'])
2533 2534
@@ -501,6 +501,8 b' static PyObject *dirstate_item_set_track'
501 501 static PyObject *dirstate_item_set_untracked(dirstateItemObject *self)
502 502 {
503 503 self->flags &= ~dirstate_flag_wc_tracked;
504 self->flags &= ~dirstate_flag_has_meaningful_data;
505 self->flags &= ~dirstate_flag_has_mtime;
504 506 self->mode = 0;
505 507 self->size = 0;
506 508 self->mtime_s = 0;
@@ -48,10 +48,13 b' def _formatrevs(repo, revs, maxrevs=4):'
48 48 return summary
49 49
50 50
51 def precheck(repo, revs, action=b'rewrite'):
51 def precheck(repo, revs, action=b'rewrite', check_divergence=True):
52 52 """check if revs can be rewritten
53 53 action is used to control the error message.
54 54
55 check_divergence allows skipping the divergence checks in cases like adding
56 a prune marker (A, ()) to obsstore (which can't be diverging).
57
55 58 Make sure this function is called after taking the lock.
56 59 """
57 60 if nullrev in revs:
@@ -84,6 +87,9 b" def precheck(repo, revs, action=b'rewrit"
84 87 hint=hint,
85 88 )
86 89
90 if not check_divergence:
91 return
92
87 93 if not obsolete.isenabled(repo, obsolete.allowdivergenceopt):
88 94 new_divergence = _find_new_divergence(repo, revs)
89 95 if new_divergence:
@@ -806,7 +806,7 b' class hgtagsfnodescache:'
806 806 # There is some no-merge changeset where p1 is null and p2 is set
807 807 # Processing them as merge is just slower, but still gives a good
808 808 # result.
809 p2node = cl.node(p1rev)
809 p2node = cl.node(p2rev)
810 810 p2fnode = self.getfnode(p2node, computemissing=False)
811 811 if p1fnode != p2fnode:
812 812 # we cannot rely on readfast because we don't know against what
@@ -817,3 +817,9 b' Clone non-publishing with obsolescence'
817 817 $ killdaemons.py
818 818
819 819 #endif
820
821 Cloning a repo with no requirements doesn't give some obscure error
822
823 $ mkdir -p empty-repo/.hg
824 $ hg clone -q --stream ssh://user@dummy/empty-repo empty-repo2
825 $ hg --cwd empty-repo2 verify -q
@@ -933,3 +933,58 b' Avoid writing logs on trying to delete a'
933 933 a8a82d372bb35b42ff736e74f07c23bcd99c371f a
934 934 a8a82d372bb35b42ff736e74f07c23bcd99c371f a
935 935 0000000000000000000000000000000000000000 a
936
937 $ cd ..
938
939 .hgtags fnode should be properly resolved at merge revision (issue6673)
940
941 $ hg init issue6673
942 $ cd issue6673
943
944 $ touch a
945 $ hg ci -qAm a
946 $ hg branch -q stable
947 $ hg ci -m branch
948
949 $ hg up -q default
950 $ hg merge -q stable
951 $ hg ci -m merge
952
953 add tag to stable branch:
954
955 $ hg up -q stable
956 $ echo a >> a
957 $ hg ci -m a
958 $ hg tag whatever
959 $ hg log -GT'{rev} {tags}\n'
960 @ 4 tip
961 |
962 o 3 whatever
963 |
964 | o 2
965 |/|
966 o | 1
967 |/
968 o 0
969
970
971 merge tagged stable into default:
972
973 $ hg up -q default
974 $ hg merge -q stable
975 $ hg ci -m merge
976 $ hg log -GT'{rev} {tags}\n'
977 @ 5 tip
978 |\
979 | o 4
980 | |
981 | o 3 whatever
982 | |
983 o | 2
984 |\|
985 | o 1
986 |/
987 o 0
988
989
990 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now