Thread (3 messages) 3 messages, 2 authors, 2025-01-31

Re: [PATCH v3 0/6][Outreachy] Introduce os-version Capability with Configurable Options

From: Usman Akinyemi <hidden>
Date: 2025-01-31 19:46:16

On Fri, Jan 31, 2025 at 10:07 PM Junio C Hamano [off-list ref] wrote:
Christian Couder [off-list ref] writes:
quoted
By the way, if we put the OS information in the "agent" capability,
how do we separate it from the existing "package/version" content and
make it easy to parse?
Do NOT parse, period.

If three "things" that talk the Git protocol on the other end of the
connection gives "Linux git/2.48.0", and "macOS libgit2/1.9.0", and
"Windows git/2.47.1" as their (enhanced) "agent" strings, there is
no "ah, this one is 1.9.0 which way older than 2.47.1 so it must be
missing features X and Y" the users of the information are allowed
to infer.

Just take it as a single opaque string, and group identical ones.

In the above scenario, we found three different kinds now.  Maybe
we'll accumulate the counts and notice that there are N times as
many connections whose agent string begins with "Windows" as "Linux"
and "macOS" combined or something.  That would be an offline
analysis, and forcing users to do the stats offline would reduce the
temptation to use it for purposes other than its intended one.

You may find "ImNotTellingYou" and may wonder what OS the user is
really using, but they do not want to tell you, so you honor their
wish.
While the current implementation allows user to specify this form of string
 i.e "ImNotTellingYou", for agent value, it is not mentioned in the docs,
I will add in the next iteration.
quoted
I don't see a good solution because
GIT_USER_AGENT could be used, and the config option to not show the OS
name could be used too.
That is a good privacy measure.
quoted
Also we don't know what could be in the "version" part. The doc says
that the agent part is typically of the form "package/version" but
doesn't require it.
Exactly.  I would think it is a feature, and the way to treat the
string in line with the philosophy behind that feature is to take it
as a single opaque thing.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help