Git Product home page Git Product logo

Comments (5)

chrisrossi avatar chrisrossi commented on July 17, 2024

It's a bug in git. I was able to reproduce with a shell script independently of AcidFS:

https://gist.github.com/chrisrossi/f09c8bed70b364f9f12e

Maybe you can show that to the git folks.

HTH.

from acidfs.

chrisrossi avatar chrisrossi commented on July 17, 2024

FWIW, even with the malloc error, the output of merge-tree is still correct and AcidFS still works as expected. You just get a nasty-gram to stderr.

from acidfs.

epistemery avatar epistemery commented on July 17, 2024

Thank you! I wasn't aware that the git test case would be so simple. Sorry for the extra work.. I guess the fact that that the code starting at line 854 in __init__.py is not visited made me think that it had to do with some specific merge attempt...

I sent a bug report to [email protected]. Not visible on gmane yet, I'll update this post.

EDIT: http://comments.gmane.org/gmane.comp.version-control.git/286252

from acidfs.

epistemery avatar epistemery commented on July 17, 2024

Bad news. It looks like merge-tree is something like a proof-of-concept, follows a different merge-logic than git merge and probably has more design/implementation flaws yet to be discovered...

Jeff King suggests an alternative for a tree-level merge:

If you just care about doing the tree-level merge
without content-level merging inside blobs, you can do it in the index
like:

export GIT_INDEX_FILE=temp.index
base=$(git merge-base $ours $theirs)
git read-tree -i -m --aggressive $base $ours $theirs

If you want to do content-level resolving on top of that, you can do it
with:

git merge-index git-merge-one-file -a

though it will need a temp directory to write out conflicts and
resolved content.

I can't tell whether this is useful for acidfs, but maybe the merge logic code should be changed to rely on more robust git tools.

Anyway, there now is a patch for the segfault issue.

from acidfs.

chrisrossi avatar chrisrossi commented on July 17, 2024

Interesting. I'll take a look when I get a chance. Thanks! If the output
format is the same or very similar, it shouldn't be too hard to switch.

Chris

On Fri, Feb 19, 2016 at 7:59 AM, epistemery [email protected]
wrote:

Bad news. It looks like merge-tree is something like a proof-of-concept,
follows a different merge-logic than git merge and probably has more
design/implementation flaws yet to be discovered...

Jeff King suggests
http://permalink.gmane.org/gmane.comp.version-control.git/286429 an
alternative for a tree-level merge:

If you just care about doing the tree-level merge
without content-level merging inside blobs, you can do it in the index
like:

export GIT_INDEX_FILE=temp.index
base=$(git merge-base $ours $theirs)
git read-tree -i -m --aggressive $base $ours $theirs

If you want to do content-level resolving on top of that, you can do it
with:

git merge-index git-merge-one-file -a

though it will need a temp directory to write out conflicts and
resolved content.

I can't tell whether this is useful for acidfs, but maybe the merge logic
code should be changed to rely on more robust git tools.

Anyway, there now is a patch
http://permalink.gmane.org/gmane.comp.version-control.git/286298 for
the segfault issue.


Reply to this email directly or view it on GitHub
#3 (comment).

from acidfs.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.