Skip to content

SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs#4786

Merged
retronym merged 2 commits intoscala:2.11.xfrom
performantdata:issue/9506
Oct 7, 2015
Merged

SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs#4786
retronym merged 2 commits intoscala:2.11.xfrom
performantdata:issue/9506

Conversation

@performantdata
Copy link
Contributor

I'll request review once I've made any similar commits that arise. Could be awhile.

@scala-jenkins scala-jenkins added this to the 2.11.8 milestone Oct 6, 2015
@retronym
Copy link
Member

retronym commented Oct 6, 2015

I'd prefer a wildcard exclusion (**/.cache-main) in /.gitignore

@performantdata
Copy link
Contributor Author

Me too, but I tried */.cache-main in src/eclipse/.gitignore, and Eclipse ignored me. Guessing it's because Eclipse doesn't notice the .gitignore in directories above the project directory.

@retronym
Copy link
Member

retronym commented Oct 6, 2015

That file tells git to ignore some files in ./src/eclipse, it isn't intended to tell eclipse what to ignore.

Instead, you want to add this config right here

@performantdata
Copy link
Contributor Author

I tried your suggestion, but it doesn't work. Eclipse marks the .cache-main file icons with a "?" badge.

@SethTisue
Copy link
Member

I don't think you need **. if you don't start the entry with a leading slash, that it applies anywhere in the tree. a trailing slash means "directory". so I would think this would do it:

.cache-main/

@performantdata
Copy link
Contributor Author

According to the docs, .cache-main and **/.cache-main are equivalent.

.cache-main is a file, not a directory, at least in my release of the IDE. So .gitignore needs .cache-main, not .cache-main/.

I tried your suggestion anyway, but it doesn't work. I think you missed my point that Egit is ignoring the .gitignore files that are in proper ancestor directories of the Eclipse project directory (src/eclipse/interactive/ et al.)

@performantdata
Copy link
Contributor Author

@retronym I don't understand what you're thinking when you write

That file tells git to ignore some files in ./src/eclipse, it isn't intended to tell eclipse what to ignore.

