Skip to content

Need to document how to deal with gitignore scenario(s) #20

@pnkfelix

Description

@pnkfelix

Tango doesn't actually currently say what work flow is recommended, in terms of whether you should check in the .rs files, the .md files, or both.

  • I personally always thought it was cute being able to just check in the .md files, but I am not 100% sure that relying on those alone is robust for crates intended to be used as imported libraries (see e.g. Timestamp issues for upstream crates on http repo #10 for a potential problem here, though that has not been confirmed to my satisfaction).

Anyway, if one does choose to check in only .rs files or only .md files, then usually one will want to have .gitignore set up to ignore the other build products.

However, cargo currently will seed the initial setting for its exclude based on .gitignore (see http://doc.crates.io/manifest.html#the-exclude-and-include-fields-optional ). This means that cargo won't bother rebuilding or even re-running tango in response to the changes to generated files, even though the whole point of tango is to ensure that happens.

Therefore, it is super important that tango document how to deal with this. I have repeatedly run into the issue where I put *.md into the .gitignore and then am confused as to why nothings being rebuilt.


(In addition, it is possible, but I have not yet confirmed, that the recent changes for #18 to emit rerun-if-changed will actually sidestep all of this? I don't know what takes precedence if a file listed by rerun-if-changed is also in the exclude directive.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions