jzoss / Git-Source-Control-Provider

Git Source Control Provider is a visual studio plug-in that integrates Git with visual studio solution explorer.
https://github.com/jzoss/Git-Source-Control-Provider
GNU General Public License v2.0
78 stars 26 forks source link

Release 1.5 discussion #17

Closed jzoss closed 8 years ago

jzoss commented 8 years ago

Place to talk about the nightly build

jzoss commented 8 years ago

OK.. so.. I am starting to think the CI build server might not be exactly right.. I get a different size build and It seems to have some bugs that are not present when I build locally. Anyway, I made a release to here https://github.com/jzoss/Git-Source-Control-Provider/releases/tag/1.4.2.36 .. it should be the same but it's not..

Anyway.. Please check out the new build and test it.. It should be fast.. I think it is faster than 1.4.2 .. If you are really bored.. install the CI build first.. check it out.. then the release from github..

EDIT.. I think I fixed the ci build

PureKrome commented 8 years ago

Pew^Pew

(translation: gotcha! will try soon and report back)

PureKrome commented 8 years ago

Still getting VS crashes :/

I think it's when i switch a branch (using TGit from Explorer) to an existing branch .. which has some commits already outstanding.

and then i open the sln (VS is already open) and :hankey: happens.

jzoss commented 8 years ago

Blerg.. OK.. Is that with the c.I. build or the one I posted in the release tab? Anyway.. At least I should be able to recreate that..

PureKrome commented 8 years ago

Release Tab build.

jzoss commented 8 years ago

Ok.. is there anything in the activity log... I can recreate it yet.. I have a few ideas..

jzoss commented 8 years ago

@PureKrome .. OK.. I did some digging.. who would have thought converting from an infinite loop to asynchronous events would be so difficult :) .. anyway.. I have a new build I think it's better.. Anyway before the crashing and stuff.. how was the performance?

PureKrome commented 8 years ago

is there anything in the activity log.

where do i find this?

jzoss commented 8 years ago

%APPDATA%\Microsoft\VisualStudio\Version\ActivityLog.xml. ... But now that I've read about it.. I'm guessing I failed to log to it correctly

teebeeno commented 8 years ago

Just got the latest CI-build, and right off I still notice the bug with the .gitignore Icon is still seperated from the .gitignore "menu"

I reported it as a seperate bug #18

Next I think maybe I figured out why my pending changes window wasn't displaying the changes (reported in #16) I noticed that when I change a file a few seconds later the glyph would change, but nothing would appeared in the pending changes window.

I then noticed that the pending Changes window would show pending changes for my master branch, even though I am currently in mye develop-branch. (which I see if I open the Git Bash window)

I then tried switching branch, but nothing seems to happen. And if I then try to do other stuff in VS I notice it has become very slow and laggy and then it becomes alltogether unresponsive. And finally crashes..

I will check out your build published here under releases and see if the non-CI-version is behaving diffrently

teebeeno commented 8 years ago

Testing the build you linked to in your post 6 hours back (version 1.4.44), I notice the same behaviour.

I just tried changing branch from the pending changes window (still not showing the proper branch) I first had to wait about 30 seconds for the window to dissappear, and then another 15 seconds before I got the "file open in editor changed from outside source, update or ignore.." the editor is pretty slow after the change.. just clicking the tab to view another open file for instance takes about 2 seconds. It used to be instantanious. If I check with the git bash window, the right branch is checked out, however Pending Changes remains at master, no matter what branch I switch to. I disabled GSCP restarted VS, and reopened the solution. Then using git extensions-context-menu checkout branch. It switched in about 1 second, displaying the "file changed outside editor"-message instantly. Re-enabled GSCP and did the same the first switch took about 4-5 seconds, did it again, and waited for 45 seconds before the change-file box appeared. did the same again with git bash console. The console switched instantly, but the file-change-popup appeared after about 45-50 seconds again

(my Solution contains 3 different projects, about 1300 files (including build-directories) and about 270 directories , at least that's what windows explorer tells me ...)

jzoss commented 8 years ago

@PureKrome , @teebee76 --- So.. I stayed up way to late last night.. and spent more time today than I should :) working on a new build. Anyway.. I did not fix the button on the gitignore yet :) Buttons are strangely complicated in VS extensions... Anyway.. checkout the new C.I. build.. I know the branch name is fixed.. I think the performance slow down is fixed now too.. but you never know.. it could show up again..

I'm thinking of adding a new feature.. not sure what you think.. maybe @teebee76 would care more.. "Track selected Repo in Pending changes.. so basiclly what ever file you select in the solution explorer it switch pending changes to what ever repo that is in..

Anyway my brain hurts now.. and the weekend is coming .. I don't get to see Star Wars till Sunday, so I may have time to work on it before hand..

PureKrome commented 8 years ago

Sometimes finding it slow for the Pending Changes file list, to actually realise i have some new files that are changed.

EDIT: And refresh doesn't really, refresh. :/

PureKrome commented 8 years ago

Totally understand that it's holidays, etc: Just recording my experience so far with 1.4.45 - still no files listed under Pending Changes.

jzoss commented 8 years ago

That makes me sad :( .. Pending changes I thought was working for me.. I'm technically on holiday till next week.. But if my wife let's me I may play a bit tonight

PureKrome commented 8 years ago

It's all good - RL/Holidays/Wife > OSS projects.

teebeeno commented 8 years ago

Sorry for staying away or beeing quite for so long, but I had to work on other non c# projects, and while doing a hotfix on one of the c# projects I had to disable the plugin and use sourcetree instead, because the plugin was slowing VS down. still with the 1.4.49 release, I will check more in start of january or maybe tomorrow when I will spend some hours at work. At home with the kid today, just enough time while he's sleeping to log in and write this comment before doing some house cleaning (yuck)

@jzoss did you get to see Star Wars by the way, and did you like it. No spoilers please, because I have yet to see it :) btw after all the bugs are sorted out, I have so feature suggestions for the plugin that exists in sorucetree that I find pretty useful. I'll tell you later when the time is right.... :wink:

wish you guys a happy holliday and a fantastic, productive and bug-free new year :smile:

jzoss commented 8 years ago

@teebee76 no worries :) first star wars was good... Not Empire Strikes Back good.. But better than all the prequels.

So this release is a big clean up.. I rewrote all the git integration stuff trying to make it fast and use less memory. Anyway I'm want to get through this and make it awesome fast. But the big reason I wanted to fix it all was so I could start adding new features.. And truth is, for all you people who have been so helpful and motivating .. I am very inclined to add features :) I just want to make this the best git plugin for visual studio cause I'm a but crazy.

jzoss commented 8 years ago

@teebee76, @PureKrome Question for you guys.. can you describe your visual studio project? I'm trying to track down the slowness.. Does it have multiple repos? How many files-ish? Just trying to reproduce that error :) @PureKrome Pending changes still broken, works for me, but I have an idea.. Also if you could ever give me read only access to the code.. So I could debug.. that might help.. but I don't expect that at all :)

teebeeno commented 8 years ago

sure. I think read access will be difficult, I have the repo on a "local" remote server, but I can summarize the specs for the solution.

The solution contains 3 projects and they are all under 1 git repository.

The folder structure is as follows \solution\ .git \solution\project1 \solution\project2 \solution\project3
\solution\packages (Nuget)

including all binaries and object folders the solution amounts to shockingly 176mb containing 5836 files and 561 folders...

delwing into the projects and excluding the obj and bins reveals the following

proj1: (main project) 452 files
38 folders 9,7mb proj2: 22 files 2 folders 49kb proj3: 20 files 2 folders 59 kb

another thing that strikes me a bit odd when looking in the solutions folder is the size of the solution-user-options file ... it's 13mb in size .. don't really know what it contains and what is the usual size for this kind of file, but if it's only preference settings and the like it shouldn't have to be 13million bytes :)

