declarative scripted pipeline: clone from mercurial with --stream

14 views
Skip to first unread message

Christoph Fetzer

unread,
Apr 22, 2020, 2:50:24 AM4/22/20
to Jenkins Users
Hello!

Another weird issue I ran into:
For any reason it's not possible to clone from my repository without the extension largefile and the commandline switch --stream (or --uncrompessed, I tried both).
I therefore enabled this in the tools settings of mercurial:
When cloning from my jenkinsfile in this way:
            steps {
                checkout changelog
: true, scm: [$class: 'MercurialSCM', source: 'http://XXX/hg/XXX/'
                   
, credentialsId: 'XXX'
                   
, modules: 'src', clean: true ], poll: false
           
}
   

this unfortunately does not seem to be applied.
The output is looking like this:
Started by user xxx
Checking out hg http://XXX/hg/XXX/ default into D:\workdir\build\XXX\workspace@script to read Jenkins/Jenkinsfile-win32vc9-hg
Acquired master cache lock.
[CE47F913B3A5D3AC403DD8A225DB0EACDEBF7619-xxx-xxx] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" pull
pulling
from http://xxx/hg/xxx/
searching
for changes
no changes found
Master cache lock released.
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" pull --rev default D:\workdir\.jenkins\hgcache\CE47F913B3A5D3AC403DD8A225DB0EACDEBF7619-xxx-xxx
pulling
from D:\workdir\.jenkins\hgcache\CE47F913B3A5D3AC403DD8A225DB0EACDEBF7619-xxx-xxx
no changes found
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" update --clean --rev default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" --config extensions.purge= clean --all
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {node}
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {rev}
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {node}
[workspace@script] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {rev}
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in D:\workdir\build\Mercurial-Test\workspace
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
Acquired master cache lock.
[CE47F913B3A5D3AC403DD8A225DB0EACDEBF7619-xxx-xxx] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" pull
pulling
from http://xxx/hg/xxx/
searching
for changes
no changes found
Master cache lock released.
$
"C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" version
$
"C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" --config extensions.share= share --noupdate D:\workdir\.jenkins\hgcache\CE47F913B3A5D3AC403DD8A225DB0EACDEBF7619-xxx-xxx -B D:\workdir\build\Mercurial-Test\workspace
[workspace] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" update --rev default
16019 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {node}
[workspace] $ "C:\Program Files\TortoiseHg\hg.exe" --config defaults.clone=--uncompressed --config extensions.largefiles= --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {rev}
[workspace] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {node}
[workspace] $ "C:\Program Files\TortoiseHg\hg.exe" --config extensions.largefiles= --config defaults.clone=--uncompressed --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" log --rev . --template {rev}
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] checkout
17:56:33  $ hg --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" clone --rev default --noupdate http://xxx/hg/xxx/ D:\workdir\build\Mercurial-Test\workspace
18:00:48  adding changesets
18:00:48  adding manifests
18:00:48  adding file changes
18:00:48  transaction abort!
18:00:48  rollback completed
18:00:48  abort: An existing connection was forcibly closed by the remote host
18:00:49  ERROR: Failed to clone http://xxx/hg/xxx/

I read the log as MercurialSCM would apply the tools settings only during jenkins internal housekeeping (e.g. clone of the jenkinsfile) and not during the checkout step from the jenkinsfile. In the docs of the checkout step I did not find a way to apply these settings.
Any ideas for me? Is it a failure of MercurialScm?

Regards,
Christoph

Reply all
Reply to author
Forward
0 new messages