# [git-new-workdir RFC] Backlinking $workdir/logs/HEAD to $GIT_DIR/logs/workdir?

2 messages from 2008-12-27 to 2008-12-27. Participants: Adeodato Simó, Shawn O. Pearce.
Thread: https://gitlist.dev/t/16883

## Adeodato Simó, 2008-12-27 12:15

Subject: [git-new-workdir RFC] Backlinking $workdir/logs/HEAD to $GIT_DIR/logs/workdir?
Message-ID: <20081227121526.GA12120@chistera.yi.org>
URL: https://gitlist.dev/e/20081227121526.GA12120%40chistera.yi.org

```
Hello,

I use git new-workdir for some of my projects. Apart from the usual
caveat "don't checkout the same branch twice", I found another small
issue, surely known: the reflog for HEAD in the workidirs does not exist
in the source git repo, hence git-gc will happily prune what it believes
to be dangling commits.

Would it be, perhaps, be okay to create a logs/workdir/<name>/HEAD
symlink pointing to $workdir/logs/HEAD, so that this does not happen?

Comments welcome.

-- 
Adeodato Simó                                     dato at net.com.org.es
Debian Developer                                  adeodato at debian.org
 
                                            Listening to: Niza - Parasol

```

## Shawn O. Pearce, 2008-12-27 17:26

Subject: Re: [git-new-workdir RFC] Backlinking $workdir/logs/HEAD to $GIT_DIR/logs/workdir?
Message-ID: <20081227172607.GA22075@spearce.org>
URL: https://gitlist.dev/e/20081227172607.GA22075%40spearce.org
In-Reply-To: <20081227121526.GA12120@chistera.yi.org>

```
Adeodato Simó <dato@net.com.org.es> wrote:
> I use git new-workdir for some of my projects. Apart from the usual
> caveat "don't checkout the same branch twice", I found another small
> issue, surely known: the reflog for HEAD in the workidirs does not exist
> in the source git repo, hence git-gc will happily prune what it believes
> to be dangling commits.
> 
> Would it be, perhaps, be okay to create a logs/workdir/<name>/HEAD
> symlink pointing to $workdir/logs/HEAD, so that this does not happen?

You also need to link the ref.  A log is only scanned if the
ref by the same name is scanned.

So you'd need to create a refs/workdir/<name>/HEAD in the parent
repository.  Using a symlink to point to the HEAD file from the
workdir might just work.

-- 
Shawn.

```
