ioam / topographica

A general-purpose neural simulator focusing on topographic maps.
topographica.org
BSD 3-Clause "New" or "Revised" License
53 stars 32 forks source link

Remove various confusing and apparently out-of-date ignores. #617

Open ceball opened 9 years ago

ceball commented 9 years ago

This is a PR for discussion rather than immediate merging, because probably I'm not right about all of these, but e.g. the ignoring of notebooks in the root directory confused me, so I looked at .gitignore and went down a bit of a rabbit hole...

(listed in order they appear in the diff, just about)

  1. (line 16) Why ignore new files added to external (external/*)?
  2. (line 29) Why ignore new .rst files added to doc/Tutorials? If I make a new file here, why wouldn't I want to hear about it from git?
  3. (line 30) Why ignore new .rst files added to doc/Reference_Manual? Maybe this directory is supposed to have only the existing (tracked) index.rst plus generated files, i.e. no new human-added files. And I guess you want to ignore generated .rst files (since there's also Reference_Manual/*-module.rst in the .gitignore for doc), in which case probably I shouldn't have removed this line.
  4. (line 32) Why ignore notebooks created in the root directory?
  5. (line 34) notebooks directory is no longer used, right? Or I've missed it?
  6. Why have a doc/.gitignore when none of the other directories have their own .gitignore, and there are only a couple of things to ignore? I've moved _build to the main .gitignore, removed *.pyc (redundant), and removed what I think might be out-of-date Reference_Manual/*-module.rst (might be wrong about that...).

Also, you can see things like include (line 18) will cause anything called include to be ignored throughout the repository, whereas e.g. /doc/_build is being explicit about ignoring only doc/build from the root, not from anywhere else doc/_build might appear. Probably worth going through each and deciding which it's supposed to be.

jbednar commented 9 years ago

For all of these, if we can't think of any good reason to ignore, I think we should stop ignoring and then re-ignore if we later encounter annoyances. Ignoring should only be for things that really are real problems if we don't. By number:

  1. I can't think of any good reason.
  2. I could imagine that there is a workflow that turns a .ipynb file into a .rst, that Sphinx then uses. But I don't know whether that is currently the case. Philipp? If it's not currently the case, we should stop ignoring such files.
  3. We do want to ignore the generated .rst files in the Reference_Manual, i.e. all except index.rst.
  4. This must just be a convenience thing, in that people often leave stray ones there and don't want Git complaining. But unless someone speaks up for continuing to ignore those, I vote to remove this exception and stop treating those specially.
  5. I think so.
  6. Sounds reasonable to me.

I don't think we should be ignoring include, info, and things like that in any case -- those are left over from when we had full builds that were installing things in the main topographica directory. Nowadays I don't think we need bin, lib, include, info, man, share listed there; I think that's all out of date.