<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/services/projects/update_service.rb, branch scripts-differences</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Delete unauthorized Todos when project is private</title>
<updated>2019-06-05T13:51:52+00:00</updated>
<author>
<name>Felipe Artur</name>
<email>felipefac@gmail.com</email>
</author>
<published>2019-05-21T19:20:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=be339468192c656bf9de0bb77d7e487f338902bf'/>
<id>be339468192c656bf9de0bb77d7e487f338902bf</id>
<content type='text'>
Delete Todos for guest users when project visibility
level is updated to private.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Delete Todos for guest users when project visibility
level is updated to private.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove deprecated uses of attribute_changed?</title>
<updated>2019-04-30T07:24:25+00:00</updated>
<author>
<name>Heinrich Lee Yu</name>
<email>heinrich@gitlab.com</email>
</author>
<published>2019-04-23T09:30:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=fc22626f453f64409ad5b2967cdec541dbcc041d'/>
<id>fc22626f453f64409ad5b2967cdec541dbcc041d</id>
<content type='text'>
Prepares us for upgrade to Rails 5.2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prepares us for upgrade to Rails 5.2
</pre>
</div>
</content>
</entry>
<entry>
<title>Externalize strings detected by rubocop-i18n</title>
<updated>2019-04-15T12:25:48+00:00</updated>
<author>
<name>Martin Wortschack</name>
<email>mwortschack@gitlab.com</email>
</author>
<published>2019-04-15T12:25:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=5770b6544d3476e27d77a0ab11f162c941aa0cae'/>
<id>5770b6544d3476e27d77a0ab11f162c941aa0cae</id>
<content type='text'>
- Externalize strings in milestones_helper
- Externalize strings in app/services
- Update PO file
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Externalize strings in milestones_helper
- Externalize strings in app/services
- Update PO file
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Contribution Analytics related spec in spec/features/groups/group_page_with_external_authorization_service_spec to EE</title>
<updated>2019-04-09T15:38:58+00:00</updated>
<author>
<name>Imre Farkas</name>
<email>ifarkas@gitlab.com</email>
</author>
<published>2019-04-09T15:38:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=9bc5ed14fe97fe63cd5be30c013c6af978715621'/>
<id>9bc5ed14fe97fe63cd5be30c013c6af978715621</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Merge branch 'if-57131-external_auth_to_ce' into 'master'"</title>
<updated>2019-04-05T13:02:56+00:00</updated>
<author>
<name>Andreas Brandl</name>
<email>abrandl@gitlab.com</email>
</author>
<published>2019-04-05T13:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=46b1b9c1d61c269588bd3cd4203420608ddd7f0b'/>
<id>46b1b9c1d61c269588bd3cd4203420608ddd7f0b</id>
<content type='text'>
This reverts merge request !26823</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts merge request !26823</pre>
</div>
</content>
</entry>
<entry>
<title>Move Contribution Analytics related spec in spec/features/groups/group_page_with_external_authorization_service_spec to EE</title>
<updated>2019-04-05T11:45:47+00:00</updated>
<author>
<name>Imre Farkas</name>
<email>ifarkas@gitlab.com</email>
</author>
<published>2019-04-05T11:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d9d7237d2ebf101ca35ed8ba2740e7c7093437ea'/>
<id>d9d7237d2ebf101ca35ed8ba2740e7c7093437ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactored AfterRenameService to reduce coupling</title>
<updated>2019-01-22T12:55:18+00:00</updated>
<author>
<name>Gabriel Mazetto</name>
<email>brodock@gmail.com</email>
</author>
<published>2019-01-22T03:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d391dfb4acd1c75857b1578c449b0e508fc8a0ed'/>
<id>d391dfb4acd1c75857b1578c449b0e508fc8a0ed</id>
<content type='text'>
We still rely on the Dirty API for project rename (before/after) values,
but we don't access the dirty api from the service class anymore.

The previous value is now part of the initialization, which makes it
easier to test and the behavior is clearer.

The same was done with the `rename_repo` on the Storage classes, we now
provide before and after values as part of the method signature.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still rely on the Dirty API for project rename (before/after) values,
but we don't access the dirty api from the service class anymore.

The previous value is now part of the initialization, which makes it
easier to test and the behavior is clearer.

The same was done with the `rename_repo` on the Storage classes, we now
provide before and after values as part of the method signature.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed legacy storage renaming code</title>
<updated>2019-01-21T16:15:30+00:00</updated>
<author>
<name>Gabriel Mazetto</name>
<email>brodock@gmail.com</email>
</author>
<published>2019-01-17T01:53:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=7a7948e64b2d5bd9f00f9f58862b0a0599e78c83'/>
<id>7a7948e64b2d5bd9f00f9f58862b0a0599e78c83</id>
<content type='text'>
During a previous refactor on project model, code related to the
hashed storage was extracted into AfterRenameService, see
4b9c17f196bab6075563f62d01f9db65c1a0515c.

The "path_before" was changed from using `previous_changes['path']` to
`path_was`. They are not equivalent. `path_was` exists reliably only
*before* persisting to the database. After database persistence is
confirmed, the value is moved to `previous_changes[:attribute_name]`.

Because the repository/attachments rename or storage upgrade happens
after it was persisted to the database, we were in fact not informing
the right parameters (and therefore not doing what it was supposed to).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During a previous refactor on project model, code related to the
hashed storage was extracted into AfterRenameService, see
4b9c17f196bab6075563f62d01f9db65c1a0515c.

The "path_before" was changed from using `previous_changes['path']` to
`path_was`. They are not equivalent. `path_was` exists reliably only
*before* persisting to the database. After database persistence is
confirmed, the value is moved to `previous_changes[:attribute_name]`.

Because the repository/attachments rename or storage upgrade happens
after it was persisted to the database, we were in fact not informing
the right parameters (and therefore not doing what it was supposed to).
</pre>
</div>
</content>
</entry>
<entry>
<title>Delete confidential issue todos for guests</title>
<updated>2018-12-14T12:38:52+00:00</updated>
<author>
<name>Felipe Artur</name>
<email>felipefac@gmail.com</email>
</author>
<published>2018-12-11T18:15:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=1653f7b1c68b2ea7da8df84ed459b9578e3dff8f'/>
<id>1653f7b1c68b2ea7da8df84ed459b9578e3dff8f</id>
<content type='text'>
Fix leaking information of confidential issues on TODOs
when user is downgraded to guest access.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix leaking information of confidential issues on TODOs
when user is downgraded to guest access.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Project#rename_repo to a service class</title>
<updated>2018-10-22T13:12:46+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2018-10-17T11:33:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=4b9c17f196bab6075563f62d01f9db65c1a0515c'/>
<id>4b9c17f196bab6075563f62d01f9db65c1a0515c</id>
<content type='text'>
This moves the logic of Project#rename_repo and all methods _only_ used
by this method into a new service class: Projects::AfterRenameService.
By moving this code into a separate service class we can more easily
refactor it, and we also get rid of some RuboCop "disable" statements
automatically.

During the refactoring of this code, I removed most of the explicit
logging using Gitlab::AppLogger. The data that was logged would not be
useful when debugging renaming issues, as it does not add any value on
top of data provided by users.

I also removed a variety of comments that either mentioned something the
code does in literal form, or contained various grammatical errors.
Instead we now resort to more clearly named methods, removing the need
for code comments.

This method was chosen based on analysis in
https://gitlab.com/gitlab-org/release/framework/issues/28. In this issue
we determined this method has seen a total of 293 lines being changed in
it. We also noticed that RuboCop determined the ABC size
(https://www.softwarerenovation.com/ABCMetric.pdf) was too great.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves the logic of Project#rename_repo and all methods _only_ used
by this method into a new service class: Projects::AfterRenameService.
By moving this code into a separate service class we can more easily
refactor it, and we also get rid of some RuboCop "disable" statements
automatically.

During the refactoring of this code, I removed most of the explicit
logging using Gitlab::AppLogger. The data that was logged would not be
useful when debugging renaming issues, as it does not add any value on
top of data provided by users.

I also removed a variety of comments that either mentioned something the
code does in literal form, or contained various grammatical errors.
Instead we now resort to more clearly named methods, removing the need
for code comments.

This method was chosen based on analysis in
https://gitlab.com/gitlab-org/release/framework/issues/28. In this issue
we determined this method has seen a total of 293 lines being changed in
it. We also noticed that RuboCop determined the ABC size
(https://www.softwarerenovation.com/ABCMetric.pdf) was too great.
</pre>
</div>
</content>
</entry>
</feed>
