Debugging with git - PrismoSkills



Debugging with git - PrismoSkills

Debugging with git



Use git blame to see when each line of the method was last edited and by whom.
Use -L option to limit the output to specified lines.
Example:
git blame -L 5,20 foo.txt


Binary search through commits.
Git provides a binary search command to help you find a misbehaving commit.
Suppose, there have been 16 commits in the last two days and a bug was introduced in one of these commits.
An obvious methodology to find the misbehaving commit is to use binary search.

A sample run for examining commits is as follows:
check 8th commit, PASS (bug not seen)
check 12th commit, FAIL (bug seen)
check 10th commit, PASS (bug not seen)
check 11th commit, PASS (bug not seen)
=> bug was introduced in the 12th commit

Manually, you would do this by calculating which commit to check out, then switching to that commit, checking test-status and so on.
With git, this can be automated using git bisect command.

Following commands show how the above can be made easy using git:

Read full article from Debugging with git - PrismoSkills


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts