GitLink icon indicating copy to clipboard operation
GitLink copied to clipboard

Added an option to IndexWithSrcTool (-t)

Open raymondwu1 opened this issue 6 years ago • 0 comments

Fixes #203 .

Checklist

  • [x] I have included examples or tests
  • [x] I have updated the change log
  • [x] I am listed in the CONTRIBUTORS file
  • [x] I have cleaned up the commit history (use rebase and squash)

Changes proposed in this pull request:

  • Added the option to index source files using srctool. This option works with .NET PDBs (C#) and native PDBs (C++) and is useful when dealing with bigger git repositories. It will only index source files from the pdb that are found in git.
  • Core functionality has remained the same, srctool is simply used as an alternative to the getSourceFilesFromPdb method

Sample output from srctool: image

Tested on gitlink.pdb, we get the following source information for source files:

SRCSRV: source files ---------------------------------------
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Exceptions\GitLinkException.cs*src/GitLink/Exceptions/GitLinkException.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Extensions\BinaryReaderExtensions.cs*src/GitLink/Extensions/BinaryReaderExtensions.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Extensions\PdbExtensions.cs*src/GitLink/Extensions/PdbExtensions.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Extensions\RepositoryExtensions.cs*src/GitLink/Extensions/RepositoryExtensions.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Helpers\PdbStrHelper.cs*src/GitLink/Helpers/PdbStrHelper.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Helpers\PortablePdbHelper.cs*src/GitLink/Helpers/PortablePdbHelper.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Helpers\SrcToolHelper.cs*src/GitLink/Helpers/SrcToolHelper.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Linker.cs*src/GitLink/Linker.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\LinkOptions.cs*src/GitLink/LinkOptions.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Program.cs*src/GitLink/Program.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\BitBucketProvider.cs*src/GitLink/Providers/BitBucketProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\CustomRawUrlProvider.cs*src/GitLink/Providers/CustomRawUrlProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\CustomUrlProvider.cs*src/GitLink/Providers/CustomUrlProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\GitHubProvider.cs*src/GitLink/Providers/GitHubProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\ProviderBase.cs*src/GitLink/Providers/ProviderBase.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\ProviderManager.cs*src/GitLink/Providers/ProviderManager.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\UncProvider.cs*src/GitLink/Providers/UncProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Providers\VisualStudioTeamServicesProvider.cs*src/GitLink/Providers/VisualStudioTeamServicesProvider.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\PdbFile.cs*src/GitLink/Pdb/PdbFile.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\PdbInfo.cs*src/GitLink/Pdb/PdbInfo.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\PdbName.cs*src/GitLink/Pdb/PdbName.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\PdbRoot.cs*src/GitLink/Pdb/PdbRoot.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\PdbStream.cs*src/GitLink/Pdb/PdbStream.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\SrcSrv.cs*src/GitLink/Pdb/SrcSrv.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Pdb\SrcSrvContext.cs*src/GitLink/Pdb/SrcSrvContext.cs
C:\Users\rwu\Documents\repos\gitlink\src\GitLink\Logging\OutputLogListener.cs*src/GitLink/Logging/OutputLogListener.cs
SRCSRV: end ------------------------------------------------

Tested on a C++ project, we get the following source information for source files:

SRCSRV: source files ---------------------------------------
c:\users\rwu\documents\repos\dataserver\engine\ir\vaultcleanup.cpp*Engine/Ir/VaultCleanUp.cpp
c:\users\rwu\documents\repos\dataserver\engine\ir\environment.h*Engine/Ir/Environment.h
c:\users\rwu\documents\repos\dataserver\engine\ir\stdafx.h*Engine/Ir/Stdafx.h
c:\users\rwu\documents\repos\dataserver\engine\ir\threadcontext.cpp*Engine/Ir/ThreadContext.cpp
c:\users\rwu\documents\repos\dataserver\engine\ir\threadcontext.h*Engine/Ir/ThreadContext.h
c:\users\rwu\documents\repos\dataserver\engine\ir\support.cpp*Engine/Ir/Support.cpp
c:\users\rwu\documents\repos\dataserver\engine\ir\irappdomainmanager.h*Engine/Ir/IrAppDomainManager.h
c:\users\rwu\documents\repos\dataserver\engine\ir\exceptionbridge.h*Engine/Ir/ExceptionBridge.h
c:\users\rwu\documents\repos\dataserver\engine\ir\irpointerqueue.h*Engine/Ir/IrPointerQueue.h
c:\users\rwu\documents\repos\dataserver\engine\ir\support.h*Engine/Ir/Support.h
c:\users\rwu\documents\repos\dataserver\engine\ir\vaultcontext.h*Engine/Ir/VaultContext.h
c:\users\rwu\documents\repos\dataserver\engine\support\ceolib\ceolibmanaged.h*Engine/Support/CeOlib/CeOlibManaged.h
c:\users\rwu\documents\repos\dataserver\engine\ir\irbridge.h*Engine/Ir/IrBridge.h
c:\users\rwu\documents\repos\dataserver\engine\pd\pdexception.h*Engine/Pd/PdException.h
c:\users\rwu\documents\repos\dataserver\engine\ir\irhelper.h*Engine/Ir/IrHelper.h
c:\users\rwu\documents\repos\dataserver\engine\ir\stdafx.cpp*Engine/Ir/Stdafx.cpp
c:\users\rwu\documents\repos\dataserver\engine\ir\logging.h*Engine/Ir/Logging.h
... ETC
SRCSRV: end ------------------------------------------------

raymondwu1 avatar Feb 17 '19 23:02 raymondwu1