Re: [PATCH] Add NEED_WORK_TREE for more commands
- From
Mike Hommey <mh@glandium.org>
- Date
- Oct 27, 2007, 10:42 UTC
- Message-ID
- <20071027104257.GA8876@glandium.org>
- In-Reply-To
- <20071027101839.GA26043@laptop>
On Sat, Oct 27, 2007 at 05:18:39PM +0700, Nguyen Thai Ngoc Duy wrote:
Show 20 quoted lines
> On Sat, Oct 27, 2007 at 11:08:22AM +0200, Mike Hommey wrote:
> > On Sat, Oct 27, 2007 at 03:19:10PM +0700, Nguy???n Th??i Ng???c Duy wrote:
> > >
> > > Signed-off-by: Nguy???n Th??i Ng???c Duy <pclouds@gmail.com>
> > > ---
> > > git.c | 12 ++++++------
> > > 1 files changed, 6 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/git.c b/git.c
> > > index 23a430c..9db40b3 100644
> > > --- a/git.c
> > > +++ b/git.c
> > > + { "ls-files", cmd_ls_files, RUN_SETUP | NEED_WORK_TREE },
> > > + { "update-index", cmd_update_index, RUN_SETUP | NEED_WORK_TREE },
> >
> > At least these two work very fine without a working tree (and I *do*
> > need them to work without a working tree).
>
> How can you do that while both need index and a working directory to
> operate?For example, ls-files -c and update-index --remove don't need more than the index, and you don't need a working tree to fiddle with the index with these commands.
By the way, git-rm has a --cached option that allows it to only work on the index, but it has a NEED_WORK_TREE which prevents its use without a working tree in such a case (though I don't know if the implementation itself relies on the working tree or not, but if it does, it shouldn't). It's sad to have to do git-ls-files -c directory | xargs -d "\n" git-update-index --remove instead of git-rm -r --cached directory when you want to remove a directory in a bare repository.
Mike