Commit Graph

84 Commits

Author SHA1 Message Date
Marco Hinz
9c0e901579 TFS: support incomplete lines
Add support for incomplete lines according to:

    http://www.gnu.org/software/diffutils/manual/diffutils.html#Incomplete-Lines

Closes #183.
2016-06-01 18:12:29 +02:00
James McCoy
37376d9970 Treat v:shell_error >= 2 as "not version controlled" for AccuRev
When a user isn't logged in, "accurev diff" will return an exit code of
52.  Since the only well defined values are 0 or 1, treat anything else
as unversioned.
2016-04-08 11:16:14 -04:00
James McCoy
6b4abcd754 Detect AccuRev controlled, but unmodified, files properly
"accurev diff" returns 0 for no diff, 1 for differences, and 2 for error
(like not being run from a workspace).  Use 2 to indicate the file isn't
being versioned by AccuRev so Sy properly sets the vcs type to AccuRev
for unmodified files.
2016-03-31 10:16:54 -04:00
James McCoy
ca302f7233 Replace all modifiers in a vcs_cmd string, not just the first.
Closes #176

Signed-off-by: James McCoy <jamessan@jamessan.com>
2016-03-02 13:03:38 -05:00
Marco Hinz
051dc1a853 Add support for Team Foundation Server
The actual patch is courtesy of @Grueslayer. Thanks!

Closes #177.
2016-02-25 01:21:12 +01:00
Marco Hinz
6333c7f140 Do not cache g:signify_vcs_cmds
Now you can change this option on the fly.

Closes #168.
2015-11-04 15:12:08 +01:00
Ben Jackon
10ec6c1a40 Fix shell redirection when detecting perforce
Previously, when using *nix csh-like (or probably ksh-like) shells, perforce
detection would fail with E484. This was due to hard-coded bash-like
redirection.

This change obeys the vim `shellredir` option when detecting perforce.
2015-07-29 01:38:38 +02:00
Marco Hinz
dc09aa72ad Handle errors more gracefully
References #164.
2015-07-06 22:36:43 +02:00
Marco Hinz
021b801eb4 Work around separator issues
Use split() instead of substitute(), since the latter simply parses strings
and doesn't understand the notion of path separators. Backslashes would be
interpreted as beginning escape sequences.

Using split() works around this problem.

Closes #163.
2015-06-04 09:51:48 +02:00
Marco Hinz
50a3161bd5 Update b:sy_info more often
This avoids outdated cache entries if paths changed between calls to Sy.

References #162.
2015-06-01 11:13:28 +02:00
Marco Hinz
0867de3ac3 Escape cwd 2015-05-28 19:24:40 +02:00
Marco Hinz
c0da740d7e Don't cache cwd 2015-05-28 18:40:30 +02:00
Marco Hinz
a05b780c33 Add :SignifyDebugUnknown 2015-05-26 10:59:29 +02:00
Marco Hinz
a1cfbc8b70 Perforce: use difftool modifier 2015-05-25 09:25:23 +02:00
Marco Hinz
3f1f9c17fd Add :SignifyDebugDiff
References #161
2015-05-24 10:40:18 +02:00
Marco Hinz
4ed7b37205 Merge branch 'cmd-options'
This merge removes g:signify_diffoptions and replaces it by the much more
general g:signify_vcs_commands. Users can customize the entire command to be
run now.
2015-05-24 09:42:03 +02:00
James McCoy
0001094dea Copy stdout fd to stderr only after stdout is redirected
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-05-24 00:56:44 -04:00
James McCoy
c2fc1dc78a Revert "Escape 2>&1 in the p4 detection"
This reverts commit 5cdf72acd1.

`shellescape()`, which is what `sy#util#escape()` is a front-end to, is
only supposed to escape a single element of an argv list. In this case,
it's being used to escape multiple -- `p4 info 2>&1 >`. None of that
should be escaped anyway, because they need to be interpreted by the
shell.
2015-05-24 00:41:21 -04:00
Marco Hinz
8955952295 /dev/null -> %n 2015-05-20 14:22:52 +02:00
Marco Hinz
23ddfa87a0 Use b:sy_info 2015-05-20 14:00:39 +02:00
Marco Hinz
ae38ddc7f6 Move variables to the bottom 2015-05-20 13:11:26 +02:00
Marco Hinz
1469ecb05f g:signify_diffcmds -> g:signify_vcs_cmds 2015-05-19 15:39:04 +02:00
Marco Hinz
7d022eb5fd Introduce g:signify_diffcmds 2015-05-19 15:26:22 +02:00
Marco Hinz
57f51d197d Remove useless fnamemodify() 2015-05-19 15:07:25 +02:00
Marco Hinz
74068229f0 Cleanup 2015-05-19 14:57:40 +02:00
Marco Hinz
e32f685640 Cache difftool and devnull 2015-05-19 14:48:33 +02:00
Marco Hinz
bed28c1db5 Add %n modifier 2015-05-19 14:09:48 +02:00
Marco Hinz
883f3a1cd3 system() -> s:run() 2015-05-19 14:06:52 +02:00
Marco Hinz
330dffd2dd Refactoring + %d and %f modifiers for commands
%d gets replaced by the difftool
%f gets replaced by the actual file
2015-05-19 14:01:29 +02:00
Stephan Steinbach
5cdf72acd1 Escape 2>&1 in the p4 detection
References #157.
2015-04-16 00:44:48 +02:00
James McCoy
06c51319c0 Detect valid Perforce configurations with “p4 info”
“p4 monitor info” isn't always available and can impose a heavy runtime
cost when it is if the server isn't responsive.

Closes mhinz/vim-signify#153

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-02-23 22:26:39 -05:00
Ed Page
9c94652917 Making the cross-platform /dev/null reusable 2014-12-30 15:10:43 -06:00
Ed Page
3cade031b6 Fix Perforce support on Windows 2014-12-30 14:45:15 -06:00
Marco Hinz
52cb36801d get_diff_hg: Disable color extension
This handles the case where a user forces colors from the color extension via
hgrc:

    [extensions]
    color =

    [defaults]
    diff = --colors=always

Sy disables these for its 'hg diff' call, otherwise the output would be
riddled with color escape sequences and couldn't be parsed properly which
would result in no signs shown.

References #146.
2014-11-23 07:34:20 +01:00
James McCoy
6d45797393 get_diff_hg: Run diff from the file's parent directory
Mercurial's detection for where a file's containing repo is doesn't work
well when the working directory is a different Mercurial repo (c.f.,
mhinz/vim-signify#146).  Run "hg diff" from the target file's parent
directory to work around this.

Signed-off-by: James McCoy <vega.james@gmail.com>
2014-11-23 00:03:26 -05:00
James McCoy
75c8b4d54a Preserve user's order in vcs_list
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-10-23 17:44:32 -04:00
Marco Hinz
64c3b60a98 Revert "Use 'git -C'"
This reverts commit 8fa7aea4b3.

Although -C was introduced in git 1.8.5, over a year ago, it still might be
too new for some of us.
2014-10-09 22:35:17 +02:00
Marco Hinz
8fa7aea4b3 Use 'git -C' 2014-10-09 18:58:23 +02:00
Marco Hinz
fe3bafce11 Introduce smarter sign management 2014-10-04 15:56:10 +02:00
Marco Hinz
4d3674d431 Perforce: check for server availability before requesting a diff
References #131.
2014-09-07 16:11:07 +02:00
James McCoy
e270560349 Replace all uses of "cd … && do_something" with sy#util#run_in_dir
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-01-30 23:04:39 -05:00
Marco Hinz
0e66e0963f Fix matching of the "first line deleted" sign
Closes #112.
2014-01-15 09:48:43 +01:00
James McCoy
159b171e4a Use _> for more than 99 deletes lines (again)
Closes #110.
2014-01-04 09:40:10 +01:00
Marco Hinz
5db82c4d2a Let counter overflow if more than 100 lines deleted
If there are more than 99 deleted lines, the actual count isn't being
important anymore. Thus we just let it overflow and save another
conditional.

100 deleted lines -> "00"

Closes #109.
2014-01-01 22:54:49 +01:00
James McCoy
7f57ee5af6 Use two digit numbers for SignifyDelete signs
Defining the SignifyDelete set of signs on the fly provides the ability
to specify the exact line deletion count for up to 99 lines, rather than
the current limit of 9 lines.

This also has the benefit of reducing the number of signs defined when
there aren't many hunks of deleted lines.  On the flip side, if there
are other sign-placing plugins in use, then it also increases the chance
of nearing the ~120 sign definition limit if there are many hunks of
varying line deletions.
2013-12-11 10:04:52 +01:00
Marco Hinz
824b186ce5 Perforce: make it use g:signify_diffoptions
References #89.
2013-11-22 19:50:51 +01:00
James McCoy
5211c19ee7 Move Sy's data from g:sy to b:sy 2013-11-22 13:48:49 +01:00
Marco Hinz
1c762af02e Fix typo 2013-11-20 19:39:53 +01:00
Marco Hinz
2fbdc52ad7 Fix handling of certain git implementations
Closes #87.
2013-11-20 16:31:53 +01:00
Marco Hinz
5817de27c8 Merge pull request 86 from @thallett
Closes #86.
2013-11-18 23:36:56 +01:00