Skip to content

ENH: Make behaviour clear when some garbage files are in src directory #41

Open
@hmgaudecker

Description

@hmgaudecker

Just came across this while grading assignments, had run into it before myself:

We used \verb|pytask-latex| to compile our document -- a nice feature is that the \LaTeX\ garbage files are stored in the \verb|bld| folder, not the source folder. During the process of writing the report, however, we used source code editors (see above) which compile the document as well right in the \verb|src| folder. At this point, we noted an interesting complication: when the garbage files in the \verb|src| folder are not removed but the ones in the \verb|bld| folder are removed, then, \verb|pytask-latex| fails to compile the document in the \verb|bld| folder. It took us some experiments to figure out this behaviour but we suppose that, in this case, \verb|pytask-latex| at the first run of \verb|latexmk| thinks the garbage files in the \verb|src| folder are the relevant ones and therefore imports wrong ``settings.'' When both garbage file locations are cleaned or both of them are not cleaned, then all works well. Importantly, for unpacking the project it does not matter since we don't include the \verb|src| garbage files in the repository.

This happens easily if one has separate src/bld directories and (accidentally) tries to compile the document in the src folder. Very hard to understand what is happening then.

Not sure what should happen. In any case, first thing to do would be to check whether

  • src/bld are separate
  • and whether there are files in src that are side-effects of the compilation.

If true, possibilities I can think of:

  • Raise an explicit error (maybe with interactive option / command line suggestion to remove the files?)
  • Somehow ignore the files with side-effects in src (stash them like pre-commit does?)

Difficult thing might be to predict exactly which files will be there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions