# "git pull" doesn't respect --work-tree parameter

7 messages from 2010-12-21 to 2010-12-22. Participants: Alexey Zakhlestin, Nguyen Thai Ngoc Duy, Andreas Ericsson.
Thread: https://gitlist.dev/t/26115

## Alexey Zakhlestin, 2010-12-21 16:04

Subject: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTi=UtZuPQcTNnwS_fXgzRn4MHAUGS8zyTMqX9E2J@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTi%3DUtZuPQcTNnwS_fXgzRn4MHAUGS8zyTMqX9E2J%40mail.gmail.com

```
I am trying to use the following command:

git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull

and get this error:
"git-pull cannot be used without a working tree"

I get the same error, if I try to use corresponding environment variables


looks like a bug, because I can, successfully, use "git status" with
the same --git-dir and --work-tree parameters

-- 
Alexey Zakhlestin, http://twitter.com/jimi_dini
http://www.milkfarmsoft.com/

```

## Nguyen Thai Ngoc Duy, 2010-12-22 11:20

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTik9s0cLc_P=NWvpO=DhytOkLNASEM7sjzoscHo3@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTik9s0cLc_P%3DNWvpO%3DDhytOkLNASEM7sjzoscHo3%40mail.gmail.com
In-Reply-To: <AANLkTi=UtZuPQcTNnwS_fXgzRn4MHAUGS8zyTMqX9E2J@mail.gmail.com>

```
On Tue, Dec 21, 2010 at 11:04 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
> I am trying to use the following command:
>
> git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull
>
> and get this error:
> "git-pull cannot be used without a working tree"

It works fine for me. What's the result of

git '--git-dir=/path/to/repository/.git'
'--work-tree=/path/to/repository' --git-dir
git '--git-dir=/path/to/repository/.git'
'--work-tree=/path/to/repository' --is-inside-work-tree
git '--git-dir=/path/to/repository/.git'
'--work-tree=/path/to/repository' --show-toplevel

?

Also what version of git are you using?
-- 
Duy

```

## Alexey Zakhlestin, 2010-12-22 11:40

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTinGPJRQCOVz5JeqL4xnUG9V=5fkJhz6C5Mi1A3o@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTinGPJRQCOVz5JeqL4xnUG9V%3D5fkJhz6C5Mi1A3o%40mail.gmail.com
In-Reply-To: <AANLkTik9s0cLc_P=NWvpO=DhytOkLNASEM7sjzoscHo3@mail.gmail.com>

```
On Wed, Dec 22, 2010 at 2:20 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> On Tue, Dec 21, 2010 at 11:04 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
>> I am trying to use the following command:
>>
>> git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull
>>
>> and get this error:
>> "git-pull cannot be used without a working tree"
>
> It works fine for me. What's the result of
>
> git '--git-dir=/path/to/repository/.git'
> '--work-tree=/path/to/repository' --git-dir

No directory given for --git-dir.

> git '--git-dir=/path/to/repository/.git'
> '--work-tree=/path/to/repository' --is-inside-work-tree

Unknown option: --is-inside-work-tree

> git '--git-dir=/path/to/repository/.git'
> '--work-tree=/path/to/repository' --show-toplevel

Unknown option: --show-toplevel


> Also what version of git are you using?

1.7.3.4

-- 
Alexey Zakhlestin, http://twitter.com/jimi_dini
http://www.milkfarmsoft.com/

```

## Andreas Ericsson, 2010-12-22 11:42

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <4D11E427.5040506@op5.se>
URL: https://gitlist.dev/e/4D11E427.5040506%40op5.se
In-Reply-To: <AANLkTinGPJRQCOVz5JeqL4xnUG9V=5fkJhz6C5Mi1A3o@mail.gmail.com>

```
On 12/22/2010 12:40 PM, Alexey Zakhlestin wrote:
> On Wed, Dec 22, 2010 at 2:20 PM, Nguyen Thai Ngoc Duy<pclouds@gmail.com>  wrote:
>> On Tue, Dec 21, 2010 at 11:04 PM, Alexey Zakhlestin<indeyets@gmail.com>  wrote:
>>> I am trying to use the following command:
>>>
>>> git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull
>>>
>>> and get this error:
>>> "git-pull cannot be used without a working tree"
>>
>> It works fine for me. What's the result of
>>
>> git '--git-dir=/path/to/repository/.git'
>> '--work-tree=/path/to/repository' --git-dir
> 
> No directory given for --git-dir.
> 

You added an extra --git-dir without an argument at the end of
the command. Remove it and try again.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

```

## Nguyen Thai Ngoc Duy, 2010-12-22 11:44

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTimM9Ah+D6uYnOuZDjYzKfN2-YVArOAwegO9dbSD@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTimM9Ah%2BD6uYnOuZDjYzKfN2-YVArOAwegO9dbSD%40mail.gmail.com
In-Reply-To: <AANLkTinGPJRQCOVz5JeqL4xnUG9V=5fkJhz6C5Mi1A3o@mail.gmail.com>

