All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Dave Quigley <dpquigl@tycho.nsa.gov>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: Merging a foreign tree into a bare repository.
Date: Wed, 09 Jul 2008 10:27:15 -0700 (PDT)	[thread overview]
Message-ID: <m3lk0bdkyl.fsf@localhost.localdomain> (raw)
In-Reply-To: <alpine.DEB.1.00.0807090238561.5277@eeepc-johanness>

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> 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

  parent reply	other threads:[~2008-07-09 17:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-09  0:14 Merging a foreign tree into a bare repository Dave Quigley
2008-07-09  0:40 ` Johannes Schindelin
2008-07-09 14:25   ` Alejandro Riveira
2008-07-09 17:27   ` Jakub Narebski [this message]
2008-07-09 18:42     ` Johannes Schindelin
2008-07-09 21:04       ` Eric Raible

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3lk0bdkyl.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=dpquigl@tycho.nsa.gov \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.