Show More
@@ -1703,6 +1703,7 b' def writenewbundle(' | |||||
1703 | vfs=None, |
|
1703 | vfs=None, | |
1704 | compression=None, |
|
1704 | compression=None, | |
1705 | compopts=None, |
|
1705 | compopts=None, | |
|
1706 | allow_internal=False, | |||
1706 | ): |
|
1707 | ): | |
1707 | if bundletype.startswith(b'HG10'): |
|
1708 | if bundletype.startswith(b'HG10'): | |
1708 | cg = changegroup.makechangegroup(repo, outgoing, b'01', source) |
|
1709 | cg = changegroup.makechangegroup(repo, outgoing, b'01', source) | |
@@ -1718,6 +1719,14 b' def writenewbundle(' | |||||
1718 | elif not bundletype.startswith(b'HG20'): |
|
1719 | elif not bundletype.startswith(b'HG20'): | |
1719 | raise error.ProgrammingError(b'unknown bundle type: %s' % bundletype) |
|
1720 | raise error.ProgrammingError(b'unknown bundle type: %s' % bundletype) | |
1720 |
|
1721 | |||
|
1722 | # enforce that no internal phase are to be bundled | |||
|
1723 | bundled_internal = repo.revs(b"%ln and _internal()", outgoing.ancestorsof) | |||
|
1724 | if bundled_internal and not allow_internal: | |||
|
1725 | count = len(repo.revs(b'%ln and _internal()', outgoing.missing)) | |||
|
1726 | msg = "backup bundle would contains %d internal changesets" | |||
|
1727 | msg %= count | |||
|
1728 | raise error.ProgrammingError(msg) | |||
|
1729 | ||||
1721 | caps = {} |
|
1730 | caps = {} | |
1722 | if opts.get(b'obsolescence', False): |
|
1731 | if opts.get(b'obsolescence', False): | |
1723 | caps[b'obsmarkers'] = (b'V1',) |
|
1732 | caps[b'obsmarkers'] = (b'V1',) |
@@ -36,7 +36,14 b' from .utils import (' | |||||
36 |
|
36 | |||
37 |
|
37 | |||
38 | def backupbundle( |
|
38 | def backupbundle( | |
39 | repo, bases, heads, node, suffix, compress=True, obsolescence=True |
|
39 | repo, | |
|
40 | bases, | |||
|
41 | heads, | |||
|
42 | node, | |||
|
43 | suffix, | |||
|
44 | compress=True, | |||
|
45 | obsolescence=True, | |||
|
46 | tmp_backup=False, | |||
40 | ): |
|
47 | ): | |
41 | """create a bundle with the specified revisions as a backup""" |
|
48 | """create a bundle with the specified revisions as a backup""" | |
42 |
|
49 | |||
@@ -83,6 +90,7 b' def backupbundle(' | |||||
83 | contentopts, |
|
90 | contentopts, | |
84 | vfs, |
|
91 | vfs, | |
85 | compression=comp, |
|
92 | compression=comp, | |
|
93 | allow_internal=tmp_backup, | |||
86 | ) |
|
94 | ) | |
87 |
|
95 | |||
88 |
|
96 | |||
@@ -199,6 +207,7 b' def strip(ui, repo, nodelist, backup=Tru' | |||||
199 | b'temp', |
|
207 | b'temp', | |
200 | compress=False, |
|
208 | compress=False, | |
201 | obsolescence=False, |
|
209 | obsolescence=False, | |
|
210 | tmp_backup=True, | |||
202 | ) |
|
211 | ) | |
203 |
|
212 | |||
204 | with ui.uninterruptible(): |
|
213 | with ui.uninterruptible(): |
General Comments 0
You need to be logged in to leave comments.
Login now