git-add --intent-to-add (-N)
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Aug 2008 08:44:53 +0000 (01:44 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 31 Aug 2008 23:22:05 +0000 (16:22 -0700)
commit394258190c76dd7944688a3a28931071ec02087d
tree9687038444ce9378de7c38ecf29b2a61000f71dc
parent7df437e56b5a2c5ec7140dd097b517563db4972c
git-add --intent-to-add (-N)

This adds "--intent-to-add" option to "git add".  This is to let the
system know that you will tell it the final contents to be staged later,
iow, just be aware of the presense of the path with the type of the blob
for now.  It is implemented by staging an empty blob as the content.

With this sequence:

    $ git reset --hard
    $ edit newfile
    $ git add -N newfile
    $ edit newfile oldfile
    $ git diff

the diff will show all changes relative to the current commit.  Then you
can do:

    $ git commit -a ;# commit everything

or

    $ git commit oldfile ;# only oldfile, newfile not yet added

to pretend you are working with an index-free system like CVS.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-add.c
cache.h
read-cache.c
t/t2203-add-intent.sh [new file with mode: 0755]