06-02-10 - NiftyP4 Problems

I've switch to NiftyP4, but it has some problems. On the plus side, you can download the code and it just fucking builds right out of the box! That is fucking amazing, kudos to you, I can't remember the last time I downloaded some open source thing and just built it without any hair pulling. One thing to be careful of is you have to uninstall the old install from the original installer, then you install your newly built one from the installer it makes and uninstall it from that installer.

So I'm going to try to fix some things in Nifty. It's annoying difficult to debug an add-in for visual studio, so I might have to use printf debugging. The problems I have are :

1. It randomly doesn't work sometimes. The spawnm p4 process fails. Usually if I shut down devenv and restart it this gets fixed. Need to track this down. "Failed to spawn process: System.ComponentModel.Win32Exception: The system cannot find the file specified"

2. When it can't connect to the p4 server it does hang devenv for too long. Would be nice to fix.

3. Checking out projects and solutions is pretty fucked. I'm sort of inclined to just make it check out all the vcproj's whenever you open a solution, and then revert unchanged when you close. Even just a key to check out all vcproj's in the solution would be handy, though ideally that would be triggered whenever you edit project properties. I guess if I had that I could make a macro that does "checkout all projects; open properties" and put that on my properties keyboard shortcut.

4. The toolbar is constantly querying status if its visible so that it can tell whether to gray out the "p4 edit" buttons or not. That's kind of annoying. I might just make it so it doesn't gray those buttons based on whether the file is in p4 or not.

This is what I use to disconnect projects from source control without fucking everything up : (it's just text substitution to remove the source control lines from the projects).

c:\bat>type KillVcScc.bat
call p4 edit *.sln
call p4 edit *.vcproj
call spawnm killScc *.sln
call spawnm KillSCC *.vcproj
call spawnm_tr tr *.sln SourceCodeControl xxx
call dele *scc

c:\bat>type killscc.bat
if "%1"=="" endbat
call p4 edit %1
call zc -o %1 %1.sav
KillPrefix.exe Scc %1.sav %1.sav2
KillPrefix.exe CanCheckoutShared %1.sav2 %1

No comments:

old rants