Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more standard ignored files for Julia #2992

Merged
merged 2 commits into from Mar 14, 2019
Merged

Conversation

@ararslan
Copy link
Contributor

@ararslan ararslan commented Mar 11, 2019

Reasons for making this change:

The Julia template here hasn't been updated in a while, and since its last update, new ignorable files have entered the Julia project workflow, including:

  • Documentation build artifacts generated by Documenter.jl, which the vast majority of Julia packages use.
  • Manifest.toml, which is like Julia's equivalent to other languages' package manager's "lock files." It is generated automatically by the package manager, Pkg, and typically appears in docs/ and at the top level, though it can appear anywhere a corresponding Project.toml file is present.

Links to documentation supporting these rule changes:

In particular, this adds documentation build artifacts generated by Documenter.jl as well as Manifest.toml, which can appear in docs/, in test/, or at the top level.
@shiftkey
Copy link
Member

@shiftkey shiftkey commented Mar 12, 2019

Only question I have is about this bit:

Pkg: No relevant link, but see most Julia packages' .gitignore files

Is the community consensus that lock files shouldn't be committed? My experiences with other ecosystems (Node/Yarn and Rust being the most recent) is that the lockfile is good to commit to ensure contributors are using the same version of dependencies (where the tooling supports some sort of range syntax). Any links to discussions about that?

@ararslan
Copy link
Contributor Author

@ararslan ararslan commented Mar 12, 2019

Well, it depends on the purpose of the repository. Currently all of the items in this example .gitignore are relevant to Julia packages. For Julia packages, committing the Manifest file causes big headaches for running CI, since when a dependent package updates to fix a bug, it's not reflected in CI. For Julia-based projects, the Manifest should be committed, as you want a static environment. Since this example .gitignore is currently targeted toward packages, I've opted to include the Manifest file here. Unfortunately I don't have a canonical reference for discussions on this topic, but I can say that I am a developer of Julia itself and have been lightly involved in the development of the package manager. We should probably add some information about this to Julia's documentation.

@shiftkey
Copy link
Member

@shiftkey shiftkey commented Mar 14, 2019

Since this example .gitignore is currently targeted toward packages, I've opted to include the Manifest file here.

This is the extra bit of context I needed. Would you be able to add a comment before the rule to indicate:

  • what rule represents
  • why this rule is included and enabled by default
  • when you might want to remove it to commit this file
@ararslan
Copy link
Contributor Author

@ararslan ararslan commented Mar 14, 2019

Yes, absolutely.

Also add a few more build artifacts from BinaryProvider/BinDeps.
@ararslan
Copy link
Contributor Author

@ararslan ararslan commented Mar 14, 2019

Does this next commit provide sufficient information, or is there anything else you think would be valuable to mention?

Copy link
Member

@shiftkey shiftkey left a comment

Great stuff @ararslan, thanks for the detailed comments!

@shiftkey shiftkey merged commit 76512d9 into github:master Mar 14, 2019
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@ararslan ararslan deleted the ararslan:patch-1 branch Mar 14, 2019
@ararslan
Copy link
Contributor Author

@ararslan ararslan commented Mar 14, 2019

Thanks for suggesting they be there! I think that will be helpful for people wondering what these things are, and I wouldn't have thought to comment on them myself.

Kiku-Reise added a commit to Kiku-Reise/gitignore that referenced this pull request Apr 6, 2019
* Add more standard ignored files for Julia

In particular, this adds documentation build artifacts generated by Documenter.jl as well as Manifest.toml, which can appear in docs/, in test/, or at the top level.

* Clarify the intent of each ignored item

Also add a few more build artifacts from BinaryProvider/BinDeps.
Ortega-Dan added a commit to Ortega-Dan/gitignore that referenced this pull request Jun 26, 2019
* Add more standard ignored files for Julia

In particular, this adds documentation build artifacts generated by Documenter.jl as well as Manifest.toml, which can appear in docs/, in test/, or at the top level.

* Clarify the intent of each ignored item

Also add a few more build artifacts from BinaryProvider/BinDeps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants