Fixes#1217.
Once again ignore .classpath and .project in the Eclipse template. This has
been requested in multiple PRs such as #1338 and #1221 and is essentially a
reversion of #805. I copy the explanation for this change from the discussion
in #1217 by @segfly:
*In short*:
I can't point to any counter-documentation off the top of my head. I just know
from experience these files pollute a project's repo without adding value
- that is, unless everyone contributing is using Eclipse and no-one is using
dependency management. And even then, the guidance provided by the eclipse docs
is bad advice.
*In Long*:
The .classpath file is used by Eclipse to maintain the project's classpath
during automatic compile (every save of a file). In the olden days, one would
manually configure the project within the Eclipse UI and include all the
dependent jars necessary to compile your project. Eclipse then wrote that
configuration out to the .classpath file.
In theory, this file could be shared with others so they did not have to
manually configure their eclipse classpath. In practice, I never saw it work
out quite so well due to eventual bloating of the classpath with needless jars
or jars that only existed on one person's machine. Mind you, many people back
then also used to check their dependent jars into version control along with
their source.
Dependency management tools like Gradle and Maven have done away with all that
of course. But they also integrate nicely with Eclipse and manage the project
classpath dynamically. The .classpath file is basically rebuilt based on
changes to the build.gradle file or pom.xml file. Effectively, this renders the
whole point of checking in the .classpath moot as it is easily rebuilt by the
Maven or Gradle plugin.
The .project file is another animal completely. It basically describes what
plugins should be applied to the project as configured in the Eclipse UI. Again
the theory is it could be shared and creates a happy world. But due to
different eclipse versions people may have, different plugins installed, etc.
sharing the .project file actually causes more issues. And I've seen many
projects unable to open due to a bad .project file - requiring one to delete it
anyway (which then of course, when someone recreates it, they inevitably check
it in over the old one and end up breaking someone else's environment).
The bottom line is, regardless of what the eclipse documentation says, these
are very much internal configuration files for eclipse and best left out of
a repo.
Ignores all .rdb files, (default: dump.rdb).
These files contain a binary representation of the in-memory
redis data that is generated using cli tools or on a redis
failure.
They can be used to restore a redis db, and may contain
sensitive data so should not be saved in version control.
Intellij's iml file can be anywhere on the path.
This is true for multi-module maven project where each module has its own $projectName.iml file in its own directory.
The .settings folder contains all of the user-specific preferences for Momentics (like it does for Eclipse, since they're the same underneath). Should be local only.
The template hasn't been touched since it was added to this collection.
There are some problems with it - mainly that it's hard to know if these
rules are all still relevant, and the large prose block is probably more
confusing than helpful here.
When working with multifile LaTeX-documents in AUCTeX in emacs, it creates the auto-folder to keep track of styles, macros etc. in the whole document. Unnecessary of versioning purposes.
xcuserstate files are generated from within Xcode and saved in your project bundle to remember your last opened file, the open state of any group folders, open tabs, and any other user setting your project might need to remember, this is something that shouldn't be tracked in version control
Restore the Xcode rules to the Objective-C template as per the discussion
thread on 5bd4330. Although the rules correspond to an IDE and so are
global, most users of the Obj-C template expect to find the Xcode rules
in the template generated by github.com, since the IDE is so ubiquitous.
This could possibly be resolved by adding a template transclusion
mechanism in the future, but for now duplication is the way to go.
This commit adds a global ignore file for SlickEdit, a commercial editor.
SlickEdit will create the following files when the user sets up a workspace:
*.vpw Workspace file. Contains a list of project files associated with
the workspace.
*.vpj Project file. Contains the project’s settings, including the list
of source files.
*.vpwhist Workspace history file for Windows. Contains user session
information (list of open files, debugger breakpoints, etc.)
*.vpwhistu Workspace history file for UNIX/Linux/MacOSX. (Same as above.)
*.vtg Workspace tag file. Contains a database of source code symbols.
It is assumed that GitHub users will generally not want to store their
workspace and project files in a repository, so those files are ignored
globally. However, those files do not contain user-specific data so they
could be stored in a repository and shared among developers if desired for
a particular project. This can be done by adding rules like ’!*.vpw’ and
‘!*.vpj’ to the project’s .gitignore file.
The workspace history and tag files contain user-specific data, so they
should not be stored in a repository.
For more information, download the PDF user guide from:
http://www.slickedit.com/products/slickedit/product-documentation
Note: The user guide is 1400 pages long and over 13MB in size.
Searching for ‘vpwhist’ will lead to the section that discusses storing
these files in a repository.