<feed xmlns='http://www.w3.org/2005/Atom'>
<title>svn2git, branch master</title>
<subtitle>KDE's svn2git Fast Subversion to Git conversion utility</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/'/>
<entry>
<title>Stop unintended re-encoding of author names from UTF-8 to ASCII</title>
<updated>2013-05-19T06:20:36+00:00</updated>
<author>
<name>Sebastian Pipping</name>
<email>sebastian@pipping.org</email>
</author>
<published>2013-05-08T22:45:27+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=539de0386876ed470f2ae6be90a98421493b3c90'/>
<id>539de0386876ed470f2ae6be90a98421493b3c90</id>
<content type='text'>
To see the bug in action, use an author map with umlauts, e.g.

nickname = Hällo Wörld from UTF-8 &lt;mail@example.org&gt;

and check "git log" after the conversion.

What is happening?
QByteArray "author" is first decoded as UTF-8 into a QString.
That QString is passed to QByteArray::append(const QString &amp;)
which internally encodes the QString to ASCII byte data using
QString::toAscii().  "git fast-import" expects UTF-8 input
from us, so the original QByteArray with UTF-8 content is just
what we need.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To see the bug in action, use an author map with umlauts, e.g.

nickname = Hällo Wörld from UTF-8 &lt;mail@example.org&gt;

and check "git log" after the conversion.

What is happening?
QByteArray "author" is first decoded as UTF-8 into a QString.
That QString is passed to QByteArray::append(const QString &amp;)
which internally encodes the QString to ASCII byte data using
QString::toAscii().  "git fast-import" expects UTF-8 input
from us, so the original QByteArray with UTF-8 content is just
what we need.
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop unintended re-encoding of author names from UTF-8 to ASCII</title>
<updated>2013-05-17T16:49:48+00:00</updated>
<author>
<name>Sebastian Pipping</name>
<email>sebastian@pipping.org</email>
</author>
<published>2013-05-08T22:45:27+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=4a1e11c6ceb17b764c613778d8ce408f0aa28a48'/>
<id>4a1e11c6ceb17b764c613778d8ce408f0aa28a48</id>
<content type='text'>
To see the bug in action, use an author map with umlauts, e.g.

  nickname = Hällo Wörld from UTF-8 &lt;mail@example.org&gt;

and check "git log" after the conversion.

What is happening?
QByteArray "author" is first decoded as UTF-8 into a QString.
That QString is passed to QByteArray::append(const QString &amp;)
which internally encodes the QString to ASCII byte data using
QString::toAscii().  "git fast-import" expects UTF-8 input
from us, so the original QByteArray with UTF-8 content is just
what we need.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To see the bug in action, use an author map with umlauts, e.g.

  nickname = Hällo Wörld from UTF-8 &lt;mail@example.org&gt;

and check "git log" after the conversion.

What is happening?
QByteArray "author" is first decoded as UTF-8 into a QString.
That QString is passed to QByteArray::append(const QString &amp;)
which internally encodes the QString to ASCII byte data using
QString::toAscii().  "git fast-import" expects UTF-8 input
from us, so the original QByteArray with UTF-8 content is just
what we need.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compilation, the last rebase/merge went wrong.</title>
<updated>2012-11-28T20:59:58+00:00</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@spoerlein.net</email>
</author>
<published>2012-11-28T20:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=b5c3d3aa55621c44db439e4a73884e0d0bf9612c'/>
<id>b5c3d3aa55621c44db439e4a73884e0d0bf9612c</id>
<content type='text'>
Noticed by:	Andy Pilate
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Noticed by:	Andy Pilate
</pre>
</div>
</content>
</entry>
<entry>
<title>Use fastimport.write for the actual commit objects too, so we get</title>
<updated>2012-11-27T14:30:36+00:00</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@spoerlein.net</email>
</author>
<published>2012-11-20T16:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=4d4456f422bae0dfdd514ed42801889bd66b6fa0'/>
<id>4d4456f422bae0dfdd514ed42801889bd66b6fa0</id>
<content type='text'>
logging when --debug-rules is turned on.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
logging when --debug-rules is turned on.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused includes.</title>
<updated>2012-11-27T14:29:53+00:00</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@spoerlein.net</email>
</author>
<published>2012-11-18T14:54:19+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=bd5e2c4c66543b59950380f6c6549debe8d4d0b3'/>
<id>bd5e2c4c66543b59950380f6c6549debe8d4d0b3</id>
<content type='text'>
Forgotten by yours truly in commit 1234336.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Forgotten by yours truly in commit 1234336.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make conversion runs deterministic by sorting what's returned via hash from the SVN API.</title>
<updated>2012-11-26T13:59:48+00:00</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@spoerlein.net</email>
</author>
<published>2012-11-23T09:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=123433669f472eb7eee31f62ea1601f545a31587'/>
<id>123433669f472eb7eee31f62ea1601f545a31587</id>
<content type='text'>
An SVN commit spanning multiple paths that shall be turned into
multiple branches in git would result in the git commits to be fed into
git fast-import in arbitrary order. This is problematic for merge
commits, as it means the list of parent commits for the merge commit
will have an arbitrary order. Fix this by always handling the paths in
an SVN commit in order. This makes svn2git conversion runs reproducible.

Unfortunately, commits where paths have been removed and added again,
might no longer be handled correctly. I haven't found such a case in the
FreeBSD repository however.

This is IHMO a bug in git, but it all hinges on semantics like list of
parents vs. set of parents and how you define a hash on a set of objects
that have no natural order.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An SVN commit spanning multiple paths that shall be turned into
multiple branches in git would result in the git commits to be fed into
git fast-import in arbitrary order. This is problematic for merge
commits, as it means the list of parent commits for the merge commit
will have an arbitrary order. Fix this by always handling the paths in
an SVN commit in order. This makes svn2git conversion runs reproducible.

Unfortunately, commits where paths have been removed and added again,
might no longer be handled correctly. I haven't found such a case in the
FreeBSD repository however.

This is IHMO a bug in git, but it all hinges on semantics like list of
parents vs. set of parents and how you define a hash on a set of objects
that have no natural order.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Remove the branch copy heuristic"</title>
<updated>2012-11-26T13:45:11+00:00</updated>
<author>
<name>Torgny Nyblom</name>
<email>nyblom@kde.org</email>
</author>
<published>2012-11-26T13:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=8314eb23393db323b4bb5e34a9ad4e8ebc4014fb'/>
<id>8314eb23393db323b4bb5e34a9ad4e8ebc4014fb</id>
<content type='text'>
This reverts commit c0187417902b10698135727d911ab9018f4941eb.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c0187417902b10698135727d911ab9018f4941eb.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'refs/merge-requests/17' of gitorious.org:svn2git/svn2git into mr/17</title>
<updated>2012-11-23T15:06:43+00:00</updated>
<author>
<name>Torgny Nyblom</name>
<email>nyblom@kde.org</email>
</author>
<published>2012-11-23T15:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=2f358636414d086e6576a0b0341c532b1e7fc1a3'/>
<id>2f358636414d086e6576a0b0341c532b1e7fc1a3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'refs/merge-requests/20' of gitorious.org:svn2git/svn2git into mr/20</title>
<updated>2012-11-23T14:55:26+00:00</updated>
<author>
<name>Torgny Nyblom</name>
<email>nyblom@kde.org</email>
</author>
<published>2012-11-23T14:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=c9376cfbe605a5bad26b76d113f9060d5cdf8753'/>
<id>c9376cfbe605a5bad26b76d113f9060d5cdf8753</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Set marks on notes, so fast-load picks up from previous state.</title>
<updated>2012-10-07T13:26:26+00:00</updated>
<author>
<name>Daniel Hagerty</name>
<email>hag@linnaean.org</email>
</author>
<published>2012-10-07T13:26:26+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/infrastructure/svn2git/commit/?id=8f8d4c770ac4884dc6c7909a342b27b28f23cbd9'/>
<id>8f8d4c770ac4884dc6c7909a342b27b28f23cbd9</id>
<content type='text'>
This should fix the notes upon successive, incremental conversions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should fix the notes upon successive, incremental conversions.
</pre>
</div>
</content>
</entry>
</feed>
