<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/models/merge_request_diff.rb, branch gitlab-git-popen</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>Refactor Gitlab::Git::Commit to include a repository</title>
<updated>2017-08-08T02:34:34+00:00</updated>
<author>
<name>Alejandro Rodríguez</name>
<email>alejorro70@gmail.com</email>
</author>
<published>2017-07-25T20:48:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c21ae07e331ca14605410555d0582f14cb661bb6'/>
<id>c21ae07e331ca14605410555d0582f14cb661bb6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Migrate MR commits and diffs to new tables</title>
<updated>2017-08-03T12:20:26+00:00</updated>
<author>
<name>Sean McGivern</name>
<email>sean@gitlab.com</email>
</author>
<published>2017-07-03T14:48:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f2d50af917b878a98e06b994ac32c0718f3d0b78'/>
<id>f2d50af917b878a98e06b994ac32c0718f3d0b78</id>
<content type='text'>
Previously, we stored these as serialised fields - `st_{commits,diffs}` - on the
`merge_request_diffs` table. These now have their own tables -
`merge_request_diff_{commits,diffs}` - with a column for each attribute of the
serialised data.

Add a background migration to go through the existing MR diffs and migrate them
to the new format. Ignore any contents that cannot be displayed. Assuming that
we have 5 million rows to migrate, and each batch of 2,500 rows can be
completed in 5 minutes, this will take about 7 days to migrate everything.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we stored these as serialised fields - `st_{commits,diffs}` - on the
`merge_request_diffs` table. These now have their own tables -
`merge_request_diff_{commits,diffs}` - with a column for each attribute of the
serialised data.

Add a background migration to go through the existing MR diffs and migrate them
to the new format. Ignore any contents that cannot be displayed. Assuming that
we have 5 million rows to migrate, and each batch of 2,500 rows can be
completed in 5 minutes, this will take about 7 days to migrate everything.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix saving diffs that are not valid UTF-8</title>
<updated>2017-07-26T14:34:57+00:00</updated>
<author>
<name>Sean McGivern</name>
<email>sean@gitlab.com</email>
</author>
<published>2017-07-25T16:57:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=396b8f91ec47ffb5a02ebf6d713ef4cbf04f1f94'/>
<id>396b8f91ec47ffb5a02ebf6d713ef4cbf04f1f94</id>
<content type='text'>
Previously, we used Psych, which would:

1. Check if a string was encoded as binary, and not ASCII-compatible.
2. Add the !binary tag in that case.
3. Convert to base64.

We need to do the same thing, using a new column in place of the tag.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we used Psych, which would:

1. Check if a string was encoded as binary, and not ASCII-compatible.
2. Add the !binary tag in that case.
3. Convert to base64.

We need to do the same thing, using a new column in place of the tag.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add table for merge request commits</title>
<updated>2017-07-06T16:36:10+00:00</updated>
<author>
<name>Sean McGivern</name>
<email>sean@gitlab.com</email>
</author>
<published>2017-06-16T14:00:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=aff5c9f3e5ecdd9eee2b2b60ab6367da878582fc'/>
<id>aff5c9f3e5ecdd9eee2b2b60ab6367da878582fc</id>
<content type='text'>
This is an ID-less table with just three columns: an association to the merge
request diff the commit belongs to, the relative order of the commit within the
merge request diff, and the commit SHA itself.

Previously we stored much more information about the commits, so that we could
display them even when they were deleted from the repo. Since 8.0, we ensure
that those commits are kept around for as long as the target repo itself is, so
we don't need to duplicate that data in the database.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an ID-less table with just three columns: an association to the merge
request diff the commit belongs to, the relative order of the commit within the
merge request diff, and the commit SHA itself.

Previously we stored much more information about the commits, so that we could
display them even when they were deleted from the repo. Since 8.0, we ensure
that those commits are kept around for as long as the target repo itself is, so
we don't need to duplicate that data in the database.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename ActiverecordSerialize cop</title>
<updated>2017-07-06T10:01:36+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2017-07-03T14:01:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=e1a3bf30b6ea04f2c658729f65a0eb09847dd341'/>
<id>e1a3bf30b6ea04f2c658729f65a0eb09847dd341</id>
<content type='text'>
This cop has been renamed to ActiveRecordSerialize to match the way
"ActiveRecord" is usually written.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cop has been renamed to ActiveRecordSerialize to match the way
"ActiveRecord" is usually written.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add table for files in merge request diffs</title>
<updated>2017-06-16T17:30:01+00:00</updated>
<author>
<name>Sean McGivern</name>
<email>sean@gitlab.com</email>
</author>
<published>2017-06-09T11:48:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=9a73b634ab4220f68a8296ccb582a68293874489'/>
<id>9a73b634ab4220f68a8296ccb582a68293874489</id>
<content type='text'>
This adds an ID-less table containing one row per file, per merge request
diff. It has a column for each attribute on Gitlab::Git::Diff that is serialised
currently, with the advantage that we can easily query the attributes of this
new table.

It does not migrate existing data, so we have fallback code when the legacy
st_diffs column is present instead. For a merge request diff to be valid, it
should have at most one of:

* Rows in this new table, with the correct merge_request_diff_id.
* A non-NULL st_diffs column.

It may have neither, if the diff is empty.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds an ID-less table containing one row per file, per merge request
diff. It has a column for each attribute on Gitlab::Git::Diff that is serialised
currently, with the advantage that we can easily query the attributes of this
new table.

It does not migrate existing data, so we have fallback code when the legacy
st_diffs column is present instead. For a merge request diff to be valid, it
should have at most one of:

* Rows in this new table, with the correct merge_request_diff_id.
* A non-NULL st_diffs column.

It may have neither, if the diff is empty.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename `Gitlab::Git::EncodingHelper` to `Gitlab::EncodingHelper`</title>
<updated>2017-06-01T21:21:14+00:00</updated>
<author>
<name>Bob Van Landuyt</name>
<email>bob@gitlab.com</email>
</author>
<published>2017-06-01T21:21:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=e564fe971f3dacb1a2a38ad984b865ae23e54400'/>
<id>e564fe971f3dacb1a2a38ad984b865ae23e54400</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added Cop to blacklist the use of serialize</title>
<updated>2017-05-31T12:03:37+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2017-05-31T11:47:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=cd74c1434e42f7e6aa12fe2e2b8d9b1e56aea78f'/>
<id>cd74c1434e42f7e6aa12fe2e2b8d9b1e56aea78f</id>
<content type='text'>
This Cop blacklists the use of ActiveRecord's "serialize" method, except
for cases where we already use this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This Cop blacklists the use of ActiveRecord's "serialize" method, except
for cases where we already use this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dm-diff-cleanup' into 'master'</title>
<updated>2017-05-25T22:15:57+00:00</updated>
<author>
<name>Robert Speicher</name>
<email>robert@gitlab.com</email>
</author>
<published>2017-05-25T22:15:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=8e2fefc6c44fc3c6140e5cbc4b56c58c90dc07f3'/>
<id>8e2fefc6c44fc3c6140e5cbc4b56c58c90dc07f3</id>
<content type='text'>
Clean up diff rendering

See merge request !11390</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up diff rendering

See merge request !11390</pre>
</div>
</content>
</entry>
<entry>
<title>Add system note with link to diff comparison when MR discussion becomes outdated</title>
<updated>2017-05-23T21:27:30+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@selenight.nl</email>
</author>
<published>2017-05-21T20:38:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ab91f76e8b275d0fc1d78b38b95d4b2cd8e73bdb'/>
<id>ab91f76e8b275d0fc1d78b38b95d4b2cd8e73bdb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
