OSDN Git Service

add Build and Debug Document
authorFrank Li <lznuaa@gmail.com>
Sun, 14 Dec 2008 12:55:55 +0000 (20:55 +0800)
committerFrank Li <lznuaa@gmail.com>
Sun, 14 Dec 2008 12:55:55 +0000 (20:55 +0800)
build.txt [new file with mode: 0644]
src/Debug-Hints.txt [new file with mode: 0644]

diff --git a/build.txt b/build.txt
new file mode 100644 (file)
index 0000000..9c20266
--- /dev/null
+++ b/build.txt
@@ -0,0 +1,76 @@
+// To build this file, execute "nant APIDocs"\r
+// After that, you can read the compiled version at TortoiseSVN\doc\output\TortoiseSVNAPI.chm\r
+\r
+/** \r
+\page build Build instructions\r
+\r
+\section Introduction Introduction\r
+Compiling TortoiseGit is not very difficult, but it requires several steps\r
+to finish, at least the first time.\r
+\r
+Unlike other big open source projects, once you have built all the libraries\r
+TortoiseGit depends on, you can use the familiar VisualStudio IDE to build\r
+and debug the binaries. No need to run the build script for every little change.\r
+\r
+So don't give up if you read through the next section and all the requirements.\r
+You only have to do this once.\r
+\r
+\section Requirements Requirements\r
+\r
+\subsection Requirements1 First, you need to install the compiler package.\r
+\r
+-# You need VS2008 with SP1 (or at least Visual C++ 2008) to allow\r
+   building of the full TortoiseGitpackage. \r
+   If you don't have the SP1 installed for VS2008, you will also need the\r
+   MFC feature pack for VS2008 which is available from here: \r
+   http://www.microsoft.com/downloads/details.aspx?FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7&displaylang=en\r
+   This is the recommended option, but it is not free :-(\r
+   If you want to build the msi make sure the "Tools for Redistributing\r
+   Applications" are installed.\r
+-# If you do not have access to VS.NET you can download the free\r
+   Visual C++ 2008 Express Edition.\r
+   This will allow you to build the subversion libraries and the\r
+   SubWCRev, TortoiseBlame, TortoiseUDiff, TortoiseIDiff, CrashRpt\r
+   and ResText projects only. You can not build the main parts of\r
+   TortoiseGit(shell extension, TortoiseProc, TSVNCache, TortoiseMerge)\r
+   with the Express Edition!\r
+   - Install Visual C++ 2008 Express Edition.\r
+     Download it from http://msdn.microsoft.com/vstudio/express/visualc/\r
+   - Install MASM 6.15 from: http://win32assembly.online.fr/files/masm615.zip\r
+     and add it to the PATH environment variable\r
+   \note Do not bother to install WiX and Votive as you cannot build very much.\r
+-# If you plan to build 64 bit packages, install the package \r
+   - "Language Tools" -> "Visual C++" -> "X64 Compilers and Tools" \r
+     available in the VS.NET2008 Professional and higher. \r
+     This will provide you with a cross-compiler and a suitable \r
+     command shell. On XP64, there will also be a native compiler.\r
+-# \b Optional but recommended: Install Microsoft SDK for Windows Vista (February 2007 Update)\r
+   - http://www.microsoft.com/downloads/details.aspx?FamilyID=FF6467E6-5BBA-4BF5-B562-9199BE864D29 .\r
+     Make sure you install the x64 compiler, header and libraries if you want to build in x64.\r
+   - Open "Microsoft Windows SDK", "Visual Studio Registration", "Integrate Windows SDK with Visual Studio 2008"\r
+     to make sure Visual Studio uses the latest SDK headers and libraries.\r
+-# \b Optional: Install the MSDN Library (documentation) from\r
+   http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313\r
+   You can always access it online at http://msdn2.microsoft.com/en-us/Library\r
+\r
+\subsection Requirements2 Next you need to install some utilities/programs.\r
+- WiX(\b 1)                   http://wix.sourceforge.net\r
+.\r
+(\b 1) Above 3.0 version\r
+\r
+\section build32 Building 32 bit packages\r
+\r
+Open TortoiseGit.sln\r
+Build TortoiseProc\r
+BUild TortoiseShell\r
+Build TortoiseUDiff\r
+\r
+\section Create MSI Package\r
+\r
+Before create MSI Package, you need build tortoisegit release version.\r
+\r
+Then\r
+Build WixSetup\r
+\r
+\r
+*/\r
diff --git a/src/Debug-Hints.txt b/src/Debug-Hints.txt
new file mode 100644 (file)
index 0000000..ed8315f
--- /dev/null
@@ -0,0 +1,74 @@
+Debugging hints\r
+\r
+Since TortoiseSVN is a shell extension it's not\r
+as easy to debug as normal applications. The\r
+TortoiseShell part is only a dll which is \r
+loaded by the windows explorer. So the first\r
+thing you need to do is:\r
+\r
+- add the following value to the registry:\r
+  HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\DesktopProcess\r
+  (REG_DWORD) = 1\r
+  This will tell windows to start each explorer\r
+  in a separate process instead of one single\r
+  process.\r
+- register the TortoiseShell dll so that\r
+  the windows explorer loads it. There are\r
+  three files in the folder src\TortoiseShell\r
+  with extension *.registry. Make a copy of\r
+  those files and change the extension to\r
+  *.reg. Then you have to edit those three\r
+  files so that the paths in it reflects\r
+  your source paths exactly.\r
+  Now if you doubleclick on register.reg \r
+  the debug version of the TortoiseSVN.dll\r
+  get's registered. registerrelease.reg \r
+  registers the release version of the\r
+  TortoiseSVN.dll. Don't do it right now!\r
+- Start VS.NET and load the TortoiseSVN\r
+  solution file. Set the TortoiseShell\r
+  project as "startup project".\r
+- Close all running instances of windows\r
+  explorer.\r
+- Now execute the register.reg file. Since\r
+  you already closed all explorer windows\r
+  you'll have to use the windows start\r
+  button, then execute, enter the location\r
+  of the reg file and hit enter.\r
+  Since this is a lot of clicking I made\r
+  a shortcut of those files in the quickstart\r
+  on the taskbar.\r
+- Hit F5 in the VS.NET IDE (or start\r
+  debugging via menu). The first time\r
+  you do that VS.NET will ask you to\r
+  enter an application to use with the\r
+  TortoiseSVN.dll - enter c:\windows\explorer.exe\r
+  (or whatever path it is on your system).\r
+- Now you can set breakpoints and debug\r
+  as you like.\r
+- Don't stop debugging by closing the\r
+  explorer window - this sometimes leads\r
+  to a locked dll and you can't compile/link\r
+  the dll again until you have restarted.\r
+  Always stop debugging with the command\r
+  in the VS.NET IDE (Shift-F5).\r
+- After debugging, execute the file\r
+  deregister.reg. Do this always _immediately_\r
+  after debugging or you might get a locked\r
+  dll.\r
+- while debugging, _never_ start another\r
+  explorer instance or internet explorer\r
+  or any other application which uses\r
+  explorer - this includes already running\r
+  applications to open dialogs like "save as"!\r
+\r
+To debug the TortoiseProc part of TortoiseSVN\r
+proceed as with any normal application.\r
+\r
+To debug the TSVNCache exit the TSVNCache.exe\r
+process and proceed as with any normal\r
+application. Exiting TSVNCache.exe is necessary\r
+because only one instance of TSVNCache may run\r
+at a time. To exit the TSVNCache process set\r
+HKCU\Software\TortoiseSVN\CacheTrayIcon to 1 and\r
+call "Exit" in the context menu of the tray icon.\r