-
Notifications
You must be signed in to change notification settings - Fork 103
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
Signify Broken for Custom Perforce-Based VCS #327
Comments
That probably happened when we switched to saveless sign updates. Now there are two ways to get the diff:
So, I think it should work if you remove
I'll split up |
I did see the config changes for real-time diffs, but somehow the repository type detection still fails. For example, with the following config:
I can validate both commands are working from a terminal. For However, the detection logic does not work for this configuration. The output from How does the latest version of vim-signify detect the VCS type? Is there a good way to debug the output of the perforce commands specifically (force VCS type)? Thanks for the help! |
For general debugging you can use But.. I think I see the issue. You overwrite |
Correct, there is no I figured it was something like this... It sounds like there was a change to the VCS detection logic? A quick and dirty patch confirms your hypothesis: diff --git a/autoload/sy/repo.vim b/autoload/sy/repo.vim
index c83d0c9..7eaaa93 100644
--- a/autoload/sy/repo.vim
+++ b/autoload/sy/repo.vim
@@ -619,7 +619,7 @@ if executable(s:difftool)
\ 'cvs': 'cvs',
\ 'rcs': 'rcsdiff',
\ 'accurev': 'accurev',
- \ 'perforce': 'p4',
+ \ 'perforce': 'sd',
\ 'tfs': 'tf'
\ }
else
@@ -632,7 +632,7 @@ else
\ 'cvs': 'cvs',
\ 'rcs': 'rcsdiff',
\ 'accurev': 'accurev',
- \ 'perforce': 'p4',
+ \ 'perforce': 'sd',
\ 'tfs': 'tf'
\ }
endif Would you be receptive to a Pull Request that publicly exposes I think such a change would be easy, and resolves my issues with the new async architecture... |
Oh, I had already written up something.. :) Please check if the latest master is working for you. |
I could also add a change that allows to add new VCS. Then you could do something like this: let g:signify_vcs_cmds = { 'sd': ... }
let g:signify_vcs_cmds_diffmode = { 'sd': ... }
function! sy#repo#check_diff_sd(exitval, diff) abort
return a:exitval ? [0, []] : [1, a:diff]
endfunction The naming of the function is important here, as it will be used to check if a returned diff is valid or not. |
No worries... Thanks for writing up a fix so quickly @mhinz! I just tried out your changes to
I do like the idea of adding completely custom VCSs... That seems like a cleaner configuration. With that said, the current mechanism works fine too. |
Yup, adding that should be easy. The boring part is coming up with a clear documentation. But I need to add a new section for all things custom VCS anyway, so let's do all this in one go now! |
Documentation, necessary but never fun! Let me know if I can help in any way. |
I think something might be broken in master. Currently vim-signify + Perforce makes vim non-responsive. I suspect something has changed, and buffer modifications trigger diff check/update? This behavior would be bad for Perforce servers. If you are not aware of recent changes that could cause this, I will investigate further at some point... |
This also broke some other stuff. For example, I used to use:
Where Which meant that I could run I think this is now broken because of lines like vim-signify/autoload/sy/repo.vim Line 654 in 56db16f
Since
I'm not sure if this is intentional, since there is still support for wrapping in a shell: vim-signify/autoload/sy/repo.vim Line 479 in 56db16f
EDIT: Confirmed. My current workaround is:
|
I'm using a different custom Perforce-like VCS than the original poster, but I would love to have this functionality. (Based on the documentation I had assumed this sort of thing would work already; and when searching for clues why it didn't, that's how I found this ticket :) |
A recent update to vim-signify breaks my configuration.
I am using vim-signify with a proprietary Perforce-Based VCS. It is mostly identical to Perforce, except with a different executable name. Very strange, I know...
Previously, I had everything working with the following values set:
Now the output from
:SignifyDebug
shows the errorNot a git repository
.Maybe this is an instance of RTFM, but nothing has jumped out at me yet. I suspect this is caused by some of the recent async/detection changes. Since my scenario/configuration is so unique, I will spend some time debugging the issue.
I read through Issue #319, and is sounds similar but unrelated. As you suggested there, I will revert to the legacy branch for now.
The text was updated successfully, but these errors were encountered: