Re: Darcs-git: a few notes for Git hackers
From: Brad Roberts <hidden>
Date: 2016-06-15 22:41:57
Resending, I left off the mailing list on the to list last time.
quoted
I wasn't able to finish redoing these against linus tip, but I got most of it done (patches 1-14 of the original 19): http://gameboy2.puremagic.com:8090/ rsync://gameboy2.puremagic.com/git/ The second, third, and forth to last changes need a careful review, they're direct applications of the original patches which were lightly tested during the first round and nothing other than compile tested in this round. I suspect the remaining parts of the original patch series will go in fairly smoothly. If no one gets to them before tonight I'll finish it up after work. Later, BradI've completed the re-merge, and moved to tip of git-pb.git rather than tip of git.git. Unfortunatly that merge was also somewhat intrusive and my individual diffs along the way are somewhat useless now. The entire history is available about the above locations still. Attached is the full diff vs git-pb @ 902b92e00e491a60d55c4b2bce122903b8347f34. The unit tests that are being added are a wonderful thing, thanks so much for doing them Junio. These changes feel rough to me still. Some areas to discuss / think about: 1) The hunks that change the merge routines from pointer based to index based could have been left much less intruded upon by adding a get_cache_entry_array(cache) api. 2) Should the index changing areas be constructing a new index instead of shuffling bits within the current index? 3) The vocabulary and code is inconsistent between cache and index. 4) read-cache.c does much more than reading. 5) Like before, cleaning up memory for the cache is a rarity, preferring to let the end of the process garbage collect everything. cache.h | 52 ++++++------- check-files.c | 12 +-- checkout-cache.c | 26 +++--- diff-cache.c | 60 ++++++++------- diff-files.c | 31 ++++--- diff-helper.c | 6 - diff-tree.c | 50 ++++++------ diff.c | 36 +++++---- diff.h | 11 +- fsck-cache.c | 6 - local-pull.c | 2 ls-files.c | 47 ++++++----- merge-cache.c | 29 +++---- read-cache.c | 217 ++++++++++++++++++++++++++++++++++--------------------- read-tree.c | 65 +++++++++------- sha1_file.c | 4 - tree.c | 15 ++- update-cache.c | 45 +++++------ write-tree.c | 29 ++++--- 19 files changed, 416 insertions(+), 327 deletions(-) Signed-off-by: Brad Roberts <redacted>
Attachments
- diff-vs-git-pb [text/plain] 63306 bytes · preview