teamcity/git-plugin.git
2 years agoTEAMCITY-GIT-CR-7 TW-56415 Fix after review
Vladislav Rassokhin [Sun, 19 Aug 2018 13:53:06 +0000 (16:53 +0300)]
TEAMCITY-GIT-CR-7 TW-56415 Fix after review

2 years agoTEAMCITY-GIT-CR-7 TW-56415 Improve tests, don't retry after GitExecTimeout
Vladislav Rassokhin [Fri, 17 Aug 2018 11:55:07 +0000 (14:55 +0300)]
TEAMCITY-GIT-CR-7 TW-56415 Improve tests, don't retry after GitExecTimeout

2 years agoFix tests, add test for TW-56415
Vladislav Rassokhin [Wed, 15 Aug 2018 20:50:13 +0000 (23:50 +0300)]
Fix tests, add test for TW-56415

2 years agoTW-56415 Try to update local git mirror several times instead of cloning from scratch
Vladislav Rassokhin [Wed, 15 Aug 2018 17:26:38 +0000 (20:26 +0300)]
TW-56415 Try to update local git mirror several times instead of cloning from scratch

2 years agostop using -l switch for git branch command, seems git 2.19 will deprecate it
pavel.sher [Fri, 20 Jul 2018 07:21:11 +0000 (09:21 +0200)]
stop using -l switch for git branch command, seems git 2.19 will deprecate it

2 years agominor optimization
pavel.sher [Thu, 19 Jul 2018 21:44:54 +0000 (23:44 +0200)]
minor optimization

(cherry picked from commit 657ee1d)

2 years agoavoid calling expensive getCanonical when we create locks for repository directories...
pavel.sher [Thu, 12 Jul 2018 18:08:11 +0000 (20:08 +0200)]
avoid calling expensive getCanonical when we create locks for repository directories; seems in the worst case scenario we'll have the same lock for different directories with the same name, but probability of this case should be quite low

2 years agodo not try to perform an actual SSH connect
pavel.sher [Mon, 25 Jun 2018 17:43:48 +0000 (19:43 +0200)]
do not try to perform an actual SSH connect

(cherry picked from commit d599a7b)

2 years agoTW-49655: provide hint about uploaded SSH key in error messages + fix tearDown in...
pavel.sher [Mon, 25 Jun 2018 16:28:42 +0000 (18:28 +0200)]
TW-49655: provide hint about uploaded SSH key in error messages + fix tearDown in tests

2 years agoTW-49655: now for ssh connection we try uploaded keys first, and if none of them...
pavel.sher [Sun, 24 Jun 2018 16:32:34 +0000 (18:32 +0200)]
TW-49655: now for ssh connection we try uploaded keys first, and if none of them works, we'll use a default one

2 years agoTW-55352 fix option value
Dmitry Neverov [Mon, 18 Jun 2018 09:04:41 +0000 (11:04 +0200)]
TW-55352 fix option value

2 years agoChange buildServer method name for ssl feature
Mikhail Khorkov [Wed, 13 Jun 2018 07:16:32 +0000 (14:16 +0700)]
Change buildServer method name for ssl feature

2 years agoTW-41191 Add possibility to use custom ssl trust store on agent side
Mikhail Khorkov [Wed, 13 Jun 2018 04:30:12 +0000 (11:30 +0700)]
TW-41191 Add possibility to use custom ssl trust store on agent side

2 years agoTW-55479 show full paths for clone dirs
Dmitry Neverov [Tue, 12 Jun 2018 08:39:12 +0000 (10:39 +0200)]
TW-55479 show full paths for clone dirs

2 years agoTW-54223 use smaller timeout for 'git ls-remote'
Dmitry Neverov [Sat, 9 Jun 2018 07:00:41 +0000 (09:00 +0200)]
TW-54223 use smaller timeout for 'git ls-remote'

2 years agoAllow to run cleanup on the read-only node (it should clean only the files under...
dmitry.treskunov [Fri, 1 Jun 2018 11:10:47 +0000 (13:10 +0200)]
Allow to run cleanup on the read-only node (it should clean only the files under the node's local 'system/caches' directory)

2 years agoBuild configuration parameter for enabling ssh debug
Dmitry Neverov [Tue, 15 May 2018 08:18:20 +0000 (10:18 +0200)]
Build configuration parameter for enabling ssh debug

2 years agoTW-41191 Fix build
Mikhail Khorkov [Mon, 7 May 2018 10:18:39 +0000 (17:18 +0700)]
TW-41191 Fix build

2 years agoDiff assert: handle the case when build revision is same as upper limit revision
Dmitry Neverov [Thu, 12 Apr 2018 10:12:26 +0000 (12:12 +0200)]
Diff assert: handle the case when build revision is same as upper limit revision

2 years agoCheck there is no changes matched by rules with upper limit revision
Dmitry Neverov [Wed, 11 Apr 2018 08:30:41 +0000 (10:30 +0200)]
Check there is no changes matched by rules with upper limit revision

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 27 Mar 2018 16:40:51 +0000 (18:40 +0200)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-54343 handle ssh commands with additional arguments
Dmitry Neverov [Tue, 27 Mar 2018 16:39:57 +0000 (18:39 +0200)]
TW-54343 handle ssh commands with additional arguments

2 years agoTW-41191 Add possibility to use custom ssl trust store on server side
Mikhail Khorkov [Fri, 16 Mar 2018 11:25:32 +0000 (18:25 +0700)]
TW-41191 Add possibility to use custom ssl trust store on server side

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Thu, 15 Mar 2018 12:50:07 +0000 (13:50 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-54150 set user for absolute submodule urls
Dmitry Neverov [Thu, 15 Mar 2018 12:43:12 +0000 (13:43 +0100)]
TW-54150 set user for absolute submodule urls

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 28 Feb 2018 09:30:25 +0000 (10:30 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoMerge branch 'Indore-2017.1.x' into Indore-2017.2.x
Dmitry Neverov [Wed, 28 Feb 2018 09:26:45 +0000 (10:26 +0100)]
Merge branch 'Indore-2017.1.x' into Indore-2017.2.x

2 years agoFaster repositories close in suitable roots search Indore-2017.1.x
Dmitry Neverov [Wed, 28 Feb 2018 09:23:53 +0000 (10:23 +0100)]
Faster repositories close in suitable roots search

We created a single context for entire search and kept
all repositories open until the search is finished.
Since the search can be slow (tens of minutes), create
context per VCS root in order to reduce memory usage.

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 21 Feb 2018 13:58:17 +0000 (14:58 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-53836 mark our ssh command as OpenSSH compatible
Dmitry Neverov [Wed, 21 Feb 2018 13:57:21 +0000 (14:57 +0100)]
TW-53836 mark our ssh command as OpenSSH compatible

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Thu, 1 Feb 2018 10:16:39 +0000 (11:16 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-53097 use UTF-8 for git commands output
Dmitry Neverov [Thu, 1 Feb 2018 10:07:14 +0000 (11:07 +0100)]
TW-53097 use UTF-8 for git commands output

2 years agoAdd readme file with simple 'howto make zip file' instruction
Mikhail Khorkov [Thu, 1 Feb 2018 05:01:45 +0000 (06:01 +0100)]
Add readme file with simple 'howto make zip file' instruction

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Sat, 27 Jan 2018 21:55:08 +0000 (22:55 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-48675 remove packed refs lock
Dmitry Neverov [Sat, 27 Jan 2018 21:52:56 +0000 (22:52 +0100)]
TW-48675 remove packed refs lock

Checkout can fail due to previous build cancelation:
https://youtrack.jetbrains.com/issue/TW-48675#comment=27-2684722

2 years agoCreate daemon threads in jsch, so we can always exit
Dmitry Neverov [Fri, 26 Jan 2018 16:36:48 +0000 (17:36 +0100)]
Create daemon threads in jsch, so we can always exit

2 years agoTW-53489 respect .ssh/config on the agent machine
Dmitry Neverov [Fri, 26 Jan 2018 16:36:11 +0000 (17:36 +0100)]
TW-53489 respect .ssh/config on the agent machine

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Fri, 26 Jan 2018 15:39:54 +0000 (16:39 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-53489 respect .ssh/config on the agent machine
Dmitry Neverov [Fri, 26 Jan 2018 15:37:25 +0000 (16:37 +0100)]
TW-53489 respect .ssh/config on the agent machine

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Fri, 26 Jan 2018 13:44:02 +0000 (14:44 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoDrop changedFilesSupport implementation
Dmitry Neverov [Fri, 26 Jan 2018 13:43:18 +0000 (14:43 +0100)]
Drop changedFilesSupport implementation

2 years agoEnable per parent changes reporting by default
Dmitry Neverov [Fri, 26 Jan 2018 13:42:57 +0000 (14:42 +0100)]
Enable per parent changes reporting by default

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Thu, 25 Jan 2018 13:17:37 +0000 (14:17 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-50054 disable custom clone path by default
Dmitry Neverov [Thu, 25 Jan 2018 13:16:40 +0000 (14:16 +0100)]
TW-50054 disable custom clone path by default

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Thu, 25 Jan 2018 12:42:14 +0000 (13:42 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoCreate daemon threads in jsch, so we can always exit
Dmitry Neverov [Thu, 25 Jan 2018 11:38:11 +0000 (12:38 +0100)]
Create daemon threads in jsch, so we can always exit

2 years agoFix timeout in ssh client
Dmitry Neverov [Thu, 25 Jan 2018 11:31:36 +0000 (12:31 +0100)]
Fix timeout in ssh client

2 years agoTW-53436 fix one more hanging
Dmitry Neverov [Wed, 24 Jan 2018 16:00:22 +0000 (17:00 +0100)]
TW-53436 fix one more hanging

Continue read data even if channel is closed. Remote side can close it
when all data were send, but not yet read by us.

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 24 Jan 2018 14:31:53 +0000 (15:31 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoTW-53436 fix one more hanging
Dmitry Neverov [Wed, 24 Jan 2018 14:17:20 +0000 (15:17 +0100)]
TW-53436 fix one more hanging

Continue read data even if channel is closed. Remote side can close it
when all data were send, but not yet read by us.

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 23 Jan 2018 16:02:44 +0000 (17:02 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoAdd timeout to ssh client
Dmitry Neverov [Tue, 23 Jan 2018 16:01:36 +0000 (17:01 +0100)]
Add timeout to ssh client

2 years agoFix jsch client hanging
Dmitry Neverov [Tue, 23 Jan 2018 12:56:03 +0000 (13:56 +0100)]
Fix jsch client hanging

We need to ask for input stream before connecting because it initializes
the stream.

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 23 Jan 2018 12:51:38 +0000 (13:51 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoFix jsch client hanging
Dmitry Neverov [Tue, 23 Jan 2018 12:50:42 +0000 (13:50 +0100)]
Fix jsch client hanging

We need to ask for input stream before connecting because it initializes
the stream.

2 years agoUpdate copyright
pavel.sher [Mon, 22 Jan 2018 10:31:48 +0000 (11:31 +0100)]
Update copyright

2 years agoUpdate copyright
pavel.sher [Mon, 22 Jan 2018 10:30:18 +0000 (11:30 +0100)]
Update copyright

2 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Sat, 20 Jan 2018 21:45:24 +0000 (22:45 +0100)]
Merge branch 'Indore-2017.2.x'

2 years agoReport per-parent changed files via attributes
Dmitry Neverov [Sat, 20 Jan 2018 21:44:29 +0000 (22:44 +0100)]
Report per-parent changed files via attributes

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Fri, 19 Jan 2018 15:56:17 +0000 (16:56 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoImplement new changedFilesSupport api
Dmitry Neverov [Fri, 19 Jan 2018 15:55:28 +0000 (16:55 +0100)]
Implement new changedFilesSupport api

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Thu, 18 Jan 2018 13:16:26 +0000 (14:16 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoImplement ChangedFilesSupport
Dmitry Neverov [Thu, 18 Jan 2018 13:15:25 +0000 (14:15 +0100)]
Implement ChangedFilesSupport

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 10 Jan 2018 14:20:13 +0000 (15:20 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoTW-53230 fix url for VSO
Dmitry Tretyakov [Wed, 10 Jan 2018 13:59:29 +0000 (14:59 +0100)]
TW-53230 fix url for VSO

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 10 Jan 2018 12:12:31 +0000 (13:12 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoFix env var name
Dmitry Neverov [Wed, 10 Jan 2018 12:11:53 +0000 (13:11 +0100)]
Fix env var name

3 years agoFix env var name
Dmitry Neverov [Wed, 10 Jan 2018 12:10:50 +0000 (13:10 +0100)]
Fix env var name

3 years agoTW-53210 disable gssapi-with-mic ssh authentication
Dmitry Neverov [Wed, 10 Jan 2018 12:00:38 +0000 (13:00 +0100)]
TW-53210 disable gssapi-with-mic ssh authentication

It wasn't supported in the trilead-based ssh client (used before
2017.2.1), so disabling it should not break anything. Problem with
gssapi-with-mic is that by default java asks a user for credentials and
waits for input from stdin, as a result checkout fails by timeout.

Also now we specify a custom security callback handler instead of the
default one which uses stdin. Our handler doesn't provide any
credentials, but will work if the agent machine already has the required
kerberos ticket.

3 years agoBetter ssh logging
Dmitry Neverov [Wed, 10 Jan 2018 12:00:30 +0000 (13:00 +0100)]
Better ssh logging

When debug is enabled write log to stderr immediately. Without that we
don't get any logging in case of hanging (e.g. due to unexpected
interaction with a user). Also it is useful sometimes to get log even in
case of successful authentication.

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Wed, 10 Jan 2018 11:48:53 +0000 (12:48 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoTW-53210 disable gssapi-with-mic ssh authentication
Dmitry Neverov [Wed, 10 Jan 2018 11:05:56 +0000 (12:05 +0100)]
TW-53210 disable gssapi-with-mic ssh authentication

It wasn't supported in the trilead-based ssh client (used before
2017.2.1), so disabling it should not break anything. Problem with
gssapi-with-mic is that by default java asks a user for credentials and
waits for input from stdin, as a result checkout fails by timeout.

Also now we specify a custom security callback handler instead of the
default one which uses stdin. Our handler doesn't provide any
credentials, but will work if the agent machine already has the required
kerberos ticket.

3 years agoBetter ssh logging
Dmitry Neverov [Wed, 10 Jan 2018 09:28:47 +0000 (10:28 +0100)]
Better ssh logging

When debug is enabled write log to stderr immediately. Without that we
don't get any logging in case of hanging (e.g. due to unexpected
interaction with a user). Also it is useful sometimes to get log even in
case of successful authentication.

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 19 Dec 2017 15:18:01 +0000 (16:18 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoEnsure we delete keys in case of errors
Dmitry Neverov [Tue, 19 Dec 2017 15:17:27 +0000 (16:17 +0100)]
Ensure we delete keys in case of errors

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 19 Dec 2017 15:12:15 +0000 (16:12 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoTW-50281 support PuTTY keys when native ssh is used
Dmitry Neverov [Tue, 19 Dec 2017 15:08:11 +0000 (16:08 +0100)]
TW-50281 support PuTTY keys when native ssh is used

Ask JSch to `writePrivateKey` even if the key is not encrypted, this
saves the key in OpenSSH format.

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Sat, 16 Dec 2017 17:41:39 +0000 (18:41 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoAbility to disable use of GIT_SSH_COMMAND
Dmitry Neverov [Sat, 16 Dec 2017 17:37:33 +0000 (18:37 +0100)]
Ability to disable use of GIT_SSH_COMMAND

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Sat, 16 Dec 2017 13:34:58 +0000 (14:34 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoLog into VCS log
Dmitry Neverov [Sat, 16 Dec 2017 13:33:38 +0000 (14:33 +0100)]
Log into VCS log

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Sat, 16 Dec 2017 08:57:04 +0000 (09:57 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoLog ssh related messages only once per checkout
Dmitry Neverov [Sat, 16 Dec 2017 08:53:12 +0000 (09:53 +0100)]
Log ssh related messages only once per checkout

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Fri, 15 Dec 2017 16:11:22 +0000 (17:11 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoGit native ssh related logging
Dmitry Neverov [Fri, 15 Dec 2017 16:10:18 +0000 (17:10 +0100)]
Git native ssh related logging

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Fri, 15 Dec 2017 15:35:20 +0000 (16:35 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoTW-45001 Ability to disable clean-up of git mirror
Dmitry Neverov [Fri, 15 Dec 2017 15:34:31 +0000 (16:34 +0100)]
TW-45001 Ability to disable clean-up of git mirror

3 years agoTW-47704, TW-52052 jsch-based ssh implementation for agent-side checkout
Dmitry Neverov [Wed, 6 Dec 2017 09:39:36 +0000 (10:39 +0100)]
TW-47704, TW-52052 jsch-based ssh implementation for agent-side checkout

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Tue, 12 Dec 2017 10:48:55 +0000 (11:48 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoConfigure known hosts for ssh during agent-side checkout
Dmitry Neverov [Tue, 12 Dec 2017 10:47:55 +0000 (11:47 +0100)]
Configure known hosts for ssh during agent-side checkout

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Mon, 11 Dec 2017 09:52:00 +0000 (10:52 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoAdd logger to ssh client
Dmitry Neverov [Mon, 11 Dec 2017 09:51:26 +0000 (10:51 +0100)]
Add logger to ssh client

3 years agoMerge branch 'Indore-2017.2.x'
Dmitry Neverov [Mon, 11 Dec 2017 08:58:39 +0000 (09:58 +0100)]
Merge branch 'Indore-2017.2.x'

3 years agoFix idea project name
Dmitry Neverov [Mon, 11 Dec 2017 08:58:27 +0000 (09:58 +0100)]
Fix idea project name

3 years agoTW-47704, TW-52052 Use jsch-based ssh client by default
Dmitry Neverov [Mon, 11 Dec 2017 08:56:44 +0000 (09:56 +0100)]
TW-47704, TW-52052 Use jsch-based ssh client by default

3 years agoTW-47704, TW-52052 jsch-based ssh implementation
Dmitry Neverov [Wed, 6 Dec 2017 09:39:36 +0000 (10:39 +0100)]
TW-47704, TW-52052 jsch-based ssh implementation

JSch supports more algorithms than Trilead.

3 years agoSupport uploaded keys with native ssh
Dmitry Neverov [Tue, 5 Dec 2017 11:31:38 +0000 (12:31 +0100)]
Support uploaded keys with native ssh

3 years agoTW-52308 add TeamCity version to ssh client version on agent
Dmitry Neverov [Mon, 4 Dec 2017 13:59:12 +0000 (14:59 +0100)]
TW-52308 add TeamCity version to ssh client version on agent

3 years agoTW-52308 configure ssh client version for all auth methods
Dmitry Neverov [Mon, 4 Dec 2017 11:26:30 +0000 (12:26 +0100)]
TW-52308 configure ssh client version for all auth methods

3 years agoTW-52308 add TeamCity version to ssh client version on server
Dmitry Neverov [Mon, 4 Dec 2017 11:04:03 +0000 (12:04 +0100)]
TW-52308 add TeamCity version to ssh client version on server