Thread (1 message) 1 message, 1 author, 2016-06-15

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,
Brad
I'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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help