I will take my computer home today, and log in later to do some commits and changes to look at the performance.

I will let you know if it is still an issue, I will also check to see if there is a newer nightly build I can try out.

jzoss commented 8 years ago

So I had a bit of time to try some thing today.. I THINK.... That I have a good chance that fixed a big performance issue. @teebee76 You should test it and tell me if you see a difference ..

@PureKrome .. I added a new feature that may fix the Pending changes window. Check it out in the options.

capture

I have to think of a better name... but it escapes me right now.. anyway.. it makes sure the pending changes window is always on the repo to the of the currently edited file... So if you have more than one repo, it switches for you basically.

PureKrome commented 8 years ago

So if you have more than one repo, it switches for you basically.

I don't understand this statement.

When I open VS doesn't it just look for the .git folder that should be in the root folder, for the solution?

so if i keep opening up multiple VS's, then each VS instance is referring to a single .git folder / active repo.

Which means having that checkbox option, is not required?

jzoss commented 8 years ago

Sorry... I was really not clear.. I meant to say .. if you have multiple git repo under 1 solution.. I thought you said you had it that way.... but I was totally wrong :) All this does is IF you do have multiple repos.. like a submodule or whatever it handles that.

PureKrome commented 8 years ago

AHHH! i've never had multiple repo's per solution.

i never knew you could, either :confused:

I'll also never do that, too :)

jzoss commented 8 years ago

@PureKrome I also never have done it myself... but I guess some people do.. Sorta a big pain.. I guess if you have a submodule.. Which I sorta hate... Anyway.. I found 2 big bugs.. that could be causing the slow downs.. I can't break pending changes myself... yet... but tell me if it's still not working.

PureKrome commented 8 years ago

new release is up, somewhere?

jzoss commented 8 years ago

@PureKrome Yea... the CI build.. There is a sorta big-ish bug.. Switching can crash Visual Studio.. But I think I just about have it fixed.

jzoss commented 8 years ago

So there is a new C.I. Build.. for some reason the version updating got messed up .. OK I fixed a few more bugs... not there yet but I feel I am actually close to a stable release.. But I think this one is clear of most bugs.. Should faster too.. Reshaper not causing issues yet.. Anyway.. I know the branch name is not updating correctly just yet... The current C.I. build is 1.4.52... bed time..

teebeeno commented 8 years ago

first sorry for not having time to look at this yesterday evening, I got to the computer too late after beeing forced to do some house-cleaning instead. And when I was about to release the new feature I noticed that the external consultant made an error that caused sql-issues to the system, so a bit stressed about that, it beeing a production system and all .. anyways ...

just wanted to say, that in my other solution I have several git-repos, actually one for each project (at least the ones I want source-controlled. Small ones I don't bother.. Benefits as I see it is that you can have easily have CI for each project and have them publish seperately ... The solution is a bunch of console-tools that do various stuff, and some depend on each other, so when in one solution I don't have to bother opening several VS to do changes to the libraries as well as the console apps. .. At least this was before I started building nuget-packages of the libraries to my local nuget-folder and doing package-update...

Although I am still "lazy", so I like having them in one solution to avoid filling my screens with different Visual Studio windows :)

I will (after the darned consultant fixes the error they made) have time to get the latest version and see if it improves the performance, I will also open my libraries/console-app-solution to see how that checkbox works.

teebeeno commented 8 years ago

yeah, and @jzoss , is there a way to make that CI-link sticky or something? I always have a hard time finding it :D

jzoss commented 8 years ago

Yea.. It's in the read me on the front page.. But I'll find a better way later.. Anyway check out the new feature then.. You may like it :) OK very late.. This release had turned out to be much more complicated than I thought..

teebeeno commented 8 years ago

I'm back at work after about 4 hours of sleep I guess, and my son was crying one of them... I hope you will sleep better, and keep up the good work :+1: I will look for the link again :)

jzoss commented 8 years ago

Yes.. My 3.5 year old boy and 2 year old girl both have a cold... At least they are sleeping now.. I love when contractors give your more work.. Don't you :)

