From: Shawn Pearce <spearce@spearce.org>
To: Theodore Ts'o <tytso@mit.edu>
Cc: git@vger.kernel.org
Subject: Re: What commands can and can not be used with bare repositories?
Date: Sat, 30 Dec 2006 20:57:32 -0500 [thread overview]
Message-ID: <20061231015732.GB5082@spearce.org> (raw)
In-Reply-To: <E1H0poE-0000qd-Ee@candygram.thunk.org>
Theodore Ts'o <tytso@mit.edu> wrote:
> What isn't documented is what commands actually can deal with a bare
> repository. At the moment, it looks like a bare repository can be a
> target of a git pull, push, and merge commands
Sorry but 'git merge' cannot be used in a bare repository (no working
directory to update during the merge) and 'git merge' can only work on
the current repository, which rules out the bare repository.
> and it can be a source
> for a git clone, but that seems to be about it. All other commands,
> such as "git log" blow up with the error message "Not a git repository".
Try "git --bare log". Or "git --git-dir=/path/to log".
> This to me seems a bit lame, since why isn't a "bare repository" also a
> "git repository"? All of the information is there for "git log" to
> work. Commands that require a working directory obviously can't work,
> but there are plenty of git commands for which there's no reason why
> they shouldn't be able to operate on a bare repository. For example,
> "git repack", "git log", "git fetch", etc.
Actually most commands work on a bare repository.
Very few don't: the ones that require a working directory.
E.g. status/revert/cherry-pick/commit/am/merge/pull. (You can
pull from a bare repository, but you cannot run pull *in* a bare
repository.)
> confused, but maybe we could fix that. What if we were to change "git
> clone --bare" to create the .git -> . symlink, and then add a check to
> commands that require a working directory to see if ".git" is a symlink
> to ., and if so, give an error message, "operation not supported on bare
> repository"?
No. Better would be to make git's repository setup logic
automatically detect if "." is a Git repository, and if so let the
commands that work without a working directory run.
--
Shawn.
next prev parent reply other threads:[~2006-12-31 1:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-31 1:48 What commands can and can not be used with bare repositories? Theodore Ts'o
2006-12-31 1:57 ` J. Bruce Fields
2006-12-31 1:57 ` Shawn Pearce [this message]
2006-12-31 2:12 ` Theodore Tso
2006-12-31 5:32 ` Michael S. Tsirkin
2006-12-31 5:52 ` Junio C Hamano
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=20061231015732.GB5082@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=tytso@mit.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox