Merge branch 'master' into fbartho

This commit is contained in:
Frederic Barthelemy
2010-05-04 14:50:46 -07:00
30 changed files with 110 additions and 33 deletions
+2
View File
@@ -16,6 +16,7 @@
#import "PBPrefsWindowController.h"
#import "PBNSURLPathUserDefaultsTransfomer.h"
#import "PBGitDefaults.h"
#import "Sparkle/SUUpdater.h"
@implementation ApplicationController
@synthesize cliProxy;
@@ -63,6 +64,7 @@
- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
[[SUUpdater sharedUpdater] setSendsSystemProfile:YES];
[self registerServices];
// Only try to open a default document if there are no documents open already.
+12
View File
@@ -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
+5 -1
View File
@@ -131,6 +131,7 @@
F5E92A1B0E88550E00056E75 /* empty_file.png in Resources */ = {isa = PBXBuildFile; fileRef = F5E92A1A0E88550E00056E75 /* empty_file.png */; };
F5E92A230E88569500056E75 /* new_file.png in Resources */ = {isa = PBXBuildFile; fileRef = F5E92A220E88569500056E75 /* new_file.png */; };
F5EF8C8E0E9D4A5D0050906B /* PBWebController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5EF8C8D0E9D4A5D0050906B /* PBWebController.m */; };
F5F7D0651062E7940072C81C /* UpdateKey.pem in Resources */ = {isa = PBXBuildFile; fileRef = F5F7D0641062E7940072C81C /* UpdateKey.pem */; };
F5FC41F40EBCBD4300191D80 /* PBGitXProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FC41F30EBCBD4300191D80 /* PBGitXProtocol.m */; };
F5FC43FE0EBD08EE00191D80 /* PBRefMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FC43FD0EBD08EE00191D80 /* PBRefMenuItem.m */; };
F5FE6C030EB13BC900F30D12 /* PBServicesController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FE6C020EB13BC900F30D12 /* PBServicesController.m */; };
@@ -299,6 +300,7 @@
F5E92A220E88569500056E75 /* new_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = new_file.png; path = Images/new_file.png; sourceTree = "<group>"; };
F5EF8C8C0E9D4A5D0050906B /* PBWebController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBWebController.h; sourceTree = "<group>"; };
F5EF8C8D0E9D4A5D0050906B /* PBWebController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBWebController.m; sourceTree = "<group>"; };
F5F7D0641062E7940072C81C /* UpdateKey.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = UpdateKey.pem; sourceTree = "<group>"; };
F5FC41F20EBCBD4300191D80 /* PBGitXProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitXProtocol.h; sourceTree = "<group>"; };
F5FC41F30EBCBD4300191D80 /* PBGitXProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitXProtocol.m; sourceTree = "<group>"; };
F5FC43C30EBD050800191D80 /* PBRefContextDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBRefContextDelegate.h; sourceTree = "<group>"; };
@@ -434,6 +436,7 @@
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
F5F7D0641062E7940072C81C /* UpdateKey.pem */,
F50A41130EBB872D00208746 /* Widgets */,
47DBDB920E94F47200671A1E /* Preference Icons */,
D26DC6440E782C9000C777B2 /* gitx.icns */,
@@ -819,6 +822,7 @@
47DBDB6A0E94EF6500671A1E /* Preferences.xib in Resources */,
47DBDBB10E94F6CA00671A1E /* Updates.png in Resources */,
F569AE930F2CBD7C00C2FFA7 /* Credits.html in Resources */,
F5F7D0651062E7940072C81C /* UpdateKey.pem in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -850,7 +854,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export PATH=$PATH:$HOME/bin:$HOME/local/bin:/sw/bin:/opt/local/bin:`\"$TARGET_BUILD_DIR\"/gitx --git-path`\nVERSION=$(cd \"$PROJECT_DIR\";git describe)\nLONG_VERSION=$(echo $VERSION | sed -e \"s/\\-/\\./\" -e \"s/^v//\" -e \"s/-.*//\")\nSHORT_VERSION=$(echo $VERSION | sed -e \"s/\\-.*//\" -e \"s/^v//\")\n\necho -n \"#define LONG_VERSION $LONG_VERSION\n#define GIT_VERSION $VERSION\n#define SHORT_VERSION $SHORT_VERSION\" > \"$PROJECT_TEMP_DIR/revision\"\ntouch Info.plist";
shellScript = "export PATH=$PATH:$HOME/bin:$HOME/local/bin:/sw/bin:/opt/local/bin:`\"$TARGET_BUILD_DIR\"/gitx --git-path`\nVERSION=$(cd \"$PROJECT_DIR\";git describe)\nSHORT_VERSION=$(echo $VERSION | sed -e \"s/\\-.*//\" -e \"s/^v//\")\n\necho -n \"#define GIT_VERSION $VERSION\n#define SHORT_VERSION $SHORT_VERSION\" > \"$PROJECT_TEMP_DIR/revision\"\ntouch Info.plist";
};
F5792DFB0EDB570C001B0C31 /* Compile libgit2 */ = {
isa = PBXShellScriptBuildPhase;
+3 -1
View File
@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SUPublicDSAKeyFile</key>
<string>UpdateKey.pem</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleName</key>
@@ -49,7 +51,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>LONG_VERSION</string>
<string>SHORT_VERSION</string>
<key>CFBundleGitVersion</key>
<string>GIT_VERSION</string>
<key>CFBundleShortVersionString</key>
+2 -2
View File
@@ -8,7 +8,7 @@
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="207"/>
<integer value="125"/>
<integer value="225"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
@@ -1237,9 +1237,9 @@
<reference key="object" ref="750704519"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="812432808"/>
<reference ref="221814497"/>
<reference ref="1073221655"/>
<reference ref="812432808"/>
</object>
<reference key="parent" ref="1002"/>
</object>
+10
View File
@@ -180,6 +180,13 @@
[self refresh:nil];
}
- (void)viewLoaded
{
float position = [[NSUserDefaults standardUserDefaults] floatForKey:@"PBGitSplitViewPosition"];
if (position)
[historySplitView setPosition:position ofDividerAtIndex:0];
}
- (NSResponder *)firstResponder;
{
return commitList;
@@ -201,6 +208,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"];
+13 -9
View File
@@ -69,28 +69,32 @@
selectedViewIndex = whichViewTag;
[[NSUserDefaults standardUserDefaults] setInteger:whichViewTag forKey:@"selectedViewIndex"];
BOOL justLoaded = NO;
switch (whichViewTag)
{
case 0: // swap in the "CustomImageViewController - NSImageView"
if (!historyViewController)
case 0:
if (!historyViewController) {
historyViewController = [[PBGitHistoryController alloc] initWithRepository:repository superController:self];
else
[historyViewController updateView];
justLoaded = YES;
}
viewController = historyViewController;
break;
case 1:
if (!commitViewController)
if (!commitViewController) {
commitViewController = [[PBGitCommitController alloc] initWithRepository:repository superController:self];
else
[commitViewController updateView];
justLoaded = YES;
}
viewController = commitViewController;
break;
}
// make sure we automatically resize the controller's view to the current window size
[[viewController view] setFrame: [contentView bounds]];
if (justLoaded)
[viewController viewLoaded];
else
[viewController updateView];
//// embed the current view to our host view
[contentView addSubview: [viewController view]];
+12
View File
@@ -21,8 +21,20 @@
@property (readonly) NSToolbar *viewToolbar;
- (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;
@end
+10 -6
View File
@@ -35,14 +35,18 @@
{
}
// 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;
}
// The next methods should be implemented in the subclass if necessary
- (void)updateView
{
}
- (void)viewLoaded
{
}
@end
@@ -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;
@@ -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;
@@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.5 Beta 5</string>
<string>1.5 Beta 6</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>282</string>
<string>313</string>
</dict>
</plist>
@@ -3,17 +3,17 @@
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>667</string>
<string>670</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>89</integer>
<integer>18</integer>
</array>
<key>IBSystem Version</key>
<string>9D34</string>
<string>10A96</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
@@ -7,11 +7,9 @@
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>6</integer>
</array>
<array/>
<key>IBSystem Version</key>
<string>9D34</string>
<string>9E17</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
@@ -9,7 +9,7 @@
<key>IBOpenObjects</key>
<array/>
<key>IBSystem Version</key>
<string>9D34</string>
<string>9E17</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
Binary file not shown.
Binary file not shown.
+20
View File
@@ -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-----
+1 -1
View File
@@ -251,7 +251,7 @@ var showDiff = function() {
p.insertBefore(document.createTextNode(name1 + " -> "), link);
}
link.appendChild(document.createTextNode(finalFile));
link.appendChild(document.createTextNode(finalFile.unEscapeHTML()));
button.setAttribute("representedFile", finalFile);
link.setAttribute("representedFile", finalFile);