On 01/11/2013 04:28 PM, Paul Burba wrote: > I'm merely pointing out that the current behavior regarding the > *default* is bizarre IMO. I could have the global-ignores option > *purposefully* commented out/not-present in all four Windows configs > because I don't want to ignore anything, but Subversion tries to > outwit me and assumes the default. Seems completely > wrong/counter-intuitive to me.
Yeah, that's the thing with .INI files -- if you comment out a line, it doesn't exist. And a line which doesn't exists precisely means, "Please give me the default behavior." So Subversion is giving you exactly that. The complaint you mean to make is not that Subversion is offering the default behavior in this situation -- it's that the default behavior itself was perhaps ill-chosen and non-intuitive. If you claimed that the hard-coded default should instead be the empty string, I'm sure you'd find widespread agreement across both the dev and user landscapes. But that's not the default, and the reason for that goes waaaaay back to "behaviors we chose to inherit from CVS". :-( > Look at it this way: Assume we only have the per-user config present. > You don't find it odd that these two config files behave differently? > > [[[ > [miscellany] > # Hey, I don't want to ignore anything, so comment out the default! > # global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc > *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store > ]]] > > [[[ > [miscellany] > # Hey, I don't want to ignore anything, so set global-ignores to an empty val! > global-ignores = > ]]] Personally, I fully expect these two configurations to behave differently. But I suspect that that's because I'm the kind of guys who believes it to be a best-practice of config file templates to show the default value of the setting in the commented out text. I also don't tend to "uncomment" such lines in config files at all -- I add new lines that represent what I want, leaving the commented-out, presumed-to-show-the-default-value lines for future reference. My config file would likely read like so: ### Set global-ignores to a set of whitespace-delimited globs ### which Subversion will ignore in its 'status' output, and ### while importing or adding files and directories. ### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'. # global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store global-ignores = :-) -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Enterprise Cloud Development
signature.asc
Description: OpenPGP digital signature