diff --git a/ApplicationController.m b/ApplicationController.m index d964bf6..c6a4ba1 100644 --- a/ApplicationController.m +++ b/ApplicationController.m @@ -17,6 +17,7 @@ #import "PBNSURLPathUserDefaultsTransfomer.h" #import "PBGitDefaults.h" #import "PBCloneRepositoryPanel.h" +#import "Sparkle/SUUpdater.h" @implementation ApplicationController @synthesize cliProxy; @@ -65,6 +66,7 @@ - (void)applicationDidFinishLaunching:(NSNotification*)notification { + [[SUUpdater sharedUpdater] setSendsSystemProfile:YES]; [self registerServices]; BOOL hasOpenedDocuments = NO; diff --git a/DBPrefsWindowController.m b/DBPrefsWindowController.m index 58b4d6b..3111311 100644 --- a/DBPrefsWindowController.m +++ b/DBPrefsWindowController.m @@ -74,13 +74,13 @@ static DBPrefsWindowController *_sharedPrefsWindowController = nil; // Create a new window to display the preference views. // If the developer attached a window to this controller // in Interface Builder, it gets replaced with this one. - NSWindow *window = [[[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,1000,1000) + NSPanel *panel = [[[NSPanel alloc] initWithContentRect:NSMakeRect(0,0,1000,1000) styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask) backing:NSBackingStoreBuffered defer:YES] autorelease]; - [self setWindow:window]; + [self setWindow:panel]; contentSubview = [[[NSView alloc] initWithFrame:[[[self window] contentView] frame]] autorelease]; [contentSubview setAutoresizingMask:(NSViewMinYMargin | NSViewWidthSizable)]; [[[self window] contentView] addSubview:contentSubview]; diff --git a/Documentation/ReleaseNotes/v0.7.1.txt b/Documentation/ReleaseNotes/v0.7.1.txt new file mode 100644 index 0000000..bb1e363 --- /dev/null +++ b/Documentation/ReleaseNotes/v0.7.1.txt @@ -0,0 +1,12 @@ +v0.7.1 +=== + +This is a maintenance release. The following bugs have been fixed: + +* The Tree View now tries to be smart about displaying binaries (Johannes) +* GitX now correctly tries to require git v1.6.0 or higher (Pieter) +* Amending commits if the author name has UTF-8 multi-byte characters now correctly works (Pieter) +* GitX no longer stalls for large periods when refreshing in the commit view (Johannes, Pieter) +* The history view tries to be less crashy when loading commits + +In addition, the Sparkle framework has been updated so that future updates will be signed diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 34a4edb..c0f7d62 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -408,6 +408,7 @@ F5E92A220E88569500056E75 /* new_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = new_file.png; path = Images/new_file.png; sourceTree = ""; }; F5EF8C8C0E9D4A5D0050906B /* PBWebController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBWebController.h; sourceTree = ""; }; F5EF8C8D0E9D4A5D0050906B /* PBWebController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBWebController.m; sourceTree = ""; }; + F5F7D0641062E7940072C81C /* UpdateKey.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = UpdateKey.pem; sourceTree = ""; }; F5FC41F20EBCBD4300191D80 /* PBGitXProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitXProtocol.h; sourceTree = ""; }; F5FC41F30EBCBD4300191D80 /* PBGitXProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitXProtocol.m; sourceTree = ""; }; F5FC43C30EBD050800191D80 /* PBRefContextDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBRefContextDelegate.h; sourceTree = ""; }; @@ -557,6 +558,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + F5F7D0641062E7940072C81C /* UpdateKey.pem */, F50A41130EBB872D00208746 /* Widgets */, 47DBDB920E94F47200671A1E /* Preference Icons */, D26DC6440E782C9000C777B2 /* gitx.icns */, @@ -960,7 +962,6 @@ isa = PBXNativeTarget; buildConfigurationList = F5886A150ED5D33E0066E74C /* Build configuration list for PBXNativeTarget "SpeedTest" */; buildPhases = ( - F5886A0C0ED5D33D0066E74C /* Resources */, F5886A0D0ED5D33D0066E74C /* Sources */, F5886A0E0ED5D33D0066E74C /* Frameworks */, ); @@ -1050,13 +1051,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F5886A0C0ED5D33D0066E74C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ diff --git a/Info.plist b/Info.plist index 8aa62a7..b7a8de4 100644 --- a/Info.plist +++ b/Info.plist @@ -2,6 +2,8 @@ + SUPublicDSAKeyFile + UpdateKey.pem CFBundleDevelopmentRegion English CFBundleName @@ -49,7 +51,7 @@ CFBundleSignature ???? CFBundleVersion - LONG_VERSION + SHORT_VERSION CFBundleGitVersion GIT_VERSION CFBundleShortVersionString diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index 7d35892..e9559c8 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -349,6 +349,13 @@ [self updateKeys]; } +- (void)viewLoaded +{ + float position = [[NSUserDefaults standardUserDefaults] floatForKey:@"PBGitSplitViewPosition"]; + if (position) + [historySplitView setPosition:position ofDividerAtIndex:0]; +} + - (NSResponder *)firstResponder; { return commitList; @@ -403,6 +410,9 @@ - (void) removeView { + float position = [[[historySplitView subviews] objectAtIndex:0] frame].size.height; + [[NSUserDefaults standardUserDefaults] setFloat:position forKey:@"PBGitSplitViewPosition"]; + [[NSUserDefaults standardUserDefaults] synchronize]; [webView close]; [commitController removeObserver:self forKeyPath:@"selection"]; [treeController removeObserver:self forKeyPath:@"selection"]; diff --git a/PBGitTree.m b/PBGitTree.m index 12c70a0..c8003d1 100644 --- a/PBGitTree.m +++ b/PBGitTree.m @@ -216,9 +216,6 @@ NSString* p = [handle readLine]; while (p.length > 0) { - if ([p isEqualToString:@"\r"]) - break; - BOOL isLeaf = ([p characterAtIndex:p.length - 1] != '/'); if (!isLeaf) p = [p substringToIndex:p.length -1]; diff --git a/PBViewController.h b/PBViewController.h index 5992196..9c15d69 100644 --- a/PBViewController.h +++ b/PBViewController.h @@ -23,8 +23,20 @@ @property(assign) BOOL isBusy; - (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller; + +/* removeView is called whenever the view is removed, either to be swapped + * with a different view, or when the repository window will be destroyed + */ - (void) removeView; + +/* Updateview is called every time it is loaded into the main view */ - (void) updateView; + +/* Called after awakeFromNib:, and the view has been loaded into the main view. + * Useful for resizing stuff after everything has been set in the right position + */ +- (void)viewLoaded; + - (NSResponder *)firstResponder; - (IBAction) refresh:(id)sender; diff --git a/PBViewController.m b/PBViewController.m index 6f228d4..d4c1832 100644 --- a/PBViewController.m +++ b/PBViewController.m @@ -37,18 +37,22 @@ { } -// This is called when the view is displayed again; it -// should be updated to show the most recent information -- (void) updateView +- (NSResponder *)firstResponder; { + return nil; } - (IBAction) refresh: sender { } -- (NSResponder *)firstResponder; +// The next methods should be implemented in the subclass if necessary +- (void)updateView { - return nil; } + +- (void)viewLoaded +{ +} + @end diff --git a/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h index d233cd0..7f1ca65 100644 --- a/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h +++ b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h @@ -12,7 +12,7 @@ @interface SUAppcastItem : NSObject { NSString *title; NSDate *date; - NSString *description; + NSString *itemDescription; NSURL *releaseNotesURL; @@ -33,7 +33,7 @@ - (NSString *)versionString; - (NSString *)displayVersionString; - (NSDate *)date; -- (NSString *)description; +- (NSString *)itemDescription; - (NSURL *)releaseNotesURL; - (NSURL *)fileURL; - (NSString *)DSASignature; diff --git a/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/Sparkle.framework/Versions/A/Headers/SUUpdater.h index b3241a3..e78c4d3 100644 --- a/Sparkle.framework/Versions/A/Headers/SUUpdater.h +++ b/Sparkle.framework/Versions/A/Headers/SUUpdater.h @@ -36,6 +36,12 @@ - (void)setFeedURL:(NSURL *)feedURL; - (NSURL *)feedURL; +- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile; +- (BOOL)sendsSystemProfile; + +- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates; +- (BOOL)automaticallyDownloadsUpdates; + // This IBAction is meant for a main menu item. Hook up any menu item to this action, // and Sparkle will check for updates and report back its findings verbosely. - (IBAction)checkForUpdates:sender; @@ -45,11 +51,14 @@ // update is found, it will be downloaded and prepped for installation. - (void)checkForUpdatesInBackground; +// Date of last update check. Returns null if no check has been performed. +- (NSDate*)lastUpdateCheckDate; + // This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though, // (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI. - (void)checkForUpdateInformation; -// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. +// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer. - (void)resetUpdateCycle; - (BOOL)updateInProgress; diff --git a/Sparkle.framework/Versions/A/Resources/Info.plist b/Sparkle.framework/Versions/A/Resources/Info.plist index 75f093e..c7f277d 100644 --- a/Sparkle.framework/Versions/A/Resources/Info.plist +++ b/Sparkle.framework/Versions/A/Resources/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.5 Beta 5 + 1.5 Beta 6 CFBundleSignature ???? CFBundleVersion - 282 + 313 diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings index 81388b0..b31f928 100644 Binary files a/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib index 778909e..2fb8a83 100644 --- a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib @@ -3,17 +3,17 @@ IBFramework Version - 667 + 670 IBLastKnownRelativeProjectPath ../Sparkle.xcodeproj IBOldestOS 5 IBOpenObjects - 89 + 18 IBSystem Version - 9D34 + 10A96 targetFramework IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib index 5b8f76e..e7e7497 100644 Binary files a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib and b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings index ffbdf41..16e0787 100644 Binary files a/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings index 0488303..f83ea23 100644 Binary files a/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings index 6314fee..ea175ae 100644 Binary files a/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings index 43c07b9..5c410d0 100644 Binary files a/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib index 3f09790..d2586ea 100644 --- a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib @@ -7,11 +7,9 @@ IBOldestOS 5 IBOpenObjects - - 6 - + IBSystem Version - 9D34 + 9E17 targetFramework IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib index be38289..c82d358 100644 Binary files a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib and b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib index 33a6020..d2586ea 100644 --- a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -9,7 +9,7 @@ IBOpenObjects IBSystem Version - 9D34 + 9E17 targetFramework IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib index ef9b2cd..ac298ce 100644 Binary files a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings index a1de544..67cf535 100644 Binary files a/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/relaunch b/Sparkle.framework/Versions/A/Resources/relaunch index 6f5372a..e7b96d6 100755 Binary files a/Sparkle.framework/Versions/A/Resources/relaunch and b/Sparkle.framework/Versions/A/Resources/relaunch differ diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings index 79140dc..f3ff9d8 100644 Binary files a/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings index 646559b..b676a4f 100644 Binary files a/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings and b/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Sparkle b/Sparkle.framework/Versions/A/Sparkle index a26791a..2d9bb2a 100755 Binary files a/Sparkle.framework/Versions/A/Sparkle and b/Sparkle.framework/Versions/A/Sparkle differ diff --git a/UpdateKey.pem b/UpdateKey.pem new file mode 100644 index 0000000..bc1591f --- /dev/null +++ b/UpdateKey.pem @@ -0,0 +1,20 @@ +-----BEGIN PUBLIC KEY----- +MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCHqXl7R4gxSzQbs9Rx2aah2Gv2MbU9 +b32EboHrtPu3Exm3xXlqL9V0OafZjAjnAUOVPa8VprWcF3j/OWk6R6KGLM3ThUUz +4XsqrKZGpHsTYIe+h8+ArTFnzsv2vHsNF2QkesDahE9lNGcgOQNyJy9XoWUJugaD +JXpizG5fBDfVhOHDI8JPpDyHN9TSIgKYvgeKVvaE5sZ3csb7b1rP4gkB3q9c/h80 +ArBeBb5MOe1Iz0aVqidK0fJD66Ah29kvu9yUBkI8gYI/RsODpBS7BDpwZoTHf8TH +TiYhF4fagzleQmda1+eP/FAJcKxmm1NfIBkPKzRaXtWU1jebea2TPMhDAhUAgGen +jSgWMxjKWr9oVtlQqLrL+EMCggEABJHLgZObBVo+85CkJ/Mved+tcePXrWBwvQHE +8k8I5LmjrFsvMauuwjUvRQm5QyHvys7xETaoR25UuqQFLengeMgt9gFRoWkkIpgS +VNDT8z30+HLsO41w0dKIsn6va5yGkD2fXfSzEqx6qMLPEQJ5nLDJoX03gfZeNFxh +9chRGJeo4twc1Or4G3EBurAn7Vr6rfQe21dogWTfAv9j6a22cOQObBc2B4z2S097 +jNtQ7W0DtYf8R+4qST6Jy7006KZdKmQeCJZaz1j24050VGTXi97wt7r7yXS7slZm +o9hr5cXZTiMrREH098pPG36TEA8miVXxqUCJjDsKNMTyEsoNggOCAQUAAoIBAHHO +Dhi58geSZQgzW+GEvPUAqQ0A/EMI5vNT8g3WsBLoMguWfntmoBjwZfwTue0EQyTU +ouUOaiwtdbmz0XWbMOPIwjSOrWb3+nSQ8hc2m62xdFJnbv1JAYOJJKyjISY2+G6+ +tjWpmv8Or07ao/u61ofCPFWEJwCQE9myrUG6ACyte3GRHqGX3A2IY/J7Ncok4S6I +Zlp27z6beY3BYOM9QUwH1J6VmJn0CXH5jpMFsRo/c/b3iFWFZ80AzDnaX7DXPw8d +6BVyMZnw+YVNeam30i/at/Ic4hAxBuabBPMulurGY/c+nTW2QlIOCWDAnCQnJpQH +ZSwhpZtVkisZuNaaK8M= +-----END PUBLIC KEY-----