git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Merging a foreign tree into a bare repository.

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 9, 2008, 17:27 UTC
Message-ID
<m3lk0bdkyl.fsf@localhost.localdomain>
In-Reply-To
<alpine.DEB.1.00.0807090238561.5277@eeepc-johanness>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 13 quoted lines
> On Tue, 8 Jul 2008, Dave Quigley wrote:
> 
> > I tried to then merge them but you need a working directory to merge the 
> > changes which makes sense.
> 
> Of course it does.  Merging runs the risk of conflicts, and you need a 
> working directory for that.
> 
> > How would one go about doing this with a bare repository?
> 
> Very easy: clone it ("non-barely"), merge, and push back the results.
> 
> You _need_ a working directory for the merge.

Or, alternatively, you can tell git where you want to have working directory with '--work-tree' parameter to git wrapper, for example

  1451:jnareb@roke:/tmp/jnareb> git clone --bare test/ test-clone.git
  Initialize test-clone.git
  Initialized empty Git repository in /tmp/jnareb/test-clone.git/

(Hmmm... I hope the last message, which is unnecessary and I think is just spillage from git-init, would vanish in builting git-clone)

  1453:jnareb@roke:/tmp/jnareb/test-clone.git> ls
  branches  config  description  HEAD  hooks  info  objects  refs
  1454:jnareb@roke:/tmp/jnareb/test-clone.git> cat config 
  [core]
        repositoryformatversion = 0
        filemode = true
        bare = true
(It is bare repository)
  
  1461:jnareb@roke:/tmp/jnareb/test-clone.git> git checkout
  fatal: This operation must be run in a work tree
(You would get the same error with merge and with rebase)
  1458:jnareb@roke:/tmp/jnareb/test-clone.git> git --work-tree=../test-workdir/ checkout
  1459:jnareb@roke:/tmp/jnareb/test-clone.git> ls ../test-workdir/
  foo
It works!

You can also set core.worktree configuration variable... although I don't know what git would do if core.bare is true and core.worktree is set.

HTH
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Alejandro RiveiraNext: Johannes Schindelin
Message 4 of 6 in “Merging a foreign tree into a bare repository.”
  1. Dave QuigleyJul 9, 2008
  2. Johannes SchindelinJul 9, 2008
  3. Alejandro RiveiraJul 9, 2008
  4. Jakub NarebskiJul 9, 2008
  5. Johannes SchindelinJul 9, 2008
  6. Eric RaibleJul 9, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.