jzoss commented 8 years ago

Hey guy.. .got a bit more time to work on it.. New C.I. build is up (Just for you @teebee76 https://goo.gl/dF48Tp ) Anyway.. Threading is moving along. Starting to move faster.. It uses a lot less memory now.. I need to clean up a few more little things.. like the .gitignore bug.. and I want to clean up the filewatcher just a bit.. BUT.. I think I am close to a beta 1 build..

PureKrome commented 8 years ago

Nice work :) keep up the effort!

teebeeno commented 8 years ago

Been sick a couple of days previous release i checked out worked a øot better for me, some things i noticed. I will check out this build eagerly tomorrow morning or later tonight after bedtime if i get too curious :)

Sent from my Samsung device

-------- Original message -------- From: jzoss notifications@github.com Date: 05/01/2016 23:32 (GMT+01:00) To: jzoss/Git-Source-Control-Provider Git-Source-Control-Provider@noreply.github.com Cc: Trond Børresen trond@platekompaniet.no Subject: Re: [Git-Source-Control-Provider] 1.4.3 Prerelease Build Crashes and Issues (#17)

Hey guy.. .got a bit more time to work on it.. New C.I. build is up (Just for you @teebee76https://github.com/teebee76 https://goo.gl/dF48Tp ) Anyway.. Threading is moving along. Starting to move faster.. It uses a lot less memory now.. I need to clean up a few more little things.. like the .gitignore bug.. and I want to clean up the filewatcher just a bit.. BUT.. I think I am close to a beta 1 build..

Reply to this email directly or view it on GitHubhttps://github.com/jzoss/Git-Source-Control-Provider/issues/17#issuecomment-169155781.

jzoss commented 8 years ago

@teebee76 hope you feel better. Did you mean the latest build worked a lot better for you? That would be sweet. Anyway.. I was about to push the latest build from C.I. to an actual pre-release.. 1.5 beta 1.. I fixed a few more little bugs.

teebeeno commented 8 years ago

I haven't tried the latest yet, the version i have on my computer was the one from 2 days ago or something like that, when we last "spoke" on github :) your kids had the flu or something.. When my kid is tucked in I will fire up the computer to get the newest :)

Sent from my Samsung device

-------- Original message -------- From: jzoss notifications@github.com Date: 07/01/2016 18:31 (GMT+01:00) To: jzoss/Git-Source-Control-Provider Git-Source-Control-Provider@noreply.github.com Cc: Trond Børresen trond@platekompaniet.no Subject: Re: [Git-Source-Control-Provider] 1.4.3 Prerelease Build Crashes and Issues (#17)

@teebee76https://github.com/teebee76 hope you feel better. Did you mean the latest build worked a lot better for you? That would be sweet. Anyway.. I was about to push the latest build from C.I. to an actual pre-release.. 1.5 beta 1.. I fixed a few more little bugs.

Reply to this email directly or view it on GitHubhttps://github.com/jzoss/Git-Source-Control-Provider/issues/17#issuecomment-169746617.

jzoss commented 8 years ago

@teebee76 Kids just a cold :) I meant to ask the last version you tried worked better than the previous versions? That was the first to fix the resharper bug... I think :)

PureKrome commented 8 years ago

:balloon:

jzoss commented 8 years ago

@PureKrome -- The resharper bug was not one that we even had entered a bug.. but it had be noticed a by a few people.. Basically when using both the git plugin and resharper visual studio would get really slow. There was a few causes to this, but I think the main cause I THINK was both plugins were using the on visual studio idle event to process ui state. The git plugin no longer uses it.. Also much of the work the git plugin was doing was blocking ui thread.. and I worked hard to clean all that up and do much of the work on background threads and only process on the UI thread when needed. Now.. this is one of those... crappy bugs.. that it's hard to know for sure if you have fixed.. because just because it's not happening as much now, does not mean its' 100%.. Hard to prove a negative..

Oh and version 1.5 .. that's only because the C.I. build really wanted to do the versions that way.. and I figured instead of fighting it, I'd just go with it...

jzoss commented 8 years ago

As promised .. Beta 1.. Might be a little rough around the edges.. but.. I think it's the best release yet.. It's fast, uses less memory, does not throw a bunch of exceptions :+1: So please break it :) tell me what you think.