It seems to me that Ecipse (Egit, I assume) should be interpreting the same files as Git (although, by some bug, we see that it doesn't).

@performantdata
Copy link
Contributor Author

This Eclipse bug comment sounds similar. I'm using 4.4.2.

@performantdata
Copy link
Contributor Author

review @retronym

@retronym
Copy link
Member

retronym commented Oct 7, 2015

LGTM, thanks for taking the time to smooth out the bumps on the ride while getting started contributing.

In the future, if you figure out a way to express our ignorance in a way that is both concise and comprehensible to EGit, we can collapse this all back into the .gitignore in the root folder.

retronym added a commit that referenced this pull request Oct 7, 2015
SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
@retronym retronym merged commit e0b5891 into scala:2.11.x Oct 7, 2015
@performantdata performantdata deleted the issue/9506 branch October 7, 2015 03:01
SethTisue added a commit to SethTisue/scala that referenced this pull request Oct 16, 2015
rather than attempt to resolve merge conflicts in the Eclipse config,
the log shows that I merged ae5f0de with `-s ours`. (I have invited
Mike/performantdata to submit a followup PR bringing the Eclipse stuff
into a good state on 2.12.x.)

there were no other merge conflicts.

in test/junit/scala/collection/mutable/OpenHashMapTest.scala I had to
make the following change to fix a test failure:
-    val field = m.getClass.getDeclaredField("scala$collection$mutable$OpenHashMap$$deleted")
+    val field = m.getClass.getDeclaredField("deleted")

% git log --decorate --oneline -1 origin/2.11.x | cat
ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
% git log --decorate --oneline -1 origin/2.12.x | cat
c99e53e (HEAD -> 2.12.x, origin/2.12.x) Merge pull request scala#4797 from lrytz/M3-versions
% export MB=$(git merge-base 2.12.x origin/2.11.x)
% echo $MB
42cafa2
% git checkout -b merge-2.11-to-2.12-oct-16
Switched to a new branch 'merge-2.11-to-2.12-oct-16'
% git log --graph --oneline --decorate $MB...origin/2.11.x | cat
*   ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
|\
| * 08dca37 (origin/pull/4791) SI-9508 fix classpaths in Eclipse configuration
* |   fe76232 Merge pull request scala#4798 from performantdata/issue/9513
|\ \
| * | 9c97a7f (origin/pull/4798) Suppress unneeded import.
| * | 30d704d Document some OpenHashMap internal methods.
| * | 1fb32fc SI-9513 decrement "deleted" count in OpenHashMap.put() when slot reused
| |/
* |   14f875c Merge pull request scala#4788 from dk14/patch-1
|\ \
| * | 42acd55 (origin/pull/4788) explicitly specify insertion-order feature in docs
|  /
* |   68ce049 Merge pull request scala#4771 from som-snytt/issue/9492-here
|\ \
| * | f290962 (origin/pull/4771) SI-9492 Line trimming paste
| * | bc3589d SI-9492 REPL paste here doc
|  /
* |   9834fc8 Merge pull request scala#4610 from todesking/spec-implicits-remove-obsolete
|\ \
| * | 46009b1 (origin/pull/4610) Add view/context-bound parameter ordering rule
| * | 6eba305 Spec: Implicit parameters with context/view bound is allowed since 2.10
|  /
* |   d792e35 Merge pull request scala#4789 from janekdb/2.11.x-param-names-predicates-operations
|\ \
| |/
|/|
| * b19a07e (origin/pull/4789) Rename forall, exists and find predicate and operator params.
|/
*   648c7a1 Merge pull request scala#4790 from SethTisue/issue/9501
|\
| * 40d12f1 (origin/pull/4790) SI-9501 link README to Scala Hacker Guide
* e0b5891 Merge pull request scala#4786 from performantdata/issue/9506
* 39acad8 (origin/pull/4786) SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
* 74dc364 SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
% git merge fe76232
Auto-merging src/repl/scala/tools/nsc/interpreter/ILoop.scala
Auto-merging src/library/scala/util/Either.scala
Auto-merging src/library/scala/runtime/Tuple3Zipped.scala
Auto-merging src/library/scala/runtime/Tuple2Zipped.scala
Auto-merging src/library/scala/collection/parallel/ParIterableLike.scala
Auto-merging src/library/scala/collection/immutable/ListMap.scala
Auto-merging src/library/scala/collection/TraversableLike.scala
Auto-merging README.md
Merge made by the 'recursive' strategy.
 README.md                                                   | 11 +++++++-
 spec/07-implicits.md                                        | 12 +++++++--
 src/eclipse/interactive/.gitignore                          |  2 ++
 src/eclipse/partest/.gitignore                              |  2 ++
 src/eclipse/reflect/.gitignore                              |  2 ++
 src/eclipse/repl/.gitignore                                 |  2 ++
 src/eclipse/scala-compiler/.gitignore                       |  2 ++
 src/eclipse/scala-library/.gitignore                        |  2 ++
 src/eclipse/scaladoc/.gitignore                             |  2 ++
 src/eclipse/scalap/.gitignore                               |  2 ++
 src/eclipse/test-junit/.gitignore                           |  2 ++
 src/library/scala/collection/GenTraversableOnce.scala       | 23 ++++++++++++++---
 src/library/scala/collection/TraversableLike.scala          |  2 +-
 src/library/scala/collection/immutable/ListMap.scala        |  2 +-
 src/library/scala/collection/immutable/RedBlackTree.scala   |  4 +--
 src/library/scala/collection/immutable/Set.scala            | 74 ++++++++++++++++++++++++++---------------------------
 src/library/scala/collection/mutable/OpenHashMap.scala      | 19 +++++++++++++-
 src/library/scala/collection/parallel/ParIterableLike.scala | 18 ++++++-------
 src/library/scala/runtime/Tuple2Zipped.scala                |  8 +++---
 src/library/scala/runtime/Tuple3Zipped.scala                |  8 +++---
 src/library/scala/util/Either.scala                         | 12 ++++-----
 src/repl/scala/tools/nsc/interpreter/ILoop.scala            | 51 ++++++++++++++++++++++++------------
 src/repl/scala/tools/nsc/interpreter/ReplProps.scala        |  2 ++
 test/files/run/repl-paste-5.check                           | 28 ++++++++++++++++++++
 test/files/run/repl-paste-5.scala                           | 18 +++++++++++++
 test/junit/scala/collection/mutable/OpenHashMapTest.scala   | 42 ++++++++++++++++++++++++++++++
 26 files changed, 264 insertions(+), 88 deletions(-)
 create mode 100644 src/eclipse/interactive/.gitignore
 create mode 100644 src/eclipse/partest/.gitignore
 create mode 100644 src/eclipse/reflect/.gitignore
 create mode 100644 src/eclipse/repl/.gitignore
 create mode 100644 src/eclipse/scala-compiler/.gitignore
 create mode 100644 src/eclipse/scala-library/.gitignore
 create mode 100644 src/eclipse/scaladoc/.gitignore
 create mode 100644 src/eclipse/scalap/.gitignore
 create mode 100644 src/eclipse/test-junit/.gitignore
 create mode 100644 test/files/run/repl-paste-5.check
 create mode 100644 test/files/run/repl-paste-5.scala
 create mode 100644 test/junit/scala/collection/mutable/OpenHashMapTest.scala
% git merge -s ours ae5f0de
Merge made by the 'ours' strategy.
SethTisue added a commit to SethTisue/scala that referenced this pull request Oct 16, 2015
ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
% git log --decorate --oneline -1 origin/2.12.x | cat
c99e53e (HEAD -> 2.12.x, origin/2.12.x) Merge pull request scala#4797 from lrytz/M3-versions
% export MB=$(git merge-base 2.12.x origin/2.11.x)
% echo $MB
42cafa2
% git log --graph --oneline --decorate $MB...origin/2.11.x | cat
*   ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
|\
| * 08dca37 (origin/pull/4791) SI-9508 fix classpaths in Eclipse configuration
* |   fe76232 Merge pull request scala#4798 from performantdata/issue/9513
|\ \
| * | 9c97a7f (origin/pull/4798) Suppress unneeded import.
| * | 30d704d Document some OpenHashMap internal methods.
| * | 1fb32fc SI-9513 decrement "deleted" count in OpenHashMap.put() when slot reused
| |/
* |   14f875c Merge pull request scala#4788 from dk14/patch-1
|\ \
| * | 42acd55 (origin/pull/4788) explicitly specify insertion-order feature in docs
|  /
* |   68ce049 Merge pull request scala#4771 from som-snytt/issue/9492-here
|\ \
| * | f290962 (origin/pull/4771) SI-9492 Line trimming paste
| * | bc3589d SI-9492 REPL paste here doc
|  /
* |   9834fc8 Merge pull request scala#4610 from todesking/spec-implicits-remove-obsolete
|\ \
| * | 46009b1 (origin/pull/4610) Add view/context-bound parameter ordering rule
| * | 6eba305 Spec: Implicit parameters with context/view bound is allowed since 2.10
|  /
* |   d792e35 Merge pull request scala#4789 from janekdb/2.11.x-param-names-predicates-operations
|\ \
| |/
|/|
| * b19a07e (origin/pull/4789) Rename forall, exists and find predicate and operator params.
|/
*   648c7a1 Merge pull request scala#4790 from SethTisue/issue/9501
|\
| * 40d12f1 (origin/pull/4790) SI-9501 link README to Scala Hacker Guide
* e0b5891 Merge pull request scala#4786 from performantdata/issue/9506
* 39acad8 (origin/pull/4786) SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
* 74dc364 SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
% git merge ae5f0de
Auto-merging src/repl/scala/tools/nsc/interpreter/ILoop.scala
Auto-merging src/library/scala/util/Either.scala
Auto-merging src/library/scala/runtime/Tuple3Zipped.scala
Auto-merging src/library/scala/runtime/Tuple2Zipped.scala
Auto-merging src/library/scala/collection/parallel/ParIterableLike.scala
Auto-merging src/library/scala/collection/immutable/ListMap.scala
Auto-merging src/library/scala/collection/TraversableLike.scala
Auto-merging src/eclipse/test-junit/.classpath
CONFLICT (content): Merge conflict in src/eclipse/test-junit/.classpath
Auto-merging src/eclipse/scaladoc/.classpath
CONFLICT (content): Merge conflict in src/eclipse/scaladoc/.classpath
Auto-merging src/eclipse/scala-compiler/.classpath
Auto-merging src/eclipse/repl/.classpath
CONFLICT (content): Merge conflict in src/eclipse/repl/.classpath
Auto-merging src/eclipse/partest/.classpath
CONFLICT (content): Merge conflict in src/eclipse/partest/.classpath
Auto-merging src/eclipse/interactive/.classpath
Auto-merging README.md
Automatic merge failed; fix conflicts and then commit the result.
% git checkout --ours src/eclipse/partest/.classpath
% git checkout --ours src/eclipse/repl/.classpath
% git checkout --ours src/eclipse/scaladoc/.classpath
% git checkout --ours src/eclipse/test-junit/.classpath
% git add -u
% emacs test/junit/scala/collection/mutable/OpenHashMapTest.scala
% git diff test/junit/scala/collection/mutable/OpenHashMapTest.scala | cat
...
-    val field = m.getClass.getDeclaredField("scala$collection$mutable$OpenHashMap$$deleted")
+    val field = m.getClass.getDeclaredField("deleted")
...
% git add -u
SethTisue added a commit to SethTisue/scala that referenced this pull request Oct 16, 2015
there were merge conflicts in the Eclipse config that I resolved with
--ours.  I invite @performantdata to submit a followup PR bringing the
Eclipse stuff into a good state on 2.12.x.

there was a test failure in
test/junit/scala/collection/mutable/OpenHashMapTest.scala
due to the 2.12 compiler emitting the field backing a
private var differently (with an unmangled name).  Lukas
says the difference is expected, so I just updated the
code in the test.

there were no other merge conflicts.

% git log --decorate --oneline -1 origin/2.11.x | cat
ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
% git log --decorate --oneline -1 origin/2.12.x | cat
c99e53e (HEAD -> 2.12.x, origin/2.12.x) Merge pull request scala#4797 from lrytz/M3-versions
% export MB=$(git merge-base 2.12.x origin/2.11.x)
% echo $MB
42cafa2
% git log --graph --oneline --decorate $MB...origin/2.11.x | cat
*   ae5f0de (origin/HEAD, origin/2.11.x) Merge pull request scala#4791 from performantdata/issue/9508
|\
| * 08dca37 (origin/pull/4791) SI-9508 fix classpaths in Eclipse configuration
* |   fe76232 Merge pull request scala#4798 from performantdata/issue/9513
|\ \
| * | 9c97a7f (origin/pull/4798) Suppress unneeded import.
| * | 30d704d Document some OpenHashMap internal methods.
| * | 1fb32fc SI-9513 decrement "deleted" count in OpenHashMap.put() when slot reused
| |/
* |   14f875c Merge pull request scala#4788 from dk14/patch-1
|\ \
| * | 42acd55 (origin/pull/4788) explicitly specify insertion-order feature in docs
|  /
* |   68ce049 Merge pull request scala#4771 from som-snytt/issue/9492-here
|\ \
| * | f290962 (origin/pull/4771) SI-9492 Line trimming paste
| * | bc3589d SI-9492 REPL paste here doc
|  /
* |   9834fc8 Merge pull request scala#4610 from todesking/spec-implicits-remove-obsolete
|\ \
| * | 46009b1 (origin/pull/4610) Add view/context-bound parameter ordering rule
| * | 6eba305 Spec: Implicit parameters with context/view bound is allowed since 2.10
|  /
* |   d792e35 Merge pull request scala#4789 from janekdb/2.11.x-param-names-predicates-operations
|\ \
| |/
|/|
| * b19a07e (origin/pull/4789) Rename forall, exists and find predicate and operator params.
|/
*   648c7a1 Merge pull request scala#4790 from SethTisue/issue/9501
|\
| * 40d12f1 (origin/pull/4790) SI-9501 link README to Scala Hacker Guide
* e0b5891 Merge pull request scala#4786 from performantdata/issue/9506
* 39acad8 (origin/pull/4786) SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
* 74dc364 SI-9506 suppress Scala IDE-generated files in the Eclipse project dirs
% git merge ae5f0de
Auto-merging src/repl/scala/tools/nsc/interpreter/ILoop.scala
Auto-merging src/library/scala/util/Either.scala
Auto-merging src/library/scala/runtime/Tuple3Zipped.scala
Auto-merging src/library/scala/runtime/Tuple2Zipped.scala
Auto-merging src/library/scala/collection/parallel/ParIterableLike.scala
Auto-merging src/library/scala/collection/immutable/ListMap.scala
Auto-merging src/library/scala/collection/TraversableLike.scala
Auto-merging src/eclipse/test-junit/.classpath
CONFLICT (content): Merge conflict in src/eclipse/test-junit/.classpath
Auto-merging src/eclipse/scaladoc/.classpath
CONFLICT (content): Merge conflict in src/eclipse/scaladoc/.classpath
Auto-merging src/eclipse/scala-compiler/.classpath
Auto-merging src/eclipse/repl/.classpath
CONFLICT (content): Merge conflict in src/eclipse/repl/.classpath
Auto-merging src/eclipse/partest/.classpath
CONFLICT (content): Merge conflict in src/eclipse/partest/.classpath
Auto-merging src/eclipse/interactive/.classpath
Auto-merging README.md
Automatic merge failed; fix conflicts and then commit the result.
% git checkout --ours src/eclipse/partest/.classpath
% git checkout --ours src/eclipse/repl/.classpath
% git checkout --ours src/eclipse/scaladoc/.classpath
% git checkout --ours src/eclipse/test-junit/.classpath
% git add -u
% emacs test/junit/scala/collection/mutable/OpenHashMapTest.scala
% git diff test/junit/scala/collection/mutable/OpenHashMapTest.scala | cat
...
-    val field = m.getClass.getDeclaredField("scala$collection$mutable$OpenHashMap$$deleted")
+    val field = m.getClass.getDeclaredField("deleted")
...
% git add -u
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants