Merge lp:~jelmer/brz/reference-force into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/reference-force
Merge into: lp:brz
Diff against target: 54 lines (+18/-3)
2 files modified
breezy/builtins.py (+8/-3)
breezy/tests/blackbox/test_reference.py (+10/-0)
To merge this branch: bzr merge lp:~jelmer/brz/reference-force
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+355876@code.launchpad.net

Description of the change

Support forcing the setting of a reference.

Useful for testing.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Change seems fine. The flag named --force is one to be careful with, tends to be easy to reach for but ambiguous. Fine here though? Not a commonly used command. Alternative would be `--unversioned` and fail in the inverse, or `--even-if-unversioned` or something else longish.

review: Approve
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

How about --force-unversioned?

Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'breezy/builtins.py'
--- breezy/builtins.py 2018-09-27 07:25:00 +0000
+++ breezy/builtins.py 2018-11-01 00:44:25 +0000
@@ -2972,7 +2972,8 @@
2972 Option('ignored', short_name='i',2972 Option('ignored', short_name='i',
2973 help='Print ignored files.'),2973 help='Print ignored files.'),
2974 Option('kind', short_name='k',2974 Option('kind', short_name='k',
2975 help='List entries of a particular kind: file, directory, symlink.',2975 help=('List entries of a particular kind: file, '
2976 'directory, symlink, tree-reference.'),
2976 type=text_type),2977 type=text_type),
2977 'null',2978 'null',
2978 'show-ids',2979 'show-ids',
@@ -6682,8 +6683,12 @@
6682 hidden = True6683 hidden = True
66836684
6684 takes_args = ['path?', 'location?']6685 takes_args = ['path?', 'location?']
6686 takes_options = [
6687 Option('force-unversioned',
6688 help='Set reference even if path is not versioned.'),
6689 ]
66856690
6686 def run(self, path=None, location=None):6691 def run(self, path=None, location=None, force_unversioned=False):
6687 branchdir = '.'6692 branchdir = '.'
6688 if path is not None:6693 if path is not None:
6689 branchdir = path6694 branchdir = path
@@ -6697,7 +6702,7 @@
6697 info = viewitems(branch._get_all_reference_info())6702 info = viewitems(branch._get_all_reference_info())
6698 self._display_reference_info(tree, branch, info)6703 self._display_reference_info(tree, branch, info)
6699 else:6704 else:
6700 if not tree.is_versioned(path):6705 if not tree.is_versioned(path) and not force_unversioned:
6701 raise errors.NotVersionedError(path)6706 raise errors.NotVersionedError(path)
6702 if location is None:6707 if location is None:
6703 info = [(path, branch.get_reference_info(path))]6708 info = [(path, branch.get_reference_info(path))]
67046709
=== modified file 'breezy/tests/blackbox/test_reference.py'
--- breezy/tests/blackbox/test_reference.py 2018-07-07 15:06:42 +0000
+++ breezy/tests/blackbox/test_reference.py 2018-11-01 00:44:25 +0000
@@ -87,3 +87,13 @@
87 out, err = self.run_bzr('reference file http://example.org',87 out, err = self.run_bzr('reference file http://example.org',
88 working_dir='tree', retcode=3)88 working_dir='tree', retcode=3)
89 self.assertEqual('brz: ERROR: file is not versioned.\n', err)89 self.assertEqual('brz: ERROR: file is not versioned.\n', err)
90
91 def test_missing_file_forced(self):
92 tree = self.make_branch_and_tree('tree')
93 out, err = self.run_bzr(
94 'reference --force-unversioned file http://example.org',
95 working_dir='tree')
96 location, file_id = tree.branch.get_reference_info('file')
97 self.assertEqual('http://example.org', location)
98 self.assertEqual('', out)
99 self.assertEqual('', err)

Subscribers

People subscribed via source and target branches