Skip to content

Commit d2ff0e1

Browse files
committed
update README
1 parent 54b1ab1 commit d2ff0e1

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
## Overview
44

5-
**GitContentSearch** is a command-line tool written in C# that searches for specific content within files across different Git commits. The app supports searching within Content files (.xls, .xlsx) and text files (.txt, .sql, .cs, etc.). It efficiently identifies the commit where the search string appears, using a binary search algorithm for faster results. Progress is logged to a file, allowing you to resume the search if interrupted.
5+
**GitContentSearch** is the ideal tool if you've ever wanted to do `git blame` on Excel files. This command-line tool allows you to efficiently search for content across different Git commits in Excel files (.xls, .xlsx) and text files (.txt, .sql, .cs, etc.), making it a powerful solution for tracking changes even in non-text formats.
6+
7+
The app identifies the commit where the search string appears, using an optimized binary search algorithm and reverse linear search for faster results in large commit histories. Progress is logged to a file, allowing you to resume the search if interrupted.
68

79
## Features
810

9-
- **Binary Search**: Quickly identifies the commit where the search string first appears and last disappears.
10-
- **Supports Large Repos**: Handles extensive commit histories by narrowing down the search space.
11+
- **Optimized Search**: Quickly identifies the commit where the search string first appears and last disappears.
12+
- **Searches Across Multiple File Types**: Search in Excel files (.xls, .xlsx) and text files (.txt, .sql, .cs, etc.).
1113
- **Log File**: Keeps track of all checked commits and results, allowing you to continue the search later.
1214
- **Commit Range**: Specify an earliest and latest commit to limit the search scope.
1315

@@ -57,6 +59,7 @@ Note: Make sure the file path does not start with a forward slash (/), as this c
5759
* `<search-string>`: The string you want to search for in the Content file.
5860
* `--earliest-commit=<commit>`: (Optional) The earliest commit to begin the search.
5961
* `--latest-commit=<commit>`: (Optional) The latest commit to end the search.
62+
- `--disable-linear-search`: Use this option to disable the linear search. When enabled, the tool will rely solely on binary search, which can improve performance in large repositories, especially if you already know that one of the commits contains the search string.
6063
* `--working-directory=<path>`: (Optional) The directory where Git commands should be executed. Defaults to the user's temp directory if not provided.
6164
* `--log-directory=<path>`: (Optional) The directory where the log file and temporary files will be stored. Defaults to the user's temp directory if not provided.
6265

0 commit comments

Comments
 (0)