Git is "mad" today...

When I do a “git checkout master” I now see this:

error: The following untracked working tree files would be overwritten by checkout:
        .gitignore
        CHANGES
        LICENSE
        Makefile
        README
        dist/linux/VASSAL.sh
        dist/linux/vassal.spec
        dist/macosx/.DS_Store
        dist/macosx/Info.plist
        dist/macosx/PkgInfo
        dist/macosx/VASSAL.icns
        dist/macosx/VASSAL.sh
        dist/macosx/background.png
        dist/macosx/background.svg
        dist/windows/VASSAL.bat
        dist/windows/VASSAL.ico
        dist/windows/VASSAL.l4j.xml
        dist/windows/nsis/installer.nsi
        doc/ReferenceManual/ActionButton.htm
        (long list of more stuff and then finally it says "Aborted")

There’s a big long list and then it says “Aborted”.

After some googling, “git checkout -f master” got past that problem. Possibly a footnote for the “git guide”, if this is something likely to come up frequently as opposed to now when I know the tree just got florped around some.

On the other hand “master” branch no longer builds for me, though only one file seems to be a problem:

Every line in “info.java” is now an error.

(FWIW, I tried a few rounds of the “Project Clean” raindance, no joy so far)

Hmmm… what happened there :open_mouth:

If things are broken too much, a clean git clone github.com/my/repository , a new and clean Eclipse workspace, Import Maven project etc, is often faster than trying to fix a messy git repo and/or broken Eclipse workspace.

Pro tip: since Eclipse workspaces tend to break every now and then, it makes sense to create a clean workspace, perform the main settings (setup Maven, close unnecessary views, open often used views), then close that workspace and make a backup copy of it.

Everything was working last night. No changes on my end. Today got going and said “well, time to refresh master” and it was all downhill from there.

Apparently there is a “New, Important, and Previously-Unadvertised Step” I need in my workflow:

  • In Eclipse, right click the main project tree entry
  • Go down to “Maven” submenu
  • Select “Update project…”

PROBLEMS WENT AWAY.

Yes, the Maven → Update project…, alternatively alt+f5. Do this regularly, especially when there are build path errors (cannot find class blabla).

Although these untracked files suggest it’s a whole different problem. Either way, if you can’t fix it within 5-10 minutes, don’t bother, just start from scratch. All your commits should be safe in your GitHub repo anyways so you have nothing to lose.

I’m still crossing my fingers hoping I’ll be able to keep my old Eclipse project limping along for at least a few months, because it also has all my old custom classes (Java 8) for my various modules in it, that I need to be able to maintain at least for the time being. I think the moment that becomes impossible will be the moment to take the IntelliJ plunge :slight_smile: (Uh oh, jinxed it, now you’re gonna be rooting for that…)

It’s safer to separate the custom classes, the vassal code, and the Eclipse workspace. Eclipse workspaces tend to break every now and then.

Ideally you should have something like this:

C:\Users\me\vassalstuff\custom-module-classes
C:\Users\me\vassalstuff\vassal (your clone of the vassal repo from GitHub)
C:\Users\me\vassalstuff\vassal-eclipse-workspace

And in the Eclipse workspace, you import both the custom-module-classes and the vassal repo (Import from filesystem / Import Maven project from filesystem).

This would also allow you to use git locally to track changes of your custom classes:

cd C:\Users\me\vassalstuff\custom-module-classes
git init . (now it's a fully fledged git repo)
git add *
git commit -m "first commit"

One possibly-minor detail is… I’ve noticed when I’m running my repo version of Vassal now, that the “Help” buttons no longer work in e.g. the Editor dialogs. They fail to find “ReferenceManual” htm files – and since I noticed earlier that git seemed to have either moved this or stopped tracking it, then I figure that might be related. Anyway it’s not a big deal since I don’t NEED the Help buttons to strictly function when I’m running a debug version, but in case it is symptom of something bigger (like if they’re about to break on the release version) then thought I’d report.

This should work, the /doc/ReferenceManual/*.htm files should be there, they were not moved, you see them here in the master branch: github.com/vassalengine/vassal/ … enceManual

I just tried my local master and these help files open in the browser.

Although I do have found a bug by accident, one button is looking for /doc/ReferenceManual/GamePieceLayout.htm but there is no such file, there is a /doc/ReferenceManual/GamePieceLayouts.htm with an s at the end. That’s the one that is probably needed.

Somehow when I’m running the Editor from the IDE (so with --standalone and stuff), it is trying to pull from the path:

<where-module-I’m-editing-is-located>/doc/ReferenceManual

instead of:

/doc/ReferenceManual

Where the files are actually located.

Check that your working directory for that run/debug configuration is set to the project root (the default), these files are resolved in relation to that directory:

[attachment=0]Screenshot from 2020-06-25 23-57-05.png[/attachment]

“Aha!” :slight_smile: