public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] data/glep:master commit in: /
Date: Wed,  7 Feb 2018 15:00:56 +0000 (UTC)	[thread overview]
Message-ID: <1518009728.e4dc2627c8107339b13e20709125e2d9fc91ffde.ulm@gentoo> (raw)

commit:     e4dc2627c8107339b13e20709125e2d9fc91ffde
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  7 13:20:45 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  7 13:22:08 2018 +0000
URL:        https://gitweb.gentoo.org/data/glep.git/commit/?id=e4dc2627

glep-0075: Extend rationale for splitting algorithm

Extend and refactor the rationale for splitting algorithm. Explicitly
state the goals, list all the options that occurred during the ml
discussion.

 glep-0075.rst | 116 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 91 insertions(+), 25 deletions(-)

diff --git a/glep-0075.rst b/glep-0075.rst
index 157514e..00d14c3 100644
--- a/glep-0075.rst
+++ b/glep-0075.rst
@@ -187,43 +187,98 @@ Rationale
 =========
 Algorithm for splitting distfiles
 ---------------------------------
-In the original debate that occurred in bug #534528 [#BUG534528]_,
-three possible solutions for splitting distfiles were listed:
+The possible algorithms were considered with the following goals
+in mind:
 
-a. using initial portion of filename,
+- the number of files in a single directory should not exceed 1000,
 
-b. using initial portion of file hash,
+- the total size of files in a single directory is not considered
+  relevant,
 
-c. using initial portion of filename hash.
+- the solution should preferably be future-proof,
 
-The significant advantage of the filename option was simplicity.  With
-that solution, the users could easily determine the correct subdirectory
-themselves.  However, it's significant disadvantage was very uneven
-shuffling of data.  In particular, the TeΧ Live packages alone count
-almost 23500 distfiles and all use a common prefix, making it impossible
-to split them further.
+- moving distfiles should be avoided once it is deployed.
 
-The alternate option of using file hash has the advantage of having
-a more balanced split.  Furthermore, since hashes are stored
-in Manifests using them is zero-cost.  However, this solution has three
-significant disadvantages:
+It should also be noted that at this moment the package having most
+distfiles in Gentoo at the time is dev-texlive/texlive-latexextra,
+with the number of 8556 distfiles.  All of them start with a common
+prefix of ``texlive-module-``.  This specific prefix is used by a total
+of 23435 distfiles.
 