```
On Wed, Dec 22, 2010 at 6:40 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
> On Wed, Dec 22, 2010 at 2:20 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
>> On Tue, Dec 21, 2010 at 11:04 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
>>> I am trying to use the following command:
>>>
>>> git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull
>>>
>>> and get this error:
>>> "git-pull cannot be used without a working tree"
>>
>> It works fine for me. What's the result of
>>
>> git '--git-dir=/path/to/repository/.git'
>> '--work-tree=/path/to/repository' --git-dir
>
> No directory given for --git-dir.
>
>> git '--git-dir=/path/to/repository/.git'
>> '--work-tree=/path/to/repository' --is-inside-work-tree
>
> Unknown option: --is-inside-work-tree
>
>> git '--git-dir=/path/to/repository/.git'
>> '--work-tree=/path/to/repository' --show-toplevel
>
> Unknown option: --show-toplevel

Sorry I forgot the command name (rev-parse). The full command should
be "git --git-dir=... --work-tree=... rev-parse <option>" where option
is --git-dir, --is-inside-work-tree, --show-toplevel. Can you please
try again?
-- 
Duy

```

## Alexey Zakhlestin, 2010-12-22 11:50

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTi=JrOe=z4LNZtxfsDvkG2jYCtemYESftv=61ZrJ@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTi%3DJrOe%3Dz4LNZtxfsDvkG2jYCtemYESftv%3D61ZrJ%40mail.gmail.com
In-Reply-To: <AANLkTimM9Ah+D6uYnOuZDjYzKfN2-YVArOAwegO9dbSD@mail.gmail.com>

```
On Wed, Dec 22, 2010 at 2:44 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> On Wed, Dec 22, 2010 at 6:40 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
>> On Wed, Dec 22, 2010 at 2:20 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
>>> On Tue, Dec 21, 2010 at 11:04 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
>>>> I am trying to use the following command:
>>>>
>>>> git '--git-dir=/path/to/repository/.git' '--work-tree=/path/to/repository' pull
>>>>
>>>> and get this error:
>>>> "git-pull cannot be used without a working tree"
>>>
>>> It works fine for me. What's the result of
>>>
>>> git '--git-dir=/path/to/repository/.git'
>>> '--work-tree=/path/to/repository' --git-dir
>>
>> No directory given for --git-dir.
>>
>>> git '--git-dir=/path/to/repository/.git'
>>> '--work-tree=/path/to/repository' --is-inside-work-tree
>>
>> Unknown option: --is-inside-work-tree
>>
>>> git '--git-dir=/path/to/repository/.git'
>>> '--work-tree=/path/to/repository' --show-toplevel
>>
>> Unknown option: --show-toplevel
>
> Sorry I forgot the command name (rev-parse). The full command should
> be "git --git-dir=... --work-tree=... rev-parse <option>" where option
> is --git-dir, --is-inside-work-tree, --show-toplevel. Can you please
> try again?

1) returns correct path:
/Users/indy/Documents/Sources/_mine/midgard/mvc/_rdf/midgardmvc_core/.git
2) false
3) returns correct path, again:
/Users/indy/Documents/Sources/_mine/midgard/mvc/_rdf/midgardmvc_core

just to make myself clear: $PWD is another path, not related to repository path

-- 
Alexey Zakhlestin, http://twitter.com/jimi_dini
http://www.milkfarmsoft.com/

```

## Nguyen Thai Ngoc Duy, 2010-12-22 11:55

Subject: Re: "git pull" doesn't respect --work-tree parameter
Message-ID: <AANLkTikoBaJmo97wh_zNaUAFHq3sf1j4b2HDuEmjRKnt@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTikoBaJmo97wh_zNaUAFHq3sf1j4b2HDuEmjRKnt%40mail.gmail.com
In-Reply-To: <AANLkTi=JrOe=z4LNZtxfsDvkG2jYCtemYESftv=61ZrJ@mail.gmail.com>

```
On Wed, Dec 22, 2010 at 6:50 PM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
> 1) returns correct path:
> /Users/indy/Documents/Sources/_mine/midgard/mvc/_rdf/midgardmvc_core/.git
> 2) false
> 3) returns correct path, again:
> /Users/indy/Documents/Sources/_mine/midgard/mvc/_rdf/midgardmvc_core
>
> just to make myself clear: $PWD is another path, not related to repository path

OK. git-pull does not automatically move to worktree (while git-status
does) and thus won't work when $PWD is outside worktree. I remember
there's a similar report this year. I'll see if I can make a patch for
it.

Thank you for your report.
-- 
Duy

```
