►
From YouTube: 2020 08 25 GSoC Git Plugin Performance Project
Description
Jenkins Google Summer of Code project for Git Plugin Performance Improvement. Reviewed the results, approved the release of git plugin 4.4.0 with the git tool chooser implementation
A
Hi
everyone
we
will
discuss
what
we're
going
to
present
for
the
final
presentation
in
our
work
product,
which
is
going
to
be
evaluated
by
the
mentors.
A
So,
firstly,
I
would
like
to
discuss
the
results
we've
got
from,
so
justin
gave
a
brilliant
idea
of
so
I
had
the
results
in
my
local
instance
with
the
mac
os
operating
system
and
justin
gave
me
the
idea
to
do
the
same
thing
for
multiple
platforms,
so
that
we
have
a
larger
variety,
a
larger
size
of
data,
which
is
always
a
great
thing.
So
so
I
I
created
three
pipelines
these
three
pipe.
The
first
one
is
checking
out.
A
The
spark
repository
spark
is
around
500
mb,
then
the
second
project,
the
get
to
testing
two
project,
is
checking
out
tensorflow,
which
is
around
800
mb,
then
the
third
one
I
am
selecting
is
checking
out
is
gate
plugin,
which
is
around
20
mb.
So
what
I
wanted
to
see
was
when
the
threshold
is
okay,
so
I
also
have
to
talk
about
one
more
thing.
I
should
talk
about
before
talking
the
results,
so
I
was
the
size
rule.
We
have
within
the
get
2
chooser
right
now
that
is
5
mb.
A
So
within
the
5
mb
limit
we
would
provide
jg.
We
would
recommend
jk
after
5
mb.
We
would
recommend
get
so
off
lately.
I
I
saw
a
lot
of
results
where
in
the
benchmarks,
where
for
repository
sizes
like
20,
mb
or
40,
and
we
are
50
and
we
have
a
seeing
that
j
git
is
performing
better
than
gate
and
by
some
margin
that
that
margin
can
be,
let's
say,
40,
milliseconds
or
maybe
80
milliseconds.
A
So
there
is
a
considerable
not
in
terms
of
real
performance
but
in
terms
of
our
theoretical
experiment
that
the
gap
was
there.
So
so
I
that
the
jar
which
is
uploaded
in
this
instance,
it
contains,
has
an
increased
size
limit
to
50
mb
instead
of
5
mb.
A
So
let's
just
start
with
git
plugin
how
how
it
has
done
the
git
tool
chooser
so
so,
first
of
all
the
user
has.
The
assumption
here
is
that
the
user
has
chosen
jgit
and
now
the
projects
have
been
checked
out,
and
I
just
want
to
show
one
more
thing
before
showing
the
results,
because
I
want
to
confirm
that
my
process
of
testing
this
experiment
this
creating
this
and
performing
this
variant
is
right.
So
this
is
the
thinking
file.
I
used
to
do
this
in
this
gentle
jenkins
file
there.
A
I
am
not
performing
anything,
it's
an
empty
step,
but
it
checks
out
the
repository.
So
I
just
wanted
to
check
out
the
repository
and
do
nothing.
I
did
not
want
a
even
build
process
or
anything,
and
since
I
had
a
project
where
the
matrix
where
I
have
a
matrix,
which
runs
on
multiple
platform,
but
it
builds
on
maven,
I
just
removed
that
step,
and
I
use
this
is:
is
this
wrong
in.
B
Any
way
it's
it's,
it's
not
wrong,
but
it's
got
a
problem
that
I
would
expect
you
to
get
a
failure
on
windows.
It
will
say
I
can't
find
sh
if
you're
just
changing
yes.
So
if
you
change
it
to
echo
and
say
echo
hello
world,
then
you've
got
a
platform
independent
step,
but
other
than
that
this
looks
great
and
I
can
tell
you
centos
8
is
always
clown
hosted.
B
B
A
I
think
that's
what
I
tried:
first,
okay,
okay
I'll
do
that.
That
is,
that
explains
some
of
the
builds
we
failed
so
so
now
what
you're
seeing
here
is
the
third
build.
If
you
look
at
the
third
build
that
is
done
without
j
get
in
one.
Second,
I'm
just
gonna
just
give
me
a
second.
B
A
Great
yes,
I
I
have
added
the
additional
behavior
wipe
out
clean
workspace
and
force
re-clone
that
behavior
great
yes,
so,
okay,
so
the
second
build
is
without
the
get
tool
chooser
and
the
third
build
is
with
the
get
to
user.
A
Now,
with
centos
8,
we
do
not
see
any
change,
and
since
we
are
looking
at
now,
the
the
our
our
measuring
unit
of
the
metric
is
seconds.
It's
not
milliseconds.
So
in
milliseconds
we
would
automatically
see
differences
that
that
I've
seen
with
the
benchmarks,
but
now
since
we're
talking
about
real
cases,
and
we
want
to
show
real
results,
we
will
talk
about
seconds,
because
that
is
what
the
user
might
see
and-
and
in
that
case,
in
centos,
we
don't
see
any
difference
in
debian.
We
do
see
a
second
difference
with
free
bsd.
A
I
think
the
build
failed.
I'm
not
sure
why
this
happened.
It
took
10
seconds.
It
should
not
take
10
seconds
for
any.
I
think
machine
to
copy
get
plug-in
the
checkout
git
plug-in
clone.
So
so
I'm
sure
so
what
I
can
be
sure
of
is
that
there
is.
There
will
not
be
more
than
a
second
difference
when
we
are
talking
about
reposit
reported
repositories
less
than
50
nb.
A
So
because
one
might
ask
in
our
final
presentation
by
representing
it,
a
user
might
ask
what
kind
of
so
our
performance
improvements
are
the
bigger
performance,
improvements
or
the
or
the
more
attractive
results
we
have
are
from
the
area
where
a
person
when
it
chooses
the
jget
implementation,
then
we
are
able
to
provide
a
better
implementation
and
give
a
much
visible
result,
but
in
general,
when
a
person
mostly
uses
of
what
I
knowledge
I
have
a
user,
would
not
the
user
would
go
for
the
default
implementation,
and
I
assume
that
the
default
implementation
will
mostly
be
get
because
git
is
installed
in
machines
commonly.
A
So
in
that
case,
for
most
user,
the
change
in
performance
will
not
be
noticeable.
It's.
They
might
see
a
second
difference.
They
might
not.
I
might
need
to
perform
this,
this
experiment
repetitively,
so
that
I
see
so.
That
is
when
I
can
be
confident
that
I
okay,
I
know
that
within
50
mb
there
I
can.
I
can
see
that
there
is
a
reduction
of
one
second
or
maybe
half
a
second
or
something
like
that
with
windows.
Also,
we
see
that
it's
it's
the
same
in
in
the
benchmarks.
A
I've
if
I
created-
and
I
ran,
there's
almost
a
half
half
a
seconds
difference
when
we're
talking
about
it
ranges,
but
if
we
average
the
results,
it's
almost
it
varies
from
half
a
second
to,
let's
say
three,
fourth
of
a
second.
So
that
is
why
it's
it's
unlikely
that
we
will
see
any
noticeable
performance
change.
B
A
Good,
yes,
yes,
there!
There
is
because,
because
the
the
the
most
important,
the
vital
insight
we
derived
from
the
benchmarks,
was
that
for
a
small
repository
because
of
the
because
the
jvm
heats
up
and
jkt
is
a
java
implementation,
it
performs
better
so
so
that
advantage
makes
jgate
a
better
contender
for
smaller
size
repositories
than
kit.
But
in
general
cases
git
will
always
perform
better
and
in
large
size
repository
cases
it
would
exponentially
perform
better
than
jk.
A
So
so
because
when
I
was
creating
the
presentation,
I
was
thinking
what
would
I
answer
to
a
person
who
would
ask
for
most
of
the
users
what
would
happen
because
for
jay
gate
we
we
have
great
results
for
jget
and
I'm
going
to
show
them
to
you,
but
I
was
I
was.
I
was
worried
that
would
that
be
enough
for
us,
so
so
this
this
project
was
focused
on
us,
a
repository
size
less
than
50
mb.
Now,
let's
look
at
something
larger
drastically
larger.
A
So
this
is
a
9
800
mb
repository
almost
so
here.
The
fourth
build
the
last
build,
the
latest
build
is,
is
a
without
get
to
chooser
build
and
the
previous
one
is
with
git
tool
choose
it.
So
if
you
look
at
any
of
the
platform
for
till
freebst,
there's,
there's
50
deduction
in
the
execution
time
checking
out
process
yeah,
and
it's
more
than
that
for
this
I
know
it's
it's
almost
it's
actually
more
than
that
for
this
one
freebst
and
but
with
windows.
A
A
B
Have
gear
and
yes,
don't
forget,
we've
we've
now
been
a
month
or
more
since
we
talked
about
it,
but
in
your
final
presentation,
don't
forget
to
highlight
that
avoid.
Second
fetch,
for
some
users
may
be
a
substantial
improvement
already,
it's
just
just
dodging
the
second
fetch.
We
had
reports
from
users
that
it
was
very
that
was
slow,
even
if
they
get
no
other
benefit.
They
get
benefit
because
we're
doing
one
less
operation.
A
Yes,
I
I
I
have
included
that
in
my
presentation,
because
I
I
was
desperately
looking
for
points
to
to
show
what
we've
done.
So
I
I
did
include
that
so
so
I
I
think
this
this
result
somehow
confirms
that
there
is,
let's
say
around
about
50
degrees
in
so
50
improvement
when
we're
using
it
to
choose
it,
but
in
a
particular
case-
and
I
think
we'll
have
the
same
result
with
the
get
tool.
Chooser
testing
project,
which
is
checking
out
the
spark
repository.
A
A
So
this
is,
I
would
say,
surprising,
because
the
benchmarks
I
have
I
performed
throughout
the
project
for
three
months,
I
saw
improvement
in
order
of
150
160
when
we
shifted
from
git
to
jacket
for
large
size
repository
like
500,
600,
700
that
reduced
to
50
percent
here
when
I'm
actually
doing
this
end-to-end.
This
is
not
just
the
get
fetch
operation
isolated.
This
is
the
whole
get
plug-in
performing
the
complex
operation.
A
So
I
somehow
I
justified
that
this
the
reason
of
not
seeing
the
same
exact
result
with
what
we
saw
in
the
benchmarks
here,
with
with
the
fact
that
this
is
this
is
now
not
just
a
single
isolated
operation,
but
I'm
not
sure
why
this
would
happen
why
we
would
have
lesser
reduction
here
so
again.
This
is
why
I'm
I'm
actually
not
very
confident
with
the
results.
I
am
confident
that
there
is
a
reduction
and
it's
around
50,
because
my
local
instance
is
giving
that
for
five
or
six
jobs.
A
I've
seen
and
it's
almost
consistent
with
that
result,
but
here
in
this
instance
I'm
not
seeing
that.
So
maybe
I
need
to
run
more
jobs
and
then
add
those
results
to
the
presentation.
B
Actually,
I
would
just
I
would
just
admit
that
in
a
very
repeatable
environment,
you've
confirmed
these
results,
however,
in
the
wild
or
in
in
in
environments
that
have
widely
variable
equipment.
The
results
are
also
widely
variable.
I'm
not
overly
concerned
that
you
need
to
run
it
again.
I
think
large
variability
is
predictable
in
this
environment,
where
you're
te
this.
This
is
not
too
different
than
if
you
were
running
these
tests
on
ci.jenkins.io,
where
you
don't
know
what
class
of
agent
you
get
you
you
just
get
an
agent
that
has
the
label.
A
Okay,
okay,
then
I
can
yes,
I
can
include
the
results
and
I
can
add
that
kind
of
a
node
that
the
environment
we
are
testing
in
can
include
a
lot
of
variability,
so
so
okay,
so
I
think
these
are
the
results
we
have
from
the
get
to
chooser,
and
this
is
what
I
will
be
presenting
in
a
different
format.
I
was
thinking
graphs
comparative
bar
graphs,
where
we
see
I'll
I'll
ensure
that
the
paragraphs
on
the
slide
only
so
okay
I'll
go
to
the
agenda
once.
A
So
mark
I
just
wanted
to
ask
whatever
testing
we've
done.
Are
we
still
do?
We
have
any
case
where
any
compatibility
is
breaking
a
use
case
is
breaking
for
after
adding
it
to
choose
it.
Do
we
have
any
cases
like
that,
or
are
we
left
with
some
kind
of
testing.
B
So
there
is,
there
is
certainly
still
more
testing
to
do,
but
the
testing,
I
think
that
needs
to
be
done
is
not
not
as
much
about
compatibility
as
about
the
change
that
that
using
jgid
brings
on
the
master
or
on
static
agents
where,
on
the
master
and
on
static
agents,
now
we're
running
in
process
and
we're
relying
on
j
git
to
do
a
good
job
of
garbage
collection
right.
If,
if
jkit
has
a
leak
it
could
it
could
critically
damage
the
the
jank,
the
jenkins
controller,
the
central
master?
B
If
I'm
not
aware
of
any
leak,
I've
not
detected
one,
but
that's.
One
of
my
concerns
is
if
a
if
a
controller
that
previously
was
managing
a
thousand
repositories
or
a
thousand
jobs,
suddenly
develops
a
is
exercising
a
memory
leak
in
jet
that
didn't
exist
before,
because
they
were
using
cli
did.
That
would
be
a
serious
problem.
A
So
I
think
that
answers
my
question
of
increasing
the
size
limit
to
50
mb
then
right
now
we
would
be.
It
would
be
safer
to
release
it
with
a
5
mb
size,
because
that
would
make
sure
that
we
do
not.
If
we
have
something
like
that,
a
catastrophic
memory
leak
issue
or
something
like
that,
then
we
would.
It
would
be
safer
to
release
it
with
5mb,
because
that
would
not
cover
as
many
projects
as
a
50mb
size
limit
would,
I
would
say,
with
a
50mb
limit
we
would
maybe
cover
most
of
the
cases.
A
B
So
I
like
your
argument
that
we
wait
till
after
release.
You
could
cue
the
pull
request
you
can
still
be
submitted,
certainly,
but
I
think
let's
go
with
the
current
the
tested
values
just
to
to
see
the
the
bigger
danger
here
is
that
we're
going
to
this
will
be
deployed
in
within
two
or
three
weeks.
It
will
probably
be
deployed
in
50
000
installations,
and
that's
that's
only
25
of
the
the
installed
base,
but
50
000
installations
and
those
installations
will
have
have
conditions
that
you
and
I
haven't
even
dreamt
of
yet
yeah.
A
I
understand
okay,
okay,
so
we'll
go
with
that
then,
and
so
do
we
have
any
other
requirement
for
the
release.
B
I'm
not
aware
of
any
unless
fran
just
in
our
own
car
have
any.
I
think
we're
ready
to
ready
to
deliver
a
release.
A
A
Okay,
so
I
think
we
have
some
time
left,
so
I
think
we
can
talk
about
the
presentation,
so
we
have
discussed
the
experiment.
I've
done
for
for
measuring
the
time,
and
so
I
was
also
thinking
do.
Is
there
anyway?
Can
you
the
mentors?
Can?
Is
there
any
other
way?
We
can
show
the
results,
except
so
is
this:
the
is
this.
A
The
best
way
to
to
be
as
near
as
a
user
would
expect
the
results
to
to
show
the
results
which
are
as
near
as
a
user
would
expect
once
they
have
this
feature
in
their
systems
to
just
measure
end
to
end
the
time
which
is
being
executed
for
this
process.
B
For
me,
I
think
that's
closest
to
what
the
user
wants
as
some
at
some
point
in
the
future,
not
not
for
presentation,
but
at
some
point
in
the
future.
I
think
users
would
appreciate
an
online
guide
which
would
tell
them
in
addition
to
these
results,
if
you
use
a
reference
repository
things
get
this
much
better.
B
If
you
use
a
narrow,
ref
spec
on
a
repository,
things
could
get
this
much
better.
So
there
there
are
things
there
are
other
things
that
are
candidates,
but
for
for
purposes
of
this
project,
I
think
presenting
the
the
time
to
do.
The
operation
is
the
right
kind
of
result,
at
least
for
me
as
a
user
it
it
it
talks
to
me
it
tells
me
what
I
wanted
to
know
gee.
Will
I
get
a
benefit
from
this?
What
are
the
risks
of
doing
this.
D
B
A
B
Clone
a
little
faster,
yes
at
the
so
for
me,
one
of
the
surprises
was
I
had
a
pipeline
that
uses
a
pipeline
library
and
it
would
intelligently
choose
jgit
to
clone
the
pipeline
library
and
then
intelligently
choose
git
to
clone
the
repository.
So
I
got
a
little
bit
of
a
benefit
already,
because
the
pipeline
library
pulled
in
with
jdid
and
then
the
the
whole
big
project
came
in
with
command
line.
Yet.
A
Okay,
and
I
would
since
I
think
we
haven't
seen
how
the
switch
is
looking
like-
I
have
put
up
a
screenshot
for
it,
but
still
so
do
we
need
a
demo
for
this?
I
do.
I
haven't
planned
a
demo.
I
was
thinking
we're
just
showing
the
results
and
how
it's
going
to
impact
the
user,
but
because
there
is
not,
I
am
not
sure
how
we
could
demo
this
performance
improvement,
but
justin's
point
that
the
user
should
know
how
we
can
enable
or
disable,
and
then
what
configurations
would
provide
better
results.
D
No,
I
was
just
gonna
say
I
don't
know
like
that.
It
would
necessarily
be
like
demo.
That'd
be,
could
also
be
like
screenshot,
or
I
think
you
had
documented
some
stuff
from
the
readme
or
something
like
that.
But
anyways
in
documentation
would
be
useful.
I
think,
for
the
long
term,
for
this
purpose
maybe
screenshot
or
could
be
demo
or
something
like
that,
but
maybe
mark
had
a
idea
too.
B
B
Okay,
there,
it
is
yeah
this
one.
Unfortunately,
this
is
this
is
a
place
where
you're
really
begging
for
the
new
table
to
give
ui,
because
you
notice
that
the
help
buttons
are
completely
invisible
on
the
right
hand,
side
of
your
screen.
Yes,
yes,
because
of
because
of
the
table
layout,
that's
used
here.
That's
it's
a
terrible
thing
on
this
particular
yeah,
but
I
think
your
screenshot
that
you
embed
in
the
documentation
is
perfect,
show
it
and
and
bring
up
the
documentation.
We
should
brag
to
people
that,
yes,
guess
what
this
is
documented,
please
please,
no!
D
One
thing
that
I'm
wondering
about-
and
I
don't
know
that
maybe
this
is
a
question
that
would
come
up
too,
is
like.
I
wonder
if
it
would
make
sense
or
if
it'd
be
possible,
to
have
jay
gate
enabled,
if,
if
this
proves
to
bear
fruit
for
tons
of
people
like
if
that's
something
that
could
be
done
at
some
point
to
automatically
enable
jay
get
jenkins
because
it
comes,
you
are.
B
B
D
B
Jade
enabled,
but
they
yeah
this
is,
they
have
to
make
an
active
choice,
they
must
choose
and
if
they've
chosen
not
to
enable
jet,
we
won't
override
their
choice.
A
B
B
Truthfully
there
is,
there
is
something
to
be
said
for
things
like
we
probably
ought
to
warn
people.
Oh
you're
running
centos,
centos,
eight,
your
git
command
line
get
implementation
is
an
old
boat
anchor.
You
should
you
should
upgrade,
but
your
centos,
sorry,
centos
7,
is
the
really
the
road
anchor
centos.
7
is
running
a
git
from
like
six
or
eight
years
ago,
and
you
know
the
git
community
has
improved
performance
in
that
long
time.
They
you
absolutely
can
be
confident,
but
but
no
that's
out
of
scope
here
as
well
richard.
B
No,
yes,
I
think
that's
a
great
thing
for
the
future.
It's
called
an
administrative
monitor
where
we
warn
people
warn
the
administrator.
You
know
you're
running
an
ancient
version
of
git
on
this
computer.
A
And
from
a
user's
perspective,
if
I'm
not
sure
how
many
users
so
mostly,
I
assume
that
the
users
of
jenkins
product
would
be
developers,
so
I'm
not
sure
still.
What
percentage
of
them
are
are
aware
of
the
implementations,
the
two
options
we
have
within
the
git
plugin,
and
that
is
why
we
always
have
the
default
option
and
the
default
option.
I
just
want
to
make
sure
that
I
understand
it.
A
A
B
A
B
B
D
Honestly,
I
guess,
if
we're,
if
we're
looking
for
these
kinds
of
performance
improvements
at
a
broader
scale,
you're,
probably
dealing
with
someone
who's
an
administrator
of
jenkins,
and
so
they
probably
will
have
read
the
documentation.
In
most
cases
like
joe
user
who's
got
a
little
jenkins
on
his
laptop
with
five
projects.
Probably
doesn't
care
about
it
quite
as
much
as
like.
A
Okay,
okay,
so
I'll
just
quickly
discuss
what
I
want
to
present
the
structure
of
the
presentation,
so
I
was
thinking
to
introduce
the
project
what
we
wanted
to
do
and-
and
I
I
I
have
a
question
here-
I
think
so,
okay,
so
right
now,
our
performance
improvement
is
focused
and
limited
to
the
checkout
step.
A
B
A
Okay-
and
the
second
question
is
the
second
part
to
that
question-
is
that,
but
when
we're
scanning
repositories
scanning
branches,
sorry
for
a
particular
repository
at
that
point,
there's
a
fetch
step,
and
then
I
think
we
we
scan
the
branches.
Then
then
we
build
the
branches.
If
we
want
to,
it
depends
on
what
the
user
wants
to
so
for
that
process
for
the
scanning
process.
That
is
something
it's
not
exclusive
to
exclusive
responsibility
of
git
plugin.
What
is
it.
B
That's
that's
correct,
so
the
the
in
fact
it's
recommended
that
they,
wherever
possible,
not
use
the
git
plugin
to
do
scanning,
because
the
higher
level
providers,
github
bitbucket,
giddy
gitlab
those
higher
level
providers,
can
ask
the
questions
more
efficiently
than
the
low-level
provider
can.
So
so
the
higher
the
preference
for
a
user
should
be
if
you're,
using
one
of
the
things
that
has
a
higher
level
provider,
use
the
higher
level
provider
it's
more
efficient,
okay.
B
So
so,
yes,
it
can
be
used
for
scanning
branches,
but
it's
recommended
that
they
please
use
the
higher
level
provider
it'll,
give
them
better
results.
The
git
plugin
does
not
know
how
to
do
rest.
Api
calls
to
github
right.
It
doesn't
have
to
be
rest.
Api
calls
to
gitlab
and
those
rest.
Api
calls
can
be
dramatically
better
than
cloning,
an
entire
repository
to
get
it's
just
to
get
its
information.
You
get
it's
yes,
that
is
what
the
git
plugin
does
right
right.
A
Okay,
so
so
after
the
introducing
the
project
and
the
then
I
was
thinking
about
going
through
to
the
process
of
how
we've
reached
to
the
conclusions
right.
We
right
now
before
introducing
git
to
chooser
of
the
results,
because
I
think
we
don't
for
most
of
the
projects
and
students
a
demo
is
is
eats
a
lot,
a
chunk
of
their
of
their
presentation,
because
them
is
something
they
have
to
do
for
their
plugin.
But
for
my
case
I
don't
have
a
demo
there.
A
So
I
was
thinking
to
use
that
time
to
not
go
into
too
much
depth,
but
just
just
show
how
our
results,
the
results
we've
used
to
to
enable
git
tool
chooser.
How
we've
reached
to
that
point-
and
I
just
wanted
to
I-
was
thinking
of
talking
about
we-
we,
the
parameters,
we
chose
to
see
to
see
the
dependence
of
the
operations
and
the
performance
were
they
range
from
the
size
of
the
object.
The
repository
contains
the
number
of
branches
comments
and
tags.
A
What
we
got
out
of
them,
just
a
one
line
result
not
the
problems
we
have
had
with
them,
but
the
results.
The
conclusion
we
had
and
and
then
sort
of
talk
about,
we've
also
benched
back
those
results
with
multiple
platforms.
We
know
that
the
git
tool
chooser
will
not
perform
unexpectedly
in
one
of
the
platforms.
We
know
it's
it's
platform
independent
in
terms
of
the
benefit
it
is
giving.
A
We've
done
two
things.
There
we've
introduced
a
new
new
feature
which
is
get
to
chooser,
which
I
want
to
say.
I
want
to
market
it
as
a
feature
which
takes
the
responsibility
of
choosing
the
right
implementation
from
the
user
and
let
the
system
decide
that,
but
I'm
not
sure
if
it's
the
right
thing,
because
we
actually
order
it
as
it
is.
A
So
I
I
was
thinking
of
introducing
it
like
that
and
then
the
second
thing
we've
done
is
that
we've
removed
the
second
fetch
which
is
redundant
in
most
cases,
and
I
would
add
that
it
was
requested
by
users
and
it
would
benefit
those
users.
And
so
I
would
refine
this
diagram.
But
this
is
how
I
was
thinking
of
visually,
explaining
what
we've
done
and
then
with
the
results.
I
would
show
the
graphs
we
have
the
graph
say
I
haven't
showed
you
any
graph.
A
I've
shown
you
the
builds,
but
I
would
I
would
put
all
of
that
in
a
graph
and
then
I
was
thinking
of
showing.
So
I
what
what
would
be
better
to
show
multiple
repositories
varying
from
a
small
size
to
a
large
size
right.
That
would
be
the
best
thing
to
do
to
show
the
performance
improvements
from
a
small
repository
and
then,
let's
take
it
to
a
big
repository.
A
A
So
and
after
that,
I
I
would
include
slides
of
the
challenges
we
faced
and
what
future
scope
or
what
we
have
to
do,
which,
which
is
the
last
thing
I
want
to
discuss
for
this
meeting,
that
we
the
the
extension
support
for
the
extension
support.
We,
I
think,
mark
and
I
we
both
tested
the
github
brand
source,
plugin
extension
implementation.
A
It
is
providing
us
the
information
we
need
with
credentials
or
without
and
but
that
hasn't
been
merged
in
their
plugin.
So
it's
officially
not
available
to
the
user.
So
I
so
I
wanted
to
discuss
what
should
I
say
in
the
presentation
too,
because
that's
because
we
ideally
we
want
to
provide
that
support
for
github
git
lab
and
get
a
bit
bucket,
but
with
each
for
git
lab,
we've
had
some
issues
and
there
is
a
actually
a
roadblock
there
in
implementing
the
exam.
A
B
Okay,
so
for
me
I
would
say
we
we
talk
about
what
more
is
needed
and
what's
needed
is
we
need
an
extension
implemented
for
gitlab
for
bitbucket
for
giddy,
probably
for
two
leap,
so
there
there
are
several
branch
source
providers.
That
would
that
could
provide
this
information
from
the
rest,
api
and-
and
it
may
be
you
that
does
it-
it
may
be
them
that
does
it,
but
the
we've
now
got
an
api
they
should.
They
should
provide
the
data.
A
Okay,
but
why
would
I
think,
why
would
they?
Why
would
they
do
it?
It's
not
something,
I'm
not
sure,
because
it's
it's
it's
an
information
with
the
git
plugin
requires
is,
is
actually
it
means
nothing
to
them
in
terms
of
functionality
of
that
plugin.
B
Oh,
oh,
except
I
think
it
does
imagine
imagine
you
are
atlassian
and
you're
providing
the
bitbucket
plug-in
and
you
learn
that
the
users
who
are
using
github
are
getting
better
performance
because
the
github
branch
source
implemented
this
api.
You
are
now
at
a
competitive
disadvantage
because
somebody's
got
a
better
implementation
than
yours,
yeah.
So
now
now
for
a
an
open
source
thing
like
giddy
down
at
the
very
bottom,
it's
harder
to
say
that,
but
for
gitlab,
certainly
gitlab's
primary
competitor
is
not
really
jenkins.
B
A
B
A
Okay,
so
that
means
that
we
will,
we
will
discuss
the
extensions
and
the
support
we
have
right
now
and
what
we
need
in
the
future.
To
make
this
feature
fully,
I
would
say,
useful
to
every
provider
in
every
use
case
for
every
user.
A
Okay,
so
I
will
add
that-
and
I
think
that's
it,
that's
that's
what
I
think
I
would
present
for
the
meetup
and
then
I
also
have
to
present
for
the
devops
world.
So
I
was
thinking
to
be
more
concise
and
include
lesser
details
about
the
implementation
or,
I
would
say
just
talk
about
the
general
improvement
we've
done
and
that's
what
I
was
thinking
to
include
there.
B
So
yeah
you're
they're,
giving
you
10
minutes
is
that
right
at
devops
world.
Yes,
it's
like
yes,
this
this
slide
that
you've
got
on
visible
right.
Now
is
a
great
opening
slide
for
that
test.
I
think
it's
not
the
right
slide
to
open
the
the
the
gsoc
presentation,
but
it's
this
is
a
great
slide
for
a
devops
world
thing,
because
it
grabs
them
immediately.
It's
got
pretty
colors.
It's
got
logos.
B
A
So
I
think
that's
it
anything.
Do
we
need
anything
more
so
from
the
google
from
the
gsoc
team?
I
I
gotta
mean
that
we,
I
need
to
send
them
the
link
for
the
work
product
and
in
our
case
I
would
assume
the
work
product
is
the
pull
request
for
git
to
choose
it,
which
is
now
merged,
because
I
think
sending
the
git
plugins
url
would
not
be
the
right
thing,
because
that
is
not
exactly
the
work
product.
A
B
B
If,
if
the,
if
the
request
is
a
single
link
to
the
work
product,
then
that's
probably
needs
to
be
a
document
which
actually
has
links
to
all
the
real
products.
You
know
the
pull
requests,
the
conversations
because
saying
it's
just
get
plug-in.
It's
not
right.
Your
project
has
changed
much
more
than
just
the
git
plug-in.
A
B
Okay,
I
could
update
the
project
page
right,
because
I
haven't
done
that.
Yes
right
and
that's
a
great
excuse
to
update
the
project
page
and
that's
a
place
where
we
can
put
links
to
multiple
port
requests
and
to
plug
in
releases.
Yes,
get
client
plug-in,
342,
git,
plug-in
440
and
all
sorts
of
things
like
that.
A
Lied
to
that
I'll
update
the
project
page
first,
because
I
have
to
write
a
blog
as
well.
I
haven't
done
that
so
yes,
okay,
so
I
guess
this
is
it
for
the
presentation
and
so
mark.
We
will
release
the
plugin
today
tomorrow.
Is
there.
B
A
time
it
will
be
probably
so,
I've
got
a
day
full
of
work
for
my
employer,
so
it'll
probably
be
it's
after
12
hours.
So
thus
reshop,
I'm
authorizing
you
for
once
in
the
last
four
weeks
to
sleep,
sorry
shop
and
I
spent
all
day
saturday,
all
day
my
day,
saturday
working
on
this
testing
and
exploring
it
and
at
the
end
of
it
it's
4
p.m.
My
time
and
I
realized
oh,
it's
about
4
00
a.m.
Richard's
time
and
he's
obviously
not
slept
all
night
long.
So
yeah
this
is
yeah
it
will.
B
A
Was
just
okay,
so
okay,
so
we,
I
think
we
have
everything
covered
here
and
presentation
is
on
thursday,
so
okay
then
we'll
meet
there.
I
hope
I
give
a
great
presentation
and
yeah
thanks.
Everyone.
B
You
you
will
be
great
richard,
I
am,
I
am
thrilled
and
you're
you're
right
now
we
may
we
may
create
a
firestorm
if,
if
we
miss
something
in
our
testing
right
and
and
that's
that
happens,
sometimes
get
plug-in
releases
have
on
occasion
created
firestorms.
So
so
don't
be
dismayed.
If
we
miss
something
in
our
testing
and
people
come
back
and
say
how
dare
you
that's?
Okay,.
A
So
there
there
is
something
where
I
am
a
little
concerned
and
that
is
related
to
how
the
git
tool
chooser
will
provide
the
implementation
when
we
are
talking
about
expanded
paths
so
because
we
are
processing
parts
and
then
we're
giving
that
we
talk
about
implementation,
but
it's
actually
the
executables
path,
which
are
which
we
are
passing
when
it's
when
it's
git,
which
is
like
slash
user,
been
get
if
you're
talking
about
the
next
system,
so
I'm
actually
a
little.
A
There
was
a
check
which
I
added
before
before
the
final
pull
request,
which
I
added
to
include
the
implementation,
where
there's
an
expanded
path
instead
of
just
git,
but
that
was
making
one
of
the
builds
fail
in
your
system
and
then
I
remove
that
check.
And
surprisingly,
everything
is
working.
Fine,
even
the
expanded
path
have
checked
that
particular
use
case.
It's
working
fine
and
so
I'm
a
little.
A
I'm
actually
a
little
anxious
about
that,
because
I've
removed
the
check
and
my
unit
test
cases
are
fine
and
whatever
we've
tested
is
fine,
but
I
I'm
still
a
little
skeptical
of
that.
I
I
think
we
might
have
issues
if
we
would
possibly
have
issues
where
the
implementation
might
somehow
get
changed
which
might
result
in,
but
I'm
I'm
not.
I'm
not
sure.
I.
This
is
me
being
a
little
negative
and
and
skeptical
about
the
about
the
whole
feature
and
but.
B
C
C
Covering
like
more
test
cases
with
more
versions
of
gates
here,
maybe
like
after
the
watch.
B
That's
that's
certainly
one
one
possible
future
activity
is
comparing
get
1.8
ancient
history
to
get
2.28
modern,
modern
recent
release
to
see
if
there's
something
the
other
is.
There
are
more
operations
that
we
could
optimize
like
ls,
remote
right.
It's
we
re
shop
correctly,
focused
on
the
big,
the
big
win.
The
big
win
was
checkout
or
the
clone.
You
know
the
big
win
is
clone
it's
network
operation,
but
there
are
other
operations
where
we
could
actually
prove
conclusively
that
jkit
is
good
enough
and
silently
replace
it.
So
so
yes,
omkar
you're
right.
A
But
mark
I
think
we
we
did
benchmark,
get
ls
remote
and
I
think
I
have
a
I
have
a
study
lit.
I
I
did
quite
extensively
experiment
with
git
lsm,
oh
good.
I
don't
I
don't
remember
what
conclusions
did
we
derive
from
that?