<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/models/commit_spec.rb, branch 25264-ref-commit</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Pass commit data to ProcessCommitWorker</title>
<updated>2016-12-01T12:36:06+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-11-24T14:07:44+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=6b4d33566f5f434cc86381a4a1347e42bbe348ee'/>
<id>6b4d33566f5f434cc86381a4a1347e42bbe348ee</id>
<content type='text'>
By passing commit data to this worker we remove the need for querying
the Git repository for every job. This in turn reduces the time spent
processing each job.

The migration included migrates jobs from the old format to the new
format. For this to work properly it requires downtime as otherwise
workers may start producing errors until they're using a newer version
of the worker code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By passing commit data to this worker we remove the need for querying
the Git repository for every job. This in turn reduces the time spent
processing each job.

The migration included migrates jobs from the old format to the new
format. For this to work properly it requires downtime as otherwise
workers may start producing errors until they're using a newer version
of the worker code.
</pre>
</div>
</content>
</entry>
<entry>
<title>There's no such method</title>
<updated>2016-11-03T16:00:03+00:00</updated>
<author>
<name>Lin Jen-Shin</name>
<email>godfat@godfat.org</email>
</author>
<published>2016-11-03T16:00:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f3c3d8e63ba078e55c0ce516e19ec11cea429e43'/>
<id>f3c3d8e63ba078e55c0ce516e19ec11cea429e43</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge status_for and status, feedback:</title>
<updated>2016-11-03T15:39:37+00:00</updated>
<author>
<name>Lin Jen-Shin</name>
<email>godfat@godfat.org</email>
</author>
<published>2016-11-03T15:39:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=1ae557c106e94c20742d0788dc7eb604603faa08'/>
<id>1ae557c106e94c20742d0788dc7eb604603faa08</id>
<content type='text'>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7034#note_17742297
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7034#note_17742297
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for Commit#status and Commit#status_for, feedback:</title>
<updated>2016-10-27T19:47:49+00:00</updated>
<author>
<name>Lin Jen-Shin</name>
<email>godfat@godfat.org</email>
</author>
<published>2016-10-27T19:47:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=3e6a527e686e27b3cd9e048a17f1b491023d07d1'/>
<id>3e6a527e686e27b3cd9e048a17f1b491023d07d1</id>
<content type='text'>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7034#note_17543036
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7034#note_17543036
</pre>
</div>
</content>
</entry>
<entry>
<title>refactors tests because of gitlab-test repository changes</title>
<updated>2016-10-11T15:33:06+00:00</updated>
<author>
<name>tiagonbotelho</name>
<email>tiagonbotelho@hotmail.com</email>
</author>
<published>2016-10-03T12:11:16+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c90483406ecc2717076391737ff57167b5a03393'/>
<id>c90483406ecc2717076391737ff57167b5a03393</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand commit message width in repo view</title>
<updated>2016-08-02T16:40:44+00:00</updated>
<author>
<name>Clement Ho</name>
<email>clementh@hp.com</email>
</author>
<published>2016-07-26T04:49:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=e4c517a635b6a45a9afc65b37682cc4b4951e922'/>
<id>e4c517a635b6a45a9afc65b37682cc4b4951e922</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add specs for caching commit author</title>
<updated>2016-07-27T23:42:38+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2016-07-27T23:42:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d27e36f35af0c2850c5370a3348d30ce4bcf1a68'/>
<id>d27e36f35af0c2850c5370a3348d30ce4bcf1a68</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure relative paths for video are rewritten as we do for images</title>
<updated>2016-07-26T08:22:17+00:00</updated>
<author>
<name>Rémy Coutable</name>
<email>remy@rymai.me</email>
</author>
<published>2016-07-25T15:08:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=939436480c8c6bd524d3c4c78674e81f90861d06'/>
<id>939436480c8c6bd524d3c4c78674e81f90861d06</id>
<content type='text'>
Signed-off-by: Rémy Coutable &lt;remy@rymai.me&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rémy Coutable &lt;remy@rymai.me&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize Banzai::Filter::RelativeLinkFilter</title>
<updated>2016-06-21T14:53:16+00:00</updated>
<author>
<name>Alejandro Rodríguez</name>
<email>alejorro70@gmail.com</email>
</author>
<published>2016-06-21T14:53:16+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ca696175dbbf664f25a87a300b99f2b97fa5db70'/>
<id>ca696175dbbf664f25a87a300b99f2b97fa5db70</id>
<content type='text'>
    A lot of git operations were being repeated, for example, to build a url
    you would ask if the path was a Tree, which would call a recursive routine
    in Gitlab::Git::Tree#where, then ask if the path was a Blob, which would
    call a recursive routine at Gitlab::Git::Blob#find, making reference to
    the same git objects several times. Now we call Rugged::Tree#path, which
    allows us to determine the type of the path in one pass.

    Some other minor improvement added, like saving commonly used references
    instead of calculating them each time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    A lot of git operations were being repeated, for example, to build a url
    you would ask if the path was a Tree, which would call a recursive routine
    in Gitlab::Git::Tree#where, then ask if the path was a Blob, which would
    call a recursive routine at Gitlab::Git::Blob#find, making reference to
    the same git objects several times. Now we call Rugged::Tree#path, which
    allows us to determine the type of the path in one pass.

    Some other minor improvement added, like saving commonly used references
    instead of calculating them each time.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor Participable</title>
<updated>2016-06-01T14:22:35+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-05-26T11:38:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=580d250166d97bd5c2b0526be737d02806e577c2'/>
<id>580d250166d97bd5c2b0526be737d02806e577c2</id>
<content type='text'>
There are several changes to this module:

1. The use of an explicit stack in Participable#participants
2. Proc behaviour has been changed
3. Batch permissions checking

== Explicit Stack

Participable#participants no longer uses recursion to process "self" and
all child objects, instead it uses an Array and processes objects in
breadth-first order. This allows us to for example create a single
Gitlab::ReferenceExtractor instance and pass this to any Procs. Re-using
a ReferenceExtractor removes the need for running potentially many SQL
queries every time a Proc is called on a new object.

== Proc Behaviour Changed

Previously a Proc in Participable was expected to return an Array of
User instances. This has been changed and instead it's now expected that
a Proc modifies the Gitlab::ReferenceExtractor passed to it. The return
value of the Proc is ignored.

== Permissions Checking

The method Participable#participants uses
Ability.users_that_can_read_project to check if the returned users have
access to the project of "self" _without_ running multiple SQL queries
for every user.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are several changes to this module:

1. The use of an explicit stack in Participable#participants
2. Proc behaviour has been changed
3. Batch permissions checking

== Explicit Stack

Participable#participants no longer uses recursion to process "self" and
all child objects, instead it uses an Array and processes objects in
breadth-first order. This allows us to for example create a single
Gitlab::ReferenceExtractor instance and pass this to any Procs. Re-using
a ReferenceExtractor removes the need for running potentially many SQL
queries every time a Proc is called on a new object.

== Proc Behaviour Changed

Previously a Proc in Participable was expected to return an Array of
User instances. This has been changed and instead it's now expected that
a Proc modifies the Gitlab::ReferenceExtractor passed to it. The return
value of the Proc is ignored.

== Permissions Checking

The method Participable#participants uses
Ability.users_that_can_read_project to check if the returned users have
access to the project of "self" _without_ running multiple SQL queries
for every user.
</pre>
</div>
</content>
</entry>
</feed>