Link - https://goo.gl/hqh9ow

PureKrome commented 8 years ago

installed at now testing... :+1:

teebeeno commented 8 years ago

Ooooh so excited right now! But at the moment my girlfriends using my computer, and it's a quarter to midnight, so I guess I'll just have to dream about the wonderful new world og git source control provider until I'm at work tomorrow. And I forgot to mention earlier that I too use ReSharper. So the slowdown on my system was probably due to ReSharper not the structure of my solution/projects.

Let you know more tomorrow

Sent from my Samsung device

-------- Original message -------- From: Pure Krome notifications@github.com Date: 07/01/2016 23:27 (GMT+01:00) To: jzoss/Git-Source-Control-Provider Git-Source-Control-Provider@noreply.github.com Cc: Trond Børresen trond@platekompaniet.no Subject: Re: [Git-Source-Control-Provider] Release 1.5 discussion (#17)

installed at now testing... [:+1:]

Reply to this email directly or view it on GitHubhttps://github.com/jzoss/Git-Source-Control-Provider/issues/17#issuecomment-169827005.

jzoss commented 8 years ago

@teebee76 Tell me what you think.. Glad you are excited.. I have spent wayyyyyy to much time on this release especially for something I don't get paid :) But I admit it's fun. I work on mostly on internal software so I don't do much code that people actually see. Anyway @teebee76 and @PureKrome you guys helped a lot :) Thanks.. And to reward you.. Once I get a few minutes.. I'm going to ask for your opinion on a few things code wise .. I could use someone else ideas on a few things :) but now.. Fallout 4

PureKrome commented 8 years ago

any code reviews required? just post links to the GH code and we can review for you.

jzoss commented 8 years ago

You never know.. Might have lots of code for you to review.. Keep you busy.. Truth is I'm not exactly proud of the code.. It was is rough shape when I got it.. And while I think I've made it better.. It's still has that good old code smell. Lots of unused code that needs removing.. Fun times!

teebeeno commented 8 years ago

Finally back at work with a little spare time to do some gscp-testing :) I notice the 2 latest builds failed, so I guess the last running is the 1.4.58 ? I'll have a look and report back with my findings...

teebeeno commented 8 years ago

Somethings I've noticed are reported below, I made new issues for a couple of them, but the rest I'm not actually sure that are bugs, so I skipped the issue-creation until discussed.

In the pending changes window, the branch used to be in parentheses like this: "Pending changes (develop)" Personally I like it better this way, because it makes it more distinct and visible, not part of the static title for the window that today will show: "Pending changes develop"

The pending changes window is now lightning fast!!! Really good job! Have not noticed any of the delay I did using an earlier version, no sign of slowdown after using it for a while either. ... but it seems Solution Explorer glyphs are not updating, or does so very rarely. #25

If I turn on the "Pending Changes Filter" in the Solution Explorer, it displays only the correct changed files, although the glyphs will on some of the files show no changes. If I undo changes to a file, and save to the originally checked-in-state, it will not dissapear from the pending changes filter unless I turn it off and back on again... Not sure if the Solution Explorer was autoupdating before, because I was not aware of this "pending changes filter" until today. It sure would be nice if it did update automatically though.

Background-color has gone missing again... #24

Not sure if I remember correctly, but I think that if I doubleclicked a specific line of addition/deletion in the pending changes window the editor would open the file, and take me to this specific line of code? Not a biggie, but would be nice to have that back (if it was there in the first place, otherwise put it in the future-release-suggestion-box)

Looking forward to the next CI-build :)

PureKrome commented 8 years ago

Just some quick feedback. So far it feels way more stable/usable.