OSDN Git Service

Load Putty Key file at pull, push and clone.
authorFrank Li <lznuaa@gmail.com>
Thu, 2 Apr 2009 13:51:33 +0000 (21:51 +0800)
committerFrank Li <lznuaa@gmail.com>
Thu, 2 Apr 2009 13:51:33 +0000 (21:51 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Changelog.txt
src/TortoiseGitSetup/VersionNumberInclude.wxi
src/TortoiseProc/AppUtils.cpp
src/TortoiseProc/AppUtils.h
src/TortoiseProc/Commands/CloneCommand.cpp
src/TortoiseProc/Commands/FetchCommand.cpp
src/TortoiseProc/Commands/PushCommand.cpp
src/version.h

index 59d6090..1b8bee3 100644 (file)
@@ -1,3 +1,50 @@
+Version 0.5.0.0 version(internal)\r
+Features:\r
+       *Submodule Support.\r
+        Support submodule add, sync and update. \r
+        "Submodule Sync" is located in explore context external menu, which need press "shift" key when right click.\r
+   \r
+       *Improve show log speed at big repository, such as git.git\r
+\r
+       *OpenSSH can prompt password dialog\r
+\r
+       *Clone, pull push support both OpenSSH and Plink. \r
+        Support both key and password mode. \r
+        Show progress when clone at git and SSH protocol. \r
+\r
+       *Stash Save\Apply support\r
+        \r
+       *Reflog support. Need press "shift" to show reflog menu item at context menu. \r
+\r
+       *Add save special version to another file at file list, such as log dailog.\r
+       \r
+       *Add external diff merge and undiff setting at settings page\r
+\r
+       *Add Diff with workcopy at file list    \r
+\r
+       *Add MessageBox Tell user Revert Finished\r
+       \r
+       *Add Notepad2 to setup script to view text file\r
+       \r
+       *Add view in notepad2 at file list\r
+       \r
+       *Add Copy File list to clipboard \r
+\r
+       *Choose Default SSH client when install TortoiseGit\r
+       \r
+       *Add user config and remote manage at setting dialog\r
+       \r
+       *Pull and push can autoload putty private key. \r
+\r
+        \r
+Bug Fix:\r
+       *Fixed Issue 55:  "resolved" function doesn't delete temporary files.\r
+       *Fix: Issue 57:  Data duplication when Clicking Check repository in Check for modification dialog       \r
+       *Fix GetString error when edit at HistoryCombo\r
+       *win2k context menu fix (had an issue when shift key was pressed)\r
+       *Fix crash in logviewer on invalid time strings\r
+       \r
+\r
 Version 0.4.2.0 version(external)\r
        *Fix Shell menu disappear because ATL library have not installed. \r
        *Fix Commit Dialog and Log Dialog default column is wrong \r
index 297d03f..5f56913 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Include Id="VersionNumberInclude">\r
        <?define MajorVersion="0" ?>\r
-       <?define MinorVersion="4" ?>\r
-       <?define MicroVersion="2" ?>\r
+       <?define MinorVersion="5" ?>\r
+       <?define MicroVersion="0" ?>\r
        <?define BuildVersion="0" ?>\r
 </Include>\r
index 1fc8517..c0967f5 100644 (file)
@@ -614,7 +614,34 @@ bool CAppUtils::LaunchApplication(const CString& sCommandLine, UINT idErrMessage
        CloseHandle(process.hProcess);\r
        return true;\r
 }\r
+bool CAppUtils::LaunchPAgent(CString *keyfile,CString * pRemote)\r
+{\r
+       CString key,remote;\r
+       CString cmd,out;\r
+       if( pRemote == NULL)\r
+       {\r
+               remote=_T("origin");\r
+       }\r
+       if(keyfile == NULL)\r
+       {\r
+               cmd.Format(_T("git.exe config remote.%s.puttykeyfile"),remote);\r
+               g_Git.Run(cmd,&key,CP_ACP);\r
+               int start=0;\r
+               key.Tokenize(_T("\n"),start);\r
+       }\r
+       else\r
+               key=*keyfile;\r
+\r
+       if(key.IsEmpty())\r
+               return false;\r
 \r
+       CString proc=CPathUtils::GetAppDirectory();\r
+    proc += _T("pageant.exe \"");\r
+       proc += key;\r
+       proc += _T("\"");\r
+\r
+    return LaunchApplication(proc, IDS_ERR_EXTDIFFSTART, false);\r
+}\r
 bool CAppUtils::LaunchRemoteSetting()\r
 {\r
     CString proc=CPathUtils::GetAppDirectory();\r
index 7b6a645..bdd1363 100644 (file)
@@ -189,6 +189,8 @@ public:
 \r
     static bool LaunchRemoteSetting();\r
 \r
+       static bool LaunchPAgent(CString *keyfile=NULL,CString * pRemote=NULL);\r
+\r
 private:\r
        static CString PickDiffTool(const CTGitPath& file1, const CTGitPath& file2);\r
        static bool GetMimeType(const CTGitPath& file, CString& mimetype);\r
index 9111e6e..029f605 100644 (file)
@@ -26,6 +26,7 @@
 \r
 #include "CloneDlg.h"\r
 #include "ProgressDlg.h"\r
+#include "AppUtils.h"\r
 \r
 bool CloneCommand::Execute()\r
 {\r
@@ -33,6 +34,10 @@ bool CloneCommand::Execute()
        dlg.m_Directory=this->orgCmdLinePath.GetWinPathString();\r
        if(dlg.DoModal()==IDOK)\r
        {\r
+               if(dlg.m_bAutoloadPuttyKeyFile)\r
+               {\r
+                       CAppUtils::LaunchPAgent(&dlg.m_strPuttyKeyFile);\r
+               }\r
                CString dir=dlg.m_Directory;\r
                CString url=dlg.m_URL;\r
                // is this a windows format UNC path, ie starts with \\ \r
index e6bbfb9..3d0f260 100644 (file)
@@ -25,6 +25,7 @@
 #include "MessageBox.h"\r
 #include "PullFetchDlg.h"\r
 #include "ProgressDlg.h"\r
+#include "AppUtils.h"\r
 \r
 bool FetchCommand::Execute()\r
 {\r
@@ -33,6 +34,11 @@ bool FetchCommand::Execute()
 \r
        if(dlg.DoModal()==IDOK)\r
        {\r
+               if(dlg.m_bAutoLoad)\r
+               {\r
+                       CAppUtils::LaunchPAgent(NULL,&dlg.m_RemoteURL);\r
+               }\r
+\r
                CString url;\r
                url=dlg.m_RemoteURL;\r
                CString cmd;\r
index 16317e9..acd7e12 100644 (file)
@@ -26,6 +26,7 @@
 \r
 #include "PushDlg.h"\r
 #include "ProgressDlg.h"\r
+#include "AppUtils.h"\r
 \r
 bool PushCommand::Execute()\r
 {\r
@@ -40,6 +41,11 @@ bool PushCommand::Execute()
                CString tags;\r
                CString thin;\r
 \r
+               if(dlg.m_bAutoLoad)\r
+               {\r
+                       CAppUtils::LaunchPAgent(NULL,&dlg.m_URL);\r
+               }\r
+\r
                if(dlg.m_bPack)\r
                        thin=_T("--thin");\r
                if(dlg.m_bTags)\r
index 312ba87..b3f09e3 100644 (file)
@@ -1,11 +1,11 @@
-#define FILEVER        0,4,2,0\r
-#define PRODUCTVER     0,4,2,0\r
-#define STRFILEVER     "0, 4, 2, 0\0"\r
-#define STRPRODUCTVER  "0, 4, 2, 0\0"\r
+#define FILEVER        0,5,0,0\r
+#define PRODUCTVER     0,5,0,0\r
+#define STRFILEVER     "0, 5, 0, 0\0"\r
+#define STRPRODUCTVER  "0, 5, 0, 0\0"\r
 \r
 #define TSVN_VERMAJOR             0\r
-#define TSVN_VERMINOR             4\r
-#define TSVN_VERMICRO             2\r
+#define TSVN_VERMINOR             5\r
+#define TSVN_VERMICRO             0\r
 #define TSVN_VERBUILD                    0\r
 #define TSVN_VERDATE                     "date unknown\n"\r
 \r