Re: [GSoC PATCH v5 2/5] repo: add the field references.format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Ok, so each key has a corresponding callback that is used to get its
> value. This works fine when we have one operation/callback per key, but
> I could see this being a bit inflexible in cases where performing a
> single operation could be expected to generate multiple keys worth of
> information at a time.

For git-repo-info it wouldn't be a problem, as we return one value per
requested key.

However, I plan to add a feature in the future for requesting a group
of fields. For example:

$ git repo info layout
layout.bare=true
layout.shallow=false

which, of course, is not what exactly you mean :-). But it is a similar
problem of requesting one key and getting several key-value pairs.

> I certainly see this being the case with git-repo-stats where, for
> example, interating over references will produce multiple keyvalues
> indicating the number of branches, tags, remotes, etc. But, maybe for
> git-repo-info this will not be as much of a concern?

For git-repo-info it isn't, at least by the planned set of values.
However, given that I have plans to add the previous feature, I can
try to make it flexible for doing things like:

$ git repo stats object.count
object.count.blob=123
object.count.tree=456
object.count.commit=789

So you can use the same code for outputting git-repo-stats data. By
now, I plan to finish the basic functionality (i.e. finishing this
"skeleton" and adding the rest of the proposed fields), then I'll
think about this feature.

I think the current solution is simple enough to being refactored to
support this kind of thing in the future.

> If the user does not input any keys, we simply do nothing. I do wonder
> if this is really the best default behavior.

In previous versions it returned all the available fields. There was a
`--allow-empty` flag that allowed to request no field.

After the discussion in [1] we agreed that it would be better to return
nothing by default and add a `--all` flag for returning all the fields
(or a default set of fields).





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux