I am observing that the Jenkins Mercurial plugin always performs a full clone instead of a pull when I start a build.
There were reports that this happens when the debug option is on for the mercurial plugin, but this is supposed to be fixed and this option isn't even on.
I posted a log below and attached screenshots of the relevant options.
Started by user Matthias Kauer
Building in workspace /var/lib/jenkins/jobs/pyunittest/workspace
[workspace] $ hg showconfig paths.default
ERROR: Workspace reports paths.default as https://email@example.com/matthias_tumcreate/pyunittest
which looks different than https://matthias_tumcreate:firstname.lastname@example.org/matthias_tumcreate/pyunittest
so falling back to fresh clone rather than incremental update
$ hg clone --rev default --noupdate https://matthias_tumcreate:email@example.com/matthias_tumcreate/pyunittest /var/lib/jenkins/jobs/pyunittest/workspace
adding file changes
added 1 changesets with 4 changes to 4 files
[workspace] $ hg update --rev default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved