running `bzr diff` in a subdirectory does not show changes in the parent directory
Bug #178591 reported by
Dato Simó
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Ian Clatworthy |
Bug Description
With bzr.dev (r3144), I just noticed that running `bzr diff` in a
subdirectory does not show changes to files in the root of the branch.
This was confirmed on irc by Martin Albisetti as well.
affects /products/bzr
Changed in bzr: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in bzr: | |
assignee: | nobody → ian-clatworthy |
milestone: | none → 1.1 |
status: | Confirmed → Fix Committed |
Changed in bzr: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
This came in with rev 3119 ("diff on branches without working trees (Ian Clatworthy, #6700)").
The following is me wildly guessing, and should be taken with several 5-pound value bags of salt. Glancing at the code, this (in bzrlib/diff.py) does look suspicious:
+ if path_list is None or len(path_list) == 0:
+ # If no path is given, assume the current directory
+ default_location = u'.'
BzrDir. open_containing _tree_or_ branch( ) then passes back the relpath from there, which is stuffed into specific_files, which is then passed into show_diff_trees(). Presumably, then, s_d_t() things it's being given the same thing as "bzr diff .".