diff --git a/English.lproj/MyDocument.xib b/English.lproj/MyDocument.xib
index fca12af..908283c 100644
--- a/English.lproj/MyDocument.xib
+++ b/English.lproj/MyDocument.xib
@@ -552,6 +552,14 @@
100043
+
@@ -756,7 +764,7 @@
- 100043
+ 100044
@@ -765,14 +773,35 @@
MyDocument
NSDocument
- copyGeneratedHTMLAction:
- id
+ YES
+
+ YES
+ commitChanges:
+ copyGeneratedHTMLAction:
+
+
+ YES
+ id
+ id
+
- copyGeneratedHTMLAction:
-
- copyGeneratedHTMLAction:
- id
+ YES
+
+ YES
+ commitChanges:
+ copyGeneratedHTMLAction:
+
+
+ YES
+
+ commitChanges:
+ id
+
+
+ copyGeneratedHTMLAction:
+ id
+
@@ -1215,6 +1244,20 @@
Foundation.framework/Headers/NSURLDownload.h
+
+ NSObject
+
+ IBFrameworkSource
+ Sparkle.framework/Headers/SUAppcast.h
+
+
+
+ NSObject
+
+ IBFrameworkSource
+ Sparkle.framework/Headers/SUUpdater.h
+
+
NSObject
diff --git a/MyDocument.h b/MyDocument.h
index 9d10de0..5c17aa1 100644
--- a/MyDocument.h
+++ b/MyDocument.h
@@ -22,8 +22,12 @@
BOOL hasSavedOrigin;
NSPoint savedOrigin;
BOOL savedAtBottom;
+
+ NSTask *commit;
+ NSPipe *gitOut;
}
- (IBAction)copyGeneratedHTMLAction:(id)sender;
+- (IBAction)commitChanges:(id)sender;
@end
diff --git a/MyDocument.m b/MyDocument.m
index 078b818..68fe272 100644
--- a/MyDocument.m
+++ b/MyDocument.m
@@ -58,6 +58,14 @@ - (id)init {
userInfo:nil
repeats:YES];
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(finishedCommit:)
+ name:NSTaskDidTerminateNotification
+ object:nil];
+
+ commit = nil;
+ gitOut = [[NSPipe alloc] init];
+
}
return self;
}
@@ -157,4 +165,41 @@ - (IBAction)copyGeneratedHTMLAction:(id)sender {
[[NSPasteboard generalPasteboard] setString:[self markdown2html:[markdownSource string]] forType:NSStringPboardType];
}
+- (IBAction)commitChanges:(id)sender;
+{
+ //http://cocoadevcentral.com/articles/000025.php
+ //http://github.com/pieter/gitx/blob/master/PBGitBinary.m
+
+ NSLog(@"Commiting changes.");
+
+ commit=[[NSTask alloc] init];
+ [commit setLaunchPath:@"/usr/bin/git"];
+
+ NSMutableArray *components = [NSMutableArray arrayWithArray:[[self fileURL] pathComponents]];
+ [components removeLastObject];
+
+ NSLog(@"path: %@", [components componentsJoinedByString:@"/"]);
+
+ [commit setCurrentDirectoryPath: [[components componentsJoinedByString:@"/"] stringByExpandingTildeInPath]];
+
+ [commit setArguments:[NSArray arrayWithObjects:@"commit", [[[self fileURL] pathComponents] lastObject], @"-m",@"Commit Message",nil]];
+
+ [commit setStandardOutput:gitOut];
+
+ NSLog(@"Commit: %@", commit);
+
+ [commit launch];
+}
+
+- (void)finishedCommit:(NSNotification *)aNotification {
+
+ //NSData *output = [[gitOut fileHandleForReading] readDataToEndOfFile];
+ //NSString *string = [[[NSString alloc] initWithData: output encoding: NSUTF8StringEncoding] autorelease];
+ //NSLog(@"GITOUT:", string);
+
+ [commit release]; // Don't forget to clean up memory
+ commit=nil; // Just in case...
+
+}
+
@end