-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
completion/svn: import existing, remove copy #1953
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, I always like these type of changes 😄
Hi Team, I'm not feeling this one. If the goal is to generally hit a 'global' Is there any documentation that svn installed via package managers generally ship with a version of the completion that is not placed into the global bash-completion hierarchy? And if so, are they stored in folder structure relative to the binary? Our completion scripts/plugins should not be looking in the standard places for completions. ie. places that system completion loaders would already be looking. I see Bash-its role in completions more as:
So the right course of action is based on the general availability (and placement) of the completion as part of the standard SVN installation via package managers. At the very least, I'd be happy to have bashit vendor this completion |
@davidpfarrell, I'm on-board with all of what you said here. How can we check if it's normally included with package managers? Just check a few distros? |
Yeah that would likely suffice - I can confirm |
Debian Stretch: |
Random RPM suggests they get stored in the right spot on redhat/fedora: |
I'm fine removing it entirely (vs vendoring it), but doing so becomes a breaking change ... just the same, I tend to think its the right move - My feeling is that the svn completion has worked its way into the package managers and that the various systems have adopted good support for bash completions in general |
After just going through I'm marking this PR as draft again until I push the new version. |
846cb78
to
2360d9b
Compare
Hi @gaelicWizard, is this PR ready? |
Ready! |
@davidpfarrell, wanna take another look? |
Anything else needed for this PR? |
gentle ping @davidpfarrell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi All !
So it does appear that this new version has parity to the git completion ...
BUT I just don't buy that either completion script is correct.
In addition to my notes:
- re: xcrun
The only real use I see for xcrun is as a (possible) means of detecting the false-positive for old mac os's where the svn binary was present but only to give the not-supported error - If xcrun generates an error message in such a case then I could see it being used inside the base theme setup as a better way to help detect+reject the false positive.
@davidpfarrell, the stubs in So, Without |
Thanks for taking time to 'splain - I have a little better understanding of the xcrun usage now ...
I'm inclined to find value in this idea - At some point it might be better to encourage the usage to fetch a completion over activating a random one ... |
Peeps should absolutely be just using the regular completion loaded by bash-completions; the only reason I did any attempt to load other potential completions is because you didn't want a breaking change by just deleting this file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
because you didn't want a breaking change by just deleting this file.
Ugh, indeed ....
OK so I've confirmed that the xcrun error output doesn't make it to the variable assignment (likely outs to stderr) ...
not sure if we should have || true
to avoid exit on error settings?
Just the same, marking approved - thanks !
exit-on-error ( |
Remove duplicate of subversion completion as it is already provided by system packages.
Load the completion script from the subversion package installed on the system, instead of bundling a copy. This addresses Bash-it#1818. NOTE: If `completions/system` is enabled, then it will load this same file anyway automatically.
This way, users don't need to enable "subversion" if they had already enabled "svn".
Description
Delete our copy of the completion function for subversion; it's part of the upstream package. Replace it with an adaptation of
completion/git
to find the subversion completion file in non-standard locations.Motivation and Context
This addresses #1818.
How Has This Been Tested?
Types of changes
Checklist:
clean_files.txt
and formatted it usinglint_clean_files.sh
.