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

Symlinks to directories show as changed #119

Open
dermojo opened this issue Jan 7, 2020 · 18 comments
Open

Symlinks to directories show as changed #119

dermojo opened this issue Jan 7, 2020 · 18 comments

Comments

@dermojo
Copy link
Contributor

dermojo commented Jan 7, 2020

Hi,

This is similar to #84: The problem seems to be fixed for the project view, but I still see this issue in the Team Synchronizing perspective (Synchronize view).
Is this something that can be adapted in the plugin?

Thanks!
Daniel

@ablotz
Copy link

ablotz commented Jan 10, 2020

This is absolutely true and the main reason why I always used Subversive by now. Unfortunately this project seemed to be orphaned and the plugin doesn't really work with the current Eclipse 4.13 version. So I have to use Subclipse again. It's great to see that the issue is meanwhile fixed within the Project Views. But I use the Synchronize View a lot and our project uses some more symlinks what results in ~10K outgoing changes per project / checked out branch. So you see that when working on n several branches, n*10K outgoing changes will be reported by the Synchronize view. This isn't only an issue when trying to identify the real outgoing changes, but also performance wise. The heap of my Eclipse with only four project rises up to 4G, which was less than the half with Subversive. It would be very very helpful that this issue would also be fixed for the Synchronize View as soon as possible. Upvote!

Alan

@markphip
Copy link
Contributor

Those of us that have historically worked on Subclipse rarely have time to do so anymore and given that we do not use symlinks ourselves this is not one we would ever pick up when we do have time. So this will only get fixed if a PR is submitted and people want to evaluate and test it.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 13, 2020

Thanks for the info, although that's sad to hear. We just switched from Subversive to Subclipse because they have an open bug that's waiting to be fixed and makes using Subversive impossible for us...
My Java days are long gone, but I'll try to find the time to look into this myself.

@ablotz
Copy link

ablotz commented Jan 13, 2020

Well this would be great if you'll find a solution @dermojo. Interesting that you also switched from Subversive to Subclipse. I've never done any Eclipse development and Java lies also many years behind me, so I wouldn't be able to provide a fix for this in any near future.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 14, 2020

@ablotz The code looks readable, and I can set up a test workspace, so this should be doable. I just need to figure out, what is called/used when. This might take a bit time.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 14, 2020

@markphip : I created a PR, any feedback is highly welcome!

@markphip
Copy link
Contributor

A build with your proposed fix is available on an update site here: https://dl.bintray.com/subclipse/snapshots/subclipse/master-2020 Would be good if you could all run it for a while and see if the problem is fixed but also that you do not see any possible regressions. I have some concerns it could slow things down a bit.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 15, 2020

Thanks. I share your concerns, it's additional checking for every file in the project. Some "caching" would be great, but cache invalidation is hard...
Will try the build.

@ablotz
Copy link

ablotz commented Jan 15, 2020

Looks good at first sight. I do not see any performance issues at the moment, but sure caching wouldn't be bad. The advantage of this implementation opposed to Subversive is, that now also dead symlinks are visible in the Synchronize View, which I had the chance to fix in our project ;)

@markphip
Copy link
Contributor

Caches are tough to get right, for now think you should just use this version for a while and get a sense for what you see. No point in complicating it yet. If the behavior seems correct then we can just see if you start thinking performance has regressed.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 15, 2020

Also no problems so far. I'l set up a larger project to get a feeling for the performance.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 18, 2020

I tested some more with an artificial "larger" project (>4000 files). Even with ~3000 changes, I didn't notice any kind of lag or delay. I'd happily use it.
I did however notice that changes that I make outside of Eclipse aren't picked up after hitting "Refresh" on the project, only after running "Team" -> "Refresh/Cleanup". But I don't think this is related to this change (IIRC I already noticed this before).

@markphip
Copy link
Contributor

Subclipse only knows a file is changed when Eclipse tells it. By default Eclipse is not aware of any changes you make outside the IDE. There is a preference you can enable where Eclipse will watch the filesystem and "Refresh resources automatically". I would not necessarily recommend this though and just use the Team > Refresh option when needed as you discovered.

@dermojo
Copy link
Contributor Author

dermojo commented Jan 18, 2020

Thanks Mark, good to know. I'm surprised that Project->Refresh is different from Team->Refresh, but that's a topic for another day ;-)

@markphip
Copy link
Contributor

It was so long ago now that I do not remember the details but it came about with SVN 1.7 and the new working copy format. Once all of the .svn folders were removed from inside the working copy it changed something about our ability to receive some of those notifications when Eclipse does the Refresh so we had to add our own Refresh to trigger the updating of the cache.

@dermojo
Copy link
Contributor Author

dermojo commented Feb 10, 2020

Quick update: still looks fine (I'm still using the version everyday)

@ablotz
Copy link

ablotz commented Feb 10, 2020

Confirming this. I'm using it everyday too.

@dermojo
Copy link
Contributor Author

dermojo commented Feb 19, 2020

@markphip IMHO you can close this ticket when the version is released (unless you have any doubts/concerns)

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

No branches or pull requests

3 participants