Hi, here's a small patch that fixes bzr completion when trying to complete a filename not directly in the current directory. Let's say I'm in the root directory of a bazaar checkout. I modify the following files: "README.txt" "src/file.cpp" bzr commit READ<hit tab> bzr commit README.txt Completion works for this file, because it sits at root level. bzr commit src/fi<hit tab> No matches for: `modified files' Which is clearly not the expected result. The attached patch fixes this by passing "-R" (recurse) option to bzr when computing the list of versionned files. Same thing for unknown files (used when completing "bzr add " commands). Best regards and many thanks for the great shell, Sebastien Alaiwan
diff --git a/Completion/Unix/Command/_bzr b/Completion/Unix/Command/_bzr index 23feb6f..ab9fd72 100644 --- a/Completion/Unix/Command/_bzr +++ b/Completion/Unix/Command/_bzr @@ -25,7 +25,7 @@ curcontext="${curcontext%:*:*}:bzr-$cmd:" (( $+functions[_bzr_unknownFiles] )) || _bzr_unknownFiles() { local fileList - fileList=(${(ps:\0:)"$(bzr ls --null --unknown)"}) + fileList=(${(ps:\0:)"$(bzr ls --null --unknown -R)"}) compadd -af fileList return 0 } @@ -41,7 +41,7 @@ _bzr_unknownRoot() { (( $+functions[_bzr_versionedFiles] )) || _bzr_versionedFiles() { local fileList - fileList=(${(ps:\0:)"$(bzr ls --null --versioned)"}) + fileList=(${(ps:\0:)"$(bzr ls --null --versioned -R)"}) compadd -af fileList return 0 }
Attachment:
signature.asc
Description: OpenPGP digital signature