Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • I did some archeology, and found the mailing list thread where this feature is fleshed out. The discussion thread starts at http://thread.gmane.org/gmane.comp.version-control.git/21538/focus=21574 [gmane.org], but can be summarized as follows:

    The configuration item core.sharedrepository used to be a boolean, and backward compatibility is highly valued with the Git developers. So that explains the umask/false and group/true values.

    The everybody value is a suggestion by Linus, after which Junio anticipated a request for world, and in the eventual commit (94df2506edd), Junio has thrown in all, probably for good measure :-)

    Having the possibility to specify an option, even if it is the default does not seem silly to me, as it can serve very usefully as documentation in scripts and configuration files.

    In my experience, the silliness of code or features diminishes when you know a little bit more about how it came to be. This, of course, does not mean that there is not an awful lot of silly code and features out there :-)

    --
    All that is gold does not glitter...
    • Very cool. Thank you for the archaeology work.

      Having the possibility to specify an option, even if it is the default does not seem silly to me

      It doesn't to me, by itself. It starts to seem silly though when there's seven values you can specify with only three meanings, and two of those values simply specify the default.

      Having a little more context now, it still seems like a bad design decision to me that they "anticipated" world, and "threw in" all for good measure, because at the moment, if I'm understanding the docs correctly, those two options have exactly the same semantics as "everybody."

      --
      J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
      • Premature optimization?
        Probably. But still, that particular piece of code hasn't changed since June 2006. Is it silly? Yes. Is it important? No. Also, not being able to have all and world mean something other for the core.sharedrepository configuration item doesn't seem like a big loss to me. How would all mean something different than world in the context of Unix file permissions?
        --
        All that is gold does not glitter...