Hi,
Jonathan Nieder wrote:
I quite like the idea of this patch series. When I try to test it with
"git merge jc/ita; make test", t0020-crlf setup fails
[...]
This could be me doing something [stupid]
and it was. In a sleepy daze, I resolved a conflict
<<<<<<<
#define ADD_CACHE_IGNORE_REMOVAL 8
=======
#define ADD_CACHE_INTENT 8
quoted
quoted
quoted
quoted
quoted
quoted
by using the same bit for both. Sorry for the noise.
Others can experience that unpleasant error message for themselves
with next + jc/add-ita merged properly:
$ mkdir test-repo && cd test-repo
$ git init
Initialized empty Git repository in /var/tmp/jrnieder/test-repo/.git/
$ : >a
$ git add -N a
$ git commit
error: invalid object e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
error: Error building trees
I think the first error comes from update_one, which creates a tree
object from the index. It is complaining, because after all, that
object is not in any sha1 file.
If the empty blob happened to be in our object database, the user's
mistake would be hidden:
$ git add a && git commit
error: invalid object e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
error: Error building trees
$ git rm -f --cached a
rm 'a'
$ git add a
$ git commit -m initial
$ echo hi >b
$ git add -N b
$ git commit && echo ok
Created commit 91325db: some commit message
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 b
ok
Maybe it would be better to use some other magic blob (or a bit
somewhere) to remember that the file has not been added yet.
Thoughts?
Regards,
Jonathan