-1. The hash values are unknown for newly-downloaded distfiles, so
-   ``repoman`` (or an equivalent tool) would have to use a temporary
-   directory before locating the file in appropriate subdirectory.
+In the original debate that occurred in bug #534528 [#BUG534528]_
+and the mailing list review of the initial version of this GLEP [#ML1]_,
+four fundamental ideas for splitting distfiles were listed:
+
+a. using initial portion of filename,
+
+b. using initial portion of file hash,
+
+c. using initial portion of filename hash,
+
+d. using package category (and package name).
+
+The initial filename idea was to use the first character of filename,
+possibly followed by a longer part which was the idea historically
+used e.g. by PyPI Python package hosting.  Its main advantage is
+simplicity.  The users can easily determine the correct subdirectory
+by just looking at the distfile name.  Sadly, this solution is not only
+very uneven but does not solve the problem.  As mentioned above,
+the TeΧ Live packages share a long common prefix that make it impossible
+to split it properly with other packages on fixed-length prefixes.
+
+This idea has been followed by an adaptive proposal by Andrew Barchuk
+[#ADAPTIVE_FILENAME]_.  In this proposal, the filenames are not strictly
+mapped to groups by a common prefix but instead each group contains
+all files between two prefixes being used (like in a dictionary).
+However, it has been pointed out that while this option can provide
+very even results initially, it is impossible to predict how it would
+be affected by future distfile changes and there will be a risk of
+needing to change the groups in the future.  Furthermore, it is
+relatively complex and requires explicitly listing or obtaining used
+groups.
+
+Another option was to use an initial portion of distfile hashes.  Its
+main advantage is that cryptographic hash algorithms can provide
+a more balanced split with random data.  Furthermore, since hashes are
+stored in Manifests using them has no cost for users.  However, this
+solution has three disadvantages:
+
+1. Not all files in the distfile tree are covered by package Manifests.
+   Additional files are injected into the mirrors, and those will
+   not have a clearly-defined location.
 
 2. User-provided distfiles (e.g. for fetch-restricted packages) with
    hash mismatches would be placed in the wrong subdirectory,
    potentially causing confusing errors.
 
-3. Not all files in the distfiles tree are covered by package Manifests
-   --- there are additional files that are injected into distfiles.
+3. The hash values are unknown for newly-downloaded distfiles, so
+   ``repoman`` (or an equivalent tool) would have to use a temporary
+   directory before locating the file in appropriate subdirectory.
 
-Using filename hashes has proven to provide a similar balance
-to using file hashes.  Furthermore, since filenames are known up front
-this solution does not suffer from the both listed problems.  While
-hashes need to be computed manually, hashing short string should not
-cause any performance problems.
+Using filename hashes has proven to provide a similar balance to using
+file hashes.  Furthermore, since filenames are known up front this
+solution does not suffer from the listed problems.  While hashes need
+to be computed manually, hashing short string should not cause
+any performance problems.
+
+Jason Zaman has suggested to use package categories (and package names)
+[#PKGNAME]_.  However, this solution has multiple problems:
+
+a. it does not solve the problem for large packages such as TeΧ Live,
+
+b. it introduces many unnecessarily small directories,
+
+c. it requires an explicit knowledge of which package distfiles
+   belong to,
+
+d. it does not provide an explicit solution to the problem of distfiles
+   shared by multiple packages,
+
+e. it does not provide a solution to the problem of injected distfiles.
+
+All the options considered, the filename hash solution was selected
+as one that solves all the forementioned problems while introducing
+relatively low complexity and being reasonably future-proof.
 
 .. figure:: glep-0075-extras/by-filename.png
 
@@ -327,6 +382,17 @@ References
    of DISTDIR
    (https://bugs.gentoo.org/534528)
 
+.. [#ML1] [gentoo-dev] [pre-GLEP] Split distfile mirror directory structure
+   (https://archives.gentoo.org/gentoo-dev/message/cfc4f8595df2edf9a25ba9ecae2463ba)
+
+.. [#ADAPTIVE_FILENAME] Andrew Barchuk's reply on 'using character ranges
+   for each directory computed in a way to have the files distributed evenly'
+   (https://archives.gentoo.org/gentoo-dev/message/611bdaa76be049c1d650e8995748e7b8)
+
+.. [#PKGNAME] Jason Zamal's reply including 'using the same dir layout
+   as the packages themselves)
+   (https://archives.gentoo.org/gentoo-dev/message/f26ed870c3a6d4ecf69a821723642975)
+
 
 Copyright
 =========


             reply	other threads:[~2018-02-07 15:01 UTC|newest]

Thread overview: 348+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 15:00 Ulrich Müller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-26 11:44 [gentoo-commits] data/glep:master commit in: / Ulrich Müller
2024-09-08 19:29 Ulrich Müller
2024-09-08 19:21 Ulrich Müller
2024-07-22  5:43 Ulrich Müller
2024-07-22  5:43 ` Ulrich Müller
2024-07-16 16:18 Ulrich Müller
2024-04-16 18:36 Ulrich Müller
2024-04-16 18:36 Ulrich Müller
2024-04-16 18:36 Ulrich Müller
2024-04-16 18:36 Ulrich Müller
2024-02-27  9:30 Ulrich Müller
2023-12-02 12:02 Ulrich Müller
2023-12-02 12:02 Ulrich Müller
2023-09-16 16:20 Ulrich Müller
2023-09-15 15:30 Ulrich Müller
2023-05-14 19:14 Ulrich Müller
2023-05-14 19:14 Ulrich Müller
2023-05-08 19:16 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-05-08 17:12 Ulrich Müller
2023-04-16  8:08 [gentoo-commits] data/glep:glep39 " Ulrich Müller
2023-05-08 17:12 ` [gentoo-commits] data/glep:master " Ulrich Müller
2023-04-16  8:08 [gentoo-commits] data/glep:glep39 " Ulrich Müller
2023-05-08 17:12 ` [gentoo-commits] data/glep:master " Ulrich Müller
2023-04-16  8:08 [gentoo-commits] data/glep:glep39 " Ulrich Müller
2023-05-08 17:12 ` [gentoo-commits] data/glep:master " Ulrich Müller
2023-04-10 13:29 [gentoo-commits] data/glep:glep39 " Ulrich Müller
2023-03-12 20:10 ` [gentoo-commits] data/glep:master " Ulrich Müller
2023-04-10 13:29 [gentoo-commits] data/glep:glep39 " Ulrich Müller
2023-03-12 20:10 ` [gentoo-commits] data/glep:master " Ulrich Müller
2023-04-01  9:04 Ulrich Müller
2023-04-01  9:04 Ulrich Müller
2023-03-12 20:14 Ulrich Müller
2023-03-12 20:10 Ulrich Müller
2023-03-12 20:10 Ulrich Müller
2023-02-22  8:18 Ulrich Müller
2022-11-15 20:10 Michał Górny
2022-11-13 20:20 Ulrich Müller
2022-11-13 20:20 Ulrich Müller
2022-11-13 20:20 Ulrich Müller
2022-11-13 20:20 Ulrich Müller
2022-11-13 20:20 Ulrich Müller
2022-11-13 20:20 Ulrich Müller
2022-11-13 16:57 [gentoo-commits] data/glep:glep76 " Ulrich Müller
2022-11-03 12:40 ` [gentoo-commits] data/glep:master " Ulrich Müller
2022-11-13 16:57 [gentoo-commits] data/glep:glep76 " Ulrich Müller
2022-11-03 12:40 ` [gentoo-commits] data/glep:master " Ulrich Müller
2022-11-03 12:40 Ulrich Müller
2022-11-03 12:40 Ulrich Müller
2022-10-30 13:59 Michał Górny
2022-10-14 15:35 Michał Górny
2022-10-14 15:35 Michał Górny
2022-10-04  6:56 Michał Górny
2022-10-04  6:56 Michał Górny
2022-10-04  6:56 Michał Górny
2022-09-21 17:31 Michał Górny
2022-09-21 17:31 Michał Górny
2022-09-21 17:31 Michał Górny
2022-09-12  6:20 Michał Górny
2022-09-12  6:20 Michał Górny
2022-09-12  6:20 Michał Górny
2022-09-12  6:20 Michał Górny
2022-09-12  6:20 Michał Górny
2022-08-14 19:35 Ulrich Müller
2022-08-14 19:32 Ulrich Müller
2022-08-14 19:29 Ulrich Müller
2022-08-14 19:29 Ulrich Müller
2022-07-31 21:45 Ulrich Müller
2022-07-31 21:26 Ulrich Müller
2022-07-31 17:28 Ulrich Müller
2022-07-31 17:28 Ulrich Müller
2022-07-25 19:59 Ulrich Müller
2022-07-25 19:59 Ulrich Müller
2022-07-16  7:04 Ulrich Müller
2022-07-14 10:30 Ulrich Müller
2022-07-14 10:30 Ulrich Müller
2022-07-14 10:30 Ulrich Müller
2022-07-14 10:30 Ulrich Müller
2022-07-11 19:26 Ulrich Müller
2022-07-09 10:08 Ulrich Müller
2022-07-08 17:36 Ulrich Müller
2022-07-08 17:36 Ulrich Müller
2022-07-02  8:37 Ulrich Müller
2022-06-12 19:13 Ulrich Müller
2022-06-12 19:09 Ulrich Müller
2022-05-08  5:48 Ulrich Müller
2022-05-08  5:48 Ulrich Müller
2022-05-08  5:48 Ulrich Müller
2022-04-15  5:50 Ulrich Müller
2022-04-15  4:27 Robin H. Johnson
2022-01-10  6:14 Ulrich Müller
2021-09-12 19:24 Ulrich Müller
2021-09-11 14:03 Ulrich Müller
2021-08-08 20:06 Ulrich Müller
2021-07-12  7:04 Ulrich Müller
2021-06-20 16:42 Ulrich Müller
2021-06-17 20:08 Ulrich Müller
2021-06-09  7:32 Michał Górny
2021-05-31  8:44 Ulrich Müller
2021-05-31  8:12 Michał Górny
2021-03-14 19:57 Michał Górny
2021-01-04  7:12 Ulrich Müller
2020-05-10 19:36 Ulrich Müller
2020-05-06  8:30 Michał Górny
2020-05-01 19:49 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-22  9:00 Ulrich Müller
2020-04-12 17:37 Ulrich Müller
2019-12-21 13:05 Ulrich Müller
2019-12-08 19:38 Ulrich Müller
2019-12-05 15:07 Ulrich Müller
2019-11-24 10:23 Ulrich Müller
2019-11-24 10:23 Ulrich Müller
2019-11-15 11:59 Ulrich Müller
2019-11-11 10:00 Ulrich Müller
2019-11-11  9:49 Ulrich Müller
2019-11-11  9:49 Ulrich Müller
2019-11-07  6:35 Michał Górny
2019-11-06 14:36 Ulrich Müller
2019-10-07 10:58 Ulrich Müller
2019-07-30 18:48 Ulrich Müller
2019-07-29 14:51 Michał Górny
2019-07-22  7:15 Ulrich Müller
2019-07-15 19:01 Michał Górny
2019-06-18 13:04 Michał Górny
2019-06-18 12:34 Ulrich Müller
2019-06-18 12:24 Michał Górny
2019-06-17 20:14 Ulrich Müller
2019-06-10 16:33 Ulrich Müller
2019-06-10 15:58 Ulrich Müller
2019-05-13 18:44 Ulrich Müller
2019-05-13 18:44 Ulrich Müller
2019-05-02 16:40 Michał Górny
2019-04-14 21:04 Ulrich Müller
2019-04-14 12:54 Michał Górny
2019-04-03  8:12 Michał Górny
2019-04-02 13:43 Michał Górny
2019-03-14 13:10 Michał Górny
2019-03-14 13:10 Michał Górny
2019-03-03 20:52 Ulrich Müller
2019-03-03  7:16 Michał Górny
2019-02-23 15:35 Ulrich Müller
2019-02-23 10:26 Ulrich Müller
2018-12-21 10:16 Ulrich Müller
2018-12-08  9:41 Ulrich Müller
2018-12-01 12:59 Ulrich Müller
2018-12-01 12:59 Ulrich Müller
2018-12-01 10:43 Ulrich Müller
2018-11-17 13:08 Ulrich Müller
2018-10-28 18:50 Ulrich Müller
2018-10-27  7:31 Ulrich Müller
2018-10-27  7:31 Ulrich Müller
2018-10-21 11:10 Ulrich Müller
2018-10-21 11:10 Ulrich Müller
2018-10-21 11:10 Ulrich Müller
2018-10-21 11:10 Ulrich Müller
2018-09-15 23:02 Ulrich Müller
2018-09-12 11:43 Ulrich Müller
2018-09-12 11:29 Ulrich Müller
2018-09-08 13:42 Ulrich Müller
2018-08-31 15:35 [gentoo-commits] data/glep:glep-0076 " Ulrich Müller
2018-08-31 14:57 ` [gentoo-commits] data/glep:master " Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-08-31 14:57 Ulrich Müller
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-29 20:51 Michał Górny
2018-07-17 22:39 Ulrich Müller
2018-07-17 22:39 Ulrich Müller
2018-07-13 13:06 Ulrich Müller
2018-07-13 13:06 Ulrich Müller
2018-06-19 17:15 Ulrich Müller
2018-06-19 17:15 Ulrich Müller
2018-06-10 20:36 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-06-10 18:42 Ulrich Müller
2018-05-19 12:20 Ulrich Müller
2018-04-17 18:42 Ulrich Müller
2018-04-09 19:26 Ulrich Müller
2018-04-08 20:05 Ulrich Müller
2018-04-07 17:00 Ulrich Müller
2018-03-11 19:20 Michał Górny
2018-03-11 19:20 Michał Górny
2018-02-07 15:00 Ulrich Müller
2018-02-07 15:00 Ulrich Müller
2018-02-07 15:00 Ulrich Müller
2017-12-27 13:11 Ulrich Müller
2017-12-16  9:00 Michał Górny
2017-12-11  7:53 Ulrich Müller
2017-12-11  7:53 Ulrich Müller
2017-12-11  7:53 Ulrich Müller
2017-12-11  7:53 Ulrich Müller
2017-12-11  7:53 Ulrich Müller
2017-11-29 14:51 Michał Górny
2017-11-27 20:25 Ulrich Müller
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-25 20:49 Michał Górny
2017-11-21 20:44 Ulrich Müller
2017-11-18 22:21 Ulrich Müller
2017-11-13 17:35 [gentoo-commits] data/glep:glep-manifest " Michał Górny
2017-11-13 16:08 ` [gentoo-commits] data/glep:master " Michał Górny
2017-11-13 17:35 [gentoo-commits] data/glep:glep-manifest " Michał Górny
2017-11-13 16:08 ` [gentoo-commits] data/glep:master " Michał Górny
2017-11-13 17:34 Ulrich Müller
2017-11-13 16:08 Michał Górny
2017-11-13 16:08 Michał Górny
2017-11-13 14:45 Ulrich Müller
2017-11-12 21:17 Ulrich Müller
2017-11-12 21:17 Ulrich Müller
2017-11-12 21:17 Ulrich Müller
2017-11-12 21:17 Ulrich Müller
2017-11-10  8:11 Ulrich Müller
2017-11-09 14:14 Ulrich Müller
2017-11-09  6:03 Ulrich Müller
2017-11-07 21:05 Ulrich Müller
2017-11-06  7:48 Ulrich Müller
2017-11-04 18:03 Ulrich Müller
2017-11-04 18:03 Ulrich Müller
2017-11-04 17:24 Robin H. Johnson
2017-11-04 17:24 Robin H. Johnson
2017-11-03 16:49 Ulrich Müller
2017-11-02 19:09 [gentoo-commits] data/glep:glep-manifest " Michał Górny
2017-10-27 17:44 ` [gentoo-commits] data/glep:master " Michał Górny
2017-11-02 19:09 [gentoo-commits] data/glep:glep-manifest " Michał Górny
2017-10-27 17:44 ` [gentoo-commits] data/glep:master " Michał Górny
2017-10-28 11:57 Ulrich Müller
2017-10-28 10:12 Ulrich Müller
2017-10-19  5:24 Ulrich Müller
2017-10-18 11:38 Ulrich Müller
2017-10-18 11:38 Ulrich Müller
2017-10-17 12:27 Ulrich Müller
2017-10-17 12:27 Ulrich Müller
2017-10-15 19:47 Michał Górny
2017-10-15 19:47 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:45 Michał Górny
2017-10-15 19:18 Ulrich Müller
2017-10-15 19:18 Ulrich Müller
2017-10-15 19:18 Ulrich Müller
2017-10-15 19:18 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-14  9:20 Ulrich Müller
2017-10-12 12:17 Ulrich Müller
2017-10-12 12:17 Ulrich Müller
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny
2017-10-09 13:56 Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1518009728.e4dc2627c8107339b13e20709125e2d9fc91ffde.ulm@gentoo \
    --to=ulm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox