Commit Graph

274 Commits

Author SHA1 Message Date
Marco Hinz
c3f26e4599
Add support for yadm
Closes https://github.com/mhinz/vim-signify/issues/297
2019-05-25 19:15:50 +02:00
Paolo Cretaro
f34fea0eff CVS: handle case where diff is valid but empty (#294)
CVS diff return code is 1 when the file differs from HEAD revision or
when there is an error (e.g. file is not under revision control),
while it is 0 (with an empty output) when the file is up-to-date.
The latter case was not handled, causing vim-signify to not recognize a
file under CVS when it did not have any change.
2019-04-05 11:11:49 +02:00
Marco Hinz
b7a1f91282
Fix stat count 2019-04-03 12:56:04 +02:00
Marco Hinz
7afad33753
Execute "sign place" with C lang
Fixes https://github.com/mhinz/vim-signify/issues/293
2019-03-28 14:59:34 +01:00
Eric Peters
bdbda32568 Fossil: add support for :SignifyDiff 2019-03-28 12:44:58 +01:00
Mike
192d5734b1 Win: support Powershell for Windows (#291) 2019-03-21 09:55:49 +01:00
Marco Hinz
c38d4002e0
Don't alter jumplist on :SignifyRefresh
Fixes https://github.com/mhinz/vim-signify/issues/290
2019-03-15 16:56:25 +01:00
itouen
b285820778 Use one of &shellxquote and &shellquote 2019-02-28 12:08:45 +01:00
itouen
7c62f29d62 add &shellquote to job cmd 2019-02-27 13:28:46 +01:00
Marco Hinz
8b900a5491
SignifyDiff: set filetype before diffmode
References https://github.com/mhinz/vim-signify/issues/285
2019-02-19 14:19:11 +01:00
Marco Hinz
b8a1b656c6
Fossil: add note about non-conventional diff fix
References https://github.com/mhinz/vim-signify/issues/282
2019-02-10 16:41:55 +01:00
Marco Hinz
768f523192
Fossil: fix detection of deleted lines (second try)
References https://github.com/mhinz/vim-signify/issues/282
2019-02-04 18:45:45 +01:00
Marco Hinz
99a57ebd49
Revert "Fossil: fix detection of deleted lines"
This reverts commit 6ab96c13937754e3078076c7fb6996a404f04459.

Unfortunately the situation is a tad more complicated than I thought. Revert for
now and have an eye on https://fossil-scm.org/forum/forumpost/834ce0f1e1
2019-02-04 18:45:41 +01:00
Marco Hinz
64b226cf1b Fossil: fix detection of deleted lines
Assuming line 28 was deleted, the block header for a unified diff looks like:

    +28,1 -27,0

This is true for usual suspects like `diff -U0` and `git diff -U0`, but
unfortunately not for Fossil. It would report this instead:

    +28,1 -0,0

This lead our code to believe that line 1 instead of line 28 was deleted. And
maybe it's right about that. There does not seem to be a standard for patch/diff
output, but according to my knowledge Fossil is the only VCS doing that.

Anyway, this commit's change should make the detection of a deleted first line
work for every VCS again.

Fixes https://github.com/mhinz/vim-signify/issues/282
2019-02-04 15:41:34 +01:00
Eric Peters
a1ddf6d524
Fossil: don't fall back to external 'diff' tool
Nowadays Fossil supports unified output without context on its own.

Fixes #281
2019-01-25 10:23:22 +01:00
Marco Hinz
14f7fda000
Verbose: mention cmd dir and run dir 2018-12-27 15:37:51 +01:00
Marco Hinz
49c8ce0f13
Typo 2018-12-27 15:19:49 +01:00
Marco Hinz
ea6db3c7df Improve directory changing
On Windows, Vim and Nvim can't work with mklink'ed paths. Issue an error message
and bail out before starting the actual job when the directory can't be changed.

Fixes https://github.com/mhinz/vim-signify/issues/279
2018-12-20 23:28:01 +01:00
Marco Hinz
412ae37d93
Add missing "catch all exceptions" clause 2018-12-16 17:42:42 +01:00
itouen
ea87e05e6f SignifyDiff: convert encoding based on fileencoding (#278) 2018-11-16 17:23:24 +01:00
Marco Hinz
c4eb6e1469
SignifyDiff! will not open a new tab
This makes is behave like :SignifyFold.

Closes #271
2018-11-02 21:15:34 +01:00
Marco Hinz
4e7faba8d3
Hg: change default invocation (#275)
Mercurial used to enable colors via an extension. Nowadays that is not true
anymore and `extensions.color=!` is rendered useless. Use the omnipresent
`--color=never` instead.

`defaults` is deprecated in favor of `aliases`. We use `aliases.diff=` to force
the use of the standard diff behaviour of `hg diff` which is the same as from
GNU diff. Otherwise an external diff tool could produce output that signify does
not understand.

Refrences #272
2018-10-31 16:59:03 +01:00
spar01
40d1a4ee19 Don't open folds in diff mode (#269)
Closes #268
2018-08-05 12:11:25 +02:00
spar01
fe8b5eb4c5 Perforce: fix command (#267)
Commit cc2b17d462 removed the '&&' used to check whether the p4 info command succeeded. This caused incorrect invocation of the p4 diff command.
Add back the check for p4 info command success.

Prior to this commit the command invoked was:
p4 info >/dev/null 2>&1 env P4DIFF= P4COLORS= p4 diff -du0

This commit makes the invocation as:
p4 info >/dev/null 2>&1 && env P4DIFF= P4COLORS= p4 diff -du0
2018-08-02 10:57:48 +02:00
Marco Hinz
cc2b17d462
Perforce: avoid colored output on Unixes
On Unix, many people use P4DIFF=colordiff to get colored diff output with `p4
diff`. But our diff parser doesn't expect these escape sequences used for
coloring.

We now simply use empty $P4DIFF and $P4COLORS to be on the safe side.

Reference:

  36c7d22a69 (commitcomment-29924066)
2018-08-01 21:02:08 +02:00
Aaron Miller
36c7d22a69 Windows: allow p4 diff command to actually work
Windows doesn't know about the `env` program.

Apart from that, using an external diff tool is not even needed anymore, since
`p4 diff` itself supports unified diffs nowadays.
2018-07-25 12:13:53 +02:00
Marco Hinz
a8b50dee5a
Windows: handle UNC paths more gracefully
References #257
2018-07-04 21:08:59 +02:00
Marco Hinz
0f12c2b18c
SignifyDiff: support Perforce
References #253
2018-05-03 17:37:03 +02:00
Marco Hinz
c42f8b21b4
Make "no 'diff' executable found" message verbose-only
Fixes #256
2018-04-30 14:02:58 +02:00
Marco Hinz
8351e5212f
Improve detection of nested repos managed by different VCS
Assume a hg repo below a git repo. `git diff` on a file managed by hg, will
return a successful exit value, but no output.

So, if we got a successful exit value from multiple VCS tools, and none of them
gave any output, keep them all as potential candidates. The next time Sy is run,
only these candidates will be tested again.

If one of them returns a proper diff, set b:sy.updated_by to that VCS and prune
all other candidates.

References #235
2018-04-17 17:35:08 +02:00
Marco Hinz
3d3edac39d
Refactoring 2018-04-15 22:00:17 +02:00
Marco Hinz
a804002c21
CVS: fix regexp 2018-04-15 17:49:03 +02:00
Marco Hinz
daf59eee47
SignifyDiff: support CVS 2018-04-15 14:27:23 +02:00
Marco Hinz
791fe598a6
SignifyDiff: support darcs 2018-04-15 13:23:51 +02:00
Marco Hinz
8bcbd9cb7b
SignifyDiff: support bzr 2018-04-15 13:11:10 +02:00
Marco Hinz
da02a4796b
SignifyDiff: support subversion 2018-04-15 13:01:38 +02:00
Marco Hinz
12f28b1336
Refactor cmd expansion 2018-04-13 15:01:47 +02:00
Marco Hinz
b199f9eec0
Remove unused line 2018-04-13 14:59:11 +02:00
Marco Hinz
38cb96c987
Move b:sy_info to b:sy.info 2018-04-13 14:49:57 +02:00
Marco Hinz
1ccfef5d33
Mention the skipped file 2018-04-13 13:16:30 +02:00
Marco Hinz
d9e881bd0f
SignifyDiff: cd into dir of file
All VCS assume slightly different things where things have to be if you're in
this directory using that command etc.

Changing to the directory of the current file avoids many pitfalls.
2018-04-13 13:01:02 +02:00
Marco Hinz
14413921fe
SignifyDiff: add verbose message 2018-04-13 12:59:58 +02:00
Marco Hinz
32a1761e42
Remove useless line
The line became useless as of bf099a3fe2
2018-04-13 12:39:46 +02:00
Marco Hinz
841b3f0597
SignifyDiff: support mercurial 2018-04-11 16:40:59 +02:00
Marco Hinz
28744768e6
SignifyDiff: expose g:signify_vcs_cmds_diffmode 2018-04-11 16:40:59 +02:00
Marco Hinz
46699b1df6
SignifyDiff: initial support for :SignifyDiff
Currently this only works for git and is not documented.
2018-04-11 16:40:59 +02:00
Marco Hinz
26ed57e0fe
RCS: exit value of 1 means there are changes, 2 means error
Fixes #251
2018-02-21 13:28:40 +01:00
Marco Hinz
d6e01780dc
Verbose: mention the file to be registered 2018-02-21 13:07:08 +01:00
Marco Hinz
593e67cf2d
Use b:var for :SignifyFold!
Fixes #249.
2017-12-24 00:16:06 +01:00
Nikita Kouevda
b699eb540c MacVim: Do not remap ^L
`feedkeys` remaps keys by default, so if a mapping exists for `<C-l>`,
then `call feedkeys("\<C-l>")` will not result in the desired behavior.
2017-08-19 16:43:34 -07:00