Re: Using alternate working directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 22, 2013 at 12:04:24AM +0300, Ram Rachum wrote:

> I'm making a script `gm` which lets me merge one branch into another
> without having either checked out. It works for some cases but not
> all. I'm trying to make it work for more cases.
> 
> I concluded that the best way to do it would be by using an
> alternate, temporary working directory instead of the repo itself.

Yes, otherwise you will be stomping all over the working tree of
whatever branch _is_ checked out.

> This is my script:
> 
>     https://gist.github.com/cool-RR/6575042
> 
> Now, the problem is that when I try it, it gives these errors:
> 
>     git checkout-index: my_file is not in the cache and then error:
>     my_file: cannot add to the index - missing --add option?
> 
> Anyone has any idea what to do?

Your script is quite similar to the one that is used server-side at
GitHub to generate the "this can be merged" button for each pull
request. So it should work in principle.

Just a guess, but using a relative path for the temporary index file
might be a problem. read-tree will operate from $GIT_DIR as its working
directory, for example, but I think the git-merge-one-file script will
be at the top-level of $GIT_WORK_TREE. Meaning that all of the
sub-commands it runs will see an empty index.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]