Modified:
/trunk/NiftyPerforce/P4Operations.cs
/trunk/NiftyPerforceSetup/NiftyPerforceSetup.vdproj
/trunk/NiftySolutionSetup/NiftySolutionSetup.vdproj
=======================================
--- /trunk/NiftyPerforce/P4Operations.cs Wed Oct 28 23:25:57 2009
+++ /trunk/NiftyPerforce/P4Operations.cs Wed Oct 28 23:51:50 2009
@@ -16,6 +16,7 @@
private static bool g_p4installed = false;
private static bool g_p4wininstalled = false;
private static bool g_p4vinstalled = false;
+ private static bool g_p4customdiff = false;
public static bool IntegrateFile(OutputWindowPane output, string
filename, string oldName)
{
@@ -82,7 +83,18 @@
if(g_p4wininstalled)
return ScheduleRunCommand(output, "p4win.exe", GetUserInfoString()
+ " -D \"" + filename + "\"", System.IO.Path.GetDirectoryName(filename));
if(g_p4installed)
- return ScheduleRunCommand(output, "p4.exe", GetUserInfoString() + "
diff -du \"" + filename + "\"", System.IO.Path.GetDirectoryName(filename));
+ {
+ // Let's figure out if the user has some custom diff tool installed.
Then we just send whatever we have without any fancy options.
+ if(g_p4customdiff)
+ {
+ return ScheduleRunCommand(output, "p4.exe", GetUserInfoString() + "
diff \"" + filename + "\"", System.IO.Path.GetDirectoryName(filename));
+ }
+ else
+ {
+ // Otherwise let's show a unified diff in the outputpane.
+ return ScheduleRunCommand(output, "p4.exe", GetUserInfoString() + "
diff -du \"" + filename + "\"", System.IO.Path.GetDirectoryName(filename));
+ }
+ }
return NotifyUser("could not find p4win.exe/p4.exe installed in
perforce directory");
}
@@ -317,6 +329,27 @@
// Should never happen...
return fullpath;
}
+
+ public static string GetRegistryValue(string key, string value, bool
global)
+ {
+ Microsoft.Win32.RegistryKey hklm =
Microsoft.Win32.Registry.LocalMachine;
+ if( !global )
+ hklm = Microsoft.Win32.Registry.CurrentUser;
+ hklm = hklm.OpenSubKey(key);
+ if(null == hklm)
+ {
+ Log.Error("Could not find registry key " + key);
+ return null;
+ }
+ Object regValue = hklm.GetValue(value);
+ if(null == regValue)
+ {
+ Log.Error("Could not find registry value " + value + " in " + key);
+ return null;
+ }
+
+ return (string)regValue;
+ }
public static void CheckInstalledFiles()
{
@@ -324,24 +357,16 @@
g_p4installed = false;
g_p4wininstalled = false;
g_p4vinstalled = false;
-
- // First find the perforce directory.
- Microsoft.Win32.RegistryKey hklm =
Microsoft.Win32.Registry.LocalMachine;
- hklm = hklm.OpenSubKey("SOFTWARE\\Perforce\\Environment");
- if(null == hklm)
+ g_p4customdiff = false;
+
+ string installRoot =
GetRegistryValue("SOFTWARE\\Perforce\\Environment", "P4INSTROOT", true); ;
+
+ // TODO: We might want to check for older versions of perforce here as
well...
+ if(null == installRoot)
{
Log.Error("Could not find any peforce installation in the
registry!!!");
return;
}
- Object regValue = hklm.GetValue("P4INSTROOT");
- if(null == regValue)
- {
- Log.Error("Could not find any peforce installation in the
registry!!!");
- return;
- }
-
- string installRoot = (string)regValue;
-
Log.Info("Found perforce installation at {0}", installRoot);
if(System.IO.File.Exists(System.IO.Path.Combine(installRoot, "p4.exe")))
@@ -359,6 +384,23 @@
g_p4vinstalled = true;
Log.Info("Found p4v.exe");
}
+
+ string p4diff = System.Environment.GetEnvironmentVariable("P4DIFF");
+ if(null != p4diff)
+ {
+ g_p4customdiff = true;
+ }
+
+ p4diff = GetRegistryValue("SOFTWARE\\Perforce\\Environment", "P4DIFF",
true);
+ if(null != p4diff && p4diff.Length > 0)
+ {
+ g_p4customdiff = true;
+ }
+ p4diff = GetRegistryValue("SOFTWARE\\Perforce\\Environment", "P4DIFF",
false);
+ if(null != p4diff && p4diff.Length > 0)
+ {
+ g_p4customdiff = true;
+ }
}
private static bool NotifyUser(string message)
=======================================
--- /trunk/NiftyPerforceSetup/NiftyPerforceSetup.vdproj Tue Jul 7 22:51:01
2009
+++ /trunk/NiftyPerforceSetup/NiftyPerforceSetup.vdproj Wed Oct 28 23:51:50
2009
@@ -28,7 +28,7 @@
"Entry"
{
"MsmKey" = "8:_054A7F82962E7ADC35BE410250C22D57"
- "OwnerKey" = "8:_E4E75D29BC3802332336E5A557BFC706"
+ "OwnerKey" = "8:_5EFB0BFCFC884E7513929F9647BE8549"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -52,7 +52,7 @@
"Entry"
{
"MsmKey" = "8:_13F289111C994987D025DB712FA3B67B"
- "OwnerKey" = "8:_E4E75D29BC3802332336E5A557BFC706"
+ "OwnerKey" = "8:_5EFB0BFCFC884E7513929F9647BE8549"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -73,6 +73,12 @@
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
+ "Entry"
+ {
+ "MsmKey" = "8:_5EFB0BFCFC884E7513929F9647BE8549"
+ "OwnerKey" = "8:_0AD97169B6054A2F81B24FCEADCD2F28"
+ "MsmSig" = "8:_UNDEFINED"
+ }
"Entry"
{
"MsmKey" = "8:_67E60574DFE556D4A6BD461A2E42E2A8"
@@ -94,7 +100,7 @@
"Entry"
{
"MsmKey" = "8:_8AA0DF9B4C619AB18567F35EC332EF52"
- "OwnerKey" = "8:_E4E75D29BC3802332336E5A557BFC706"
+ "OwnerKey" = "8:_5EFB0BFCFC884E7513929F9647BE8549"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -121,12 +127,6 @@
"OwnerKey" = "8:_054A7F82962E7ADC35BE410250C22D57"
"MsmSig" = "8:_UNDEFINED"
}
- "Entry"
- {
- "MsmKey" = "8:_E4E75D29BC3802332336E5A557BFC706"
- "OwnerKey" = "8:_0AD97169B6054A2F81B24FCEADCD2F28"
- "MsmSig" = "8:_UNDEFINED"
- }
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
@@ -154,7 +154,7 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_E4E75D29BC3802332336E5A557BFC706"
+ "OwnerKey" = "8:_5EFB0BFCFC884E7513929F9647BE8549"
"MsmSig" = "8:_UNDEFINED"
}
}
@@ -417,6 +417,37 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5EFB0BFCFC884E7513929F9647BE8549"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:AuroraCore, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL"
+ "ScatterAssemblies"
+ {
+ "_5EFB0BFCFC884E7513929F9647BE8549"
+ {
+ "Name" = "8:AuroraCore.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:AuroraCore.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_E691877D460E426F9157CFEA6798ADAA"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_67E60574DFE556D4A6BD461A2E42E2A8"
{
"SourcePath" = "8:vsmso.olb"
@@ -579,37 +610,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E4E75D29BC3802332336E5A557BFC706"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:AuroraCore, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_E4E75D29BC3802332336E5A557BFC706"
- {
- "Name" = "8:AuroraCore.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:AuroraCore.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_E691877D460E426F9157CFEA6798ADAA"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
}
"FileType"
{
@@ -666,14 +666,14 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:NiftyPerforce"
- "ProductCode" = "8:{89542DA5-925D-4DA8-AACC-B24D0116ABC6}"
- "PackageCode" = "8:{BF692B61-EF70-40ED-AEB7-5D9487E27FFC}"
+ "ProductCode" = "8:{1FCEE6CC-B2E3-481E-8DD8-15BE12CAC6A1}"
+ "PackageCode" = "8:{1C1F2579-A9E3-4E05-AAA4-86BDA5D8B9B4}"
"UpgradeCode" = "8:{27EC1857-F66F-4B1B-BBE5-1FC273BE51FB}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:FALSE"
"InstallAllUsers" = "11:FALSE"
- "ProductVersion" = "8:1.2.2"
+ "ProductVersion" = "8:1.2.3"
"Manufacturer" = "8:Aurora Development"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:http://code.google.com/p/niftyplugins/"
@@ -1130,7 +1130,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0AD97169B6054A2F81B24FCEADCD2F28"
{
- "SourcePath"
= "8:..\\NiftyPerforce\\obj\\Release\\NiftyPerforce.dll"
+ "SourcePath"
= "8:..\\NiftyPerforce\\obj\\Debug\\NiftyPerforce.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_E691877D460E426F9157CFEA6798ADAA"
=======================================
--- /trunk/NiftySolutionSetup/NiftySolutionSetup.vdproj Tue Jul 7 22:51:01
2009
+++ /trunk/NiftySolutionSetup/NiftySolutionSetup.vdproj Wed Oct 28 23:51:50
2009
@@ -28,7 +28,7 @@
"Entry"
{
"MsmKey" = "8:_277D36809BE19BA6E98DC41F58A05BFB"
- "OwnerKey" = "8:_7424DD118E50CD8803642EC6FF6293E1"
+ "OwnerKey" = "8:_C70548E73D4FA9E24614AC8F0739ACE0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -61,12 +61,6 @@
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
- "Entry"
- {
- "MsmKey" = "8:_7424DD118E50CD8803642EC6FF6293E1"
- "OwnerKey" = "8:_1CECD4FA1A23475A939BEF71746825E4"
- "MsmSig" = "8:_UNDEFINED"
- }
"Entry"
{
"MsmKey" = "8:_776CEEFF2C4048F98CCA86E39A9B35CF"
@@ -94,7 +88,7 @@
"Entry"
{
"MsmKey" = "8:_8A247F755692CA9A175983572E332E63"
- "OwnerKey" = "8:_7424DD118E50CD8803642EC6FF6293E1"
+ "OwnerKey" = "8:_C70548E73D4FA9E24614AC8F0739ACE0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -118,9 +112,15 @@
"Entry"
{
"MsmKey" = "8:_C4FEA7FAB3BB70826237FB0262904AF2"
- "OwnerKey" = "8:_7424DD118E50CD8803642EC6FF6293E1"
+ "OwnerKey" = "8:_C70548E73D4FA9E24614AC8F0739ACE0"
"MsmSig" = "8:_UNDEFINED"
}
+ "Entry"
+ {
+ "MsmKey" = "8:_C70548E73D4FA9E24614AC8F0739ACE0"
+ "OwnerKey" = "8:_1CECD4FA1A23475A939BEF71746825E4"
+ "MsmSig" = "8:_UNDEFINED"
+ }
"Entry"
{
"MsmKey" = "8:_E87A8339D6FB457480D6538B125F33EF"
@@ -154,7 +154,7 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_7424DD118E50CD8803642EC6FF6293E1"
+ "OwnerKey" = "8:_C70548E73D4FA9E24614AC8F0739ACE0"
"MsmSig" = "8:_UNDEFINED"
}
}
@@ -381,37 +381,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7424DD118E50CD8803642EC6FF6293E1"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:AuroraCore, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_7424DD118E50CD8803642EC6FF6293E1"
- {
- "Name" = "8:AuroraCore.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:AuroraCore.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_968800FC892341F6AF787DFA7B8D0710"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_776CEEFF2C4048F98CCA86E39A9B35CF"
{
"SourcePath" = "8:UninstallNiftySolution.vbs"
@@ -574,6 +543,37 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C70548E73D4FA9E24614AC8F0739ACE0"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:AuroraCore, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL"
+ "ScatterAssemblies"
+ {
+ "_C70548E73D4FA9E24614AC8F0739ACE0"
+ {
+ "Name" = "8:AuroraCore.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:AuroraCore.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_968800FC892341F6AF787DFA7B8D0710"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E87A8339D6FB457480D6538B125F33EF"
{
"AssemblyRegister" = "3:1"
@@ -661,14 +661,14 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:NiftySolution"
- "ProductCode" = "8:{EC84E866-6A22-4F0A-82C1-EE5BED8913C1}"
- "PackageCode" = "8:{C86DDA7C-50EF-4A3E-AEFF-FAAE45D9A701}"
+ "ProductCode" = "8:{409A923F-2D80-4277-B3A9-4119036D483A}"
+ "PackageCode" = "8:{0638169D-1ABC-4522-99A4-48A4938B7232}"
"UpgradeCode" = "8:{F24AA19A-57F0-4280-9EA2-9C246A97640D}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
- "ProductVersion" = "8:1.2.2"
+ "ProductVersion" = "8:1.2.3"
"Manufacturer" = "8:Aurora Development"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:http://code.google.com/p/niftyplugins/"
@@ -1125,7 +1125,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1CECD4FA1A23475A939BEF71746825E4"
{
- "SourcePath"
= "8:..\\NiftySolution\\obj\\Release\\NiftySolution.dll"
+ "SourcePath"
= "8:..\\NiftySolution\\obj\\Debug\\NiftySolution.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_968800FC892341F6AF787DFA7B8D0710"