mit-scheme-devel
[Top][All Lists]
Advanced

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

Re: [MIT-Scheme-devel] using git


From: Chris Hanson
Subject: Re: [MIT-Scheme-devel] using git
Date: Thu, 3 Sep 2009 14:45:42 -0700

On Thu, Sep 3, 2009 at 9:22 AM, Taylor R Campbell<address@hidden> wrote:

> Apparently what I did wrong was making the stage repository with `git
> clone' instead of `git clone --bare', which someone suggested to me
> (and Git did use the word `bare', I suppose).  I looked in the man
> pages -- git-clone(1), git-push(1), gittutorial(7), gitworkflows(7),
> and gitcvs-migration(7) -- and didn't find any explanation of why you
> can push into bare repositories but not in, um, clothed repositories?
> I have a theory, but that's all.  So I nuked everything and made
> stage.git by cloning the repository with `git clone --bare ssh://...
> stage.git', and tried again.

A "bare" repository is one without an associated working tree.  If you
just want a local repository that you can push and pull to, that's the
right thing.  The error message was trying to tell you that you were
going to make the repository and its working tree be out of sync.
With a bare repository, that's never an issue.

> However, while that got me a little bit further to my goal -- storing
> changes in a staging repository to pull into a build repository in
> which to test clean builds -- now pulling into the build repository is
> failing with a message that I have seen many times when trying to pull
> from the Savannah repository, `error: Ref refs/remotes/origin/master
> is at f2b42a44bdb4ba11b97b4d7360fc1031700ba8c3 but expected
> f65896e1931fe513858c82f02d42596f43141e08':
>
> work% git commit
> emacsclient: can't find socket; have you started the server?
> To start the server in Emacs, type "M-x server-start".
> [master da79683] Fix error reporting in PARSE-DEFINE-FORM.
>  2 files changed, 18 insertions(+), 14 deletions(-)
> work% git push
> Counting objects: 11, done.
> Delta compression using up to 2 threads.
> Compressing objects: 100% (6/6), done.
> Writing objects: 100% (6/6), 836 bytes, done.
> Total 6 (delta 5), reused 0 (delta 0)
> Unpacking objects: 100% (6/6), done.
> To /path/to/stage.git
>   f65896e..da79683  master -> master
> % cd ../build
> address@hidden build]% git pull
> remote: Counting objects: 11, done.
> remote: Compressing objects: 100% (6/6), done.
> remote: Total 6 (delta 5), reused 0 (delta 0)
> Unpacking objects: 100% (6/6), done.
> From /path/to/stage
>  + f65896e...f2b42a4 HEAD       -> origin/HEAD  (forced update)
> error: Ref refs/remotes/origin/master is at 
> f2b42a44bdb4ba11b97b4d7360fc1031700ba8c3 but expected 
> f65896e1931fe513858c82f02d42596f43141e08
>  ! f65896e..da79683  master     -> origin/master  (unable to update local ref)
>
> What am I doing wrong?

Is the remote "origin/master" pointing to your local bare repository,
or to the one on savannah?  The output of "git remote -v" (from inside
the build tree) should tell you.

FYI, I generally don't use this workflow.  If I want to stage stuff
for release, I use branches.  I also use a build directory that's just
a bunch of symlinks pointing into the source directory.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]