If I do a branch.history().on('commit', ...) and then within that, do a diffList.walk().on('delta', ...), I will pretty reliably get a "Segmentation fault: 11" for any git repository with more than 10 or 20 commits.
My solution has been to go through, first, and fetch all the commit shas, and then use caolan's async or something to iterate through those, using repo.commit('mysha123912', ...), and then walking the diffLists within each commit.
Is there a way to iterate through everything in one pass, though?
By "scatter memory", I mean that if I don't immediate call commit.sha(), but instead put the raw commit object in a queue, sometimes commit.message() and commit.sha() results won't line up correctly (they'll be contrary to what git log at the command line tells me).
(Great library, otherwise, loving the speed!)
If I do a
branch.history().on('commit', ...)and then within that, do adiffList.walk().on('delta', ...), I will pretty reliably get a "Segmentation fault: 11" for any git repository with more than 10 or 20 commits.My solution has been to go through, first, and fetch all the commit
shas, and then use caolan'sasyncor something to iterate through those, usingrepo.commit('mysha123912', ...), and then walking the diffLists within each commit.Is there a way to iterate through everything in one pass, though?
By "scatter memory", I mean that if I don't immediate call
commit.sha(), but instead put the raw commit object in a queue, sometimescommit.message()andcommit.sha()results won't line up correctly (they'll be contrary to whatgit logat the command line tells me).(Great library, otherwise, loving the speed!)