# Odd problem in repository

7 messages from 2007-04-24 to 2007-04-24. Participants: Clark Williams, Shawn O. Pearce, J. Bruce Fields, Jeffrey C. Ollie.
Thread: https://gitlist.dev/t/7819

## Clark Williams, 2007-04-24 17:24

Subject: Odd problem in repository
Message-ID: <462E3D32.60804@gmail.com>
URL: https://gitlist.dev/e/462E3D32.60804%40gmail.com

```
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello git-list,

We're experimenting with using git for the mock source repository on
fedoraproject.org. The CVS repository was converted over and I
successfully cloned a repository and went merrily on my way.

One of my collaborators cloned the repository the other day and found
that it didn't have any branches in it. I cloned a temp copy of it and
found that the files that normally would be in refs/heads to identify
the branches had somehow been moved to the directory
refs/remotes/origin. In my local repository (which was cloned
immediately after the CVS import), if I list what's in refs/heads, I get
this:

$ ls -F refs/heads
master  mock  mock-0-6-branch  mock-0.7  origin

on the whacky cloned copy, I get this:
$ ls -F refs/heads
master

and if I look in refs/remotes/origin:
$ ls -F refs/remotes/origin
HEAD  master  mock  mock-0-6-branch  mock-0.7  origin

Can anyone come up with a way that I could have mangled the repository
with a push? I mean, I have no idea how that remotes/origin directory
got created; I don't even have an interactive login on
git.fedoraproject.org.

If anyone wants to see the repository, you can clone it from:

git://git.fedoraprojects.org/git/hosted/mock

I'm not sure if it makes sense to try and repair this or just start
anew. Any advice would be appreciated.

Clark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD4DBQFGLj0xqA4JVb61b9cRAhWYAJ49SDX6EnRxkFkJGjq5TUjhHjP2kwCWOJfK
obOqRJwU0vOq/aZDsM3glw==
=XwQr
-----END PGP SIGNATURE-----

```

## Shawn O. Pearce, 2007-04-24 17:30

Subject: Re: Odd problem in repository
Message-ID: <20070424173048.GA5942@spearce.org>
URL: https://gitlist.dev/e/20070424173048.GA5942%40spearce.org
In-Reply-To: <462E3D32.60804@gmail.com>

```
Clark Williams <clark.williams@gmail.com> wrote:
> One of my collaborators cloned the repository the other day and found
> that it didn't have any branches in it. I cloned a temp copy of it and
> found that the files that normally would be in refs/heads to identify
> the branches had somehow been moved to the directory
> refs/remotes/origin. In my local repository (which was cloned
> immediately after the CVS import), if I list what's in refs/heads, I get
> this:
> 
> $ ls -F refs/heads
> master  mock  mock-0-6-branch  mock-0.7  origin
> 
> on the whacky cloned copy, I get this:
> $ ls -F refs/heads
> master
> 
> and if I look in refs/remotes/origin:
> $ ls -F refs/remotes/origin
> HEAD  master  mock  mock-0-6-branch  mock-0.7  origin

This is a change in Git versions.  Pre Git-1.5.0 we used to put all
of the branches from the remote system into refs/heads, but now in
1.5.0 and later we put them in refs/remotes/origin.

Nothing screwed up on the central repository, its just the
new layout.  refs/heads is reserved for *this* local repository,
while refs/remotes/$name is reserved for the heads of $name remote
repository.

-- 
Shawn.

```

## J. Bruce Fields, 2007-04-24 17:35

Subject: Re: Odd problem in repository
Message-ID: <20070424173546.GG18538@fieldses.org>
URL: https://gitlist.dev/e/20070424173546.GG18538%40fieldses.org
In-Reply-To: <20070424173048.GA5942@spearce.org>

```
On Tue, Apr 24, 2007 at 01:30:48PM -0400, Shawn O. Pearce wrote:
> This is a change in Git versions.  Pre Git-1.5.0 we used to put all
> of the branches from the remote system into refs/heads, but now in
> 1.5.0 and later we put them in refs/remotes/origin.
> 
> Nothing screwed up on the central repository, its just the
> new layout.  refs/heads is reserved for *this* local repository,
> while refs/remotes/$name is reserved for the heads of $name remote
> repository.

See also

	http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.0.txt

(grep for "repository layout") for more details on the change.

The new system is surprising if you don't expect it, but it's really
much simpler to work with.

--b.

```

## Jeffrey C. Ollie, 2007-04-24 17:43

Subject: Re: Odd problem in repository
Message-ID: <1177436584.3923.12.camel@lt21223.campus.dmacc.edu>
URL: https://gitlist.dev/e/1177436584.3923.12.camel%40lt21223.campus.dmacc.edu
In-Reply-To: <462E3D32.60804@gmail.com>

```
On Tue, 2007-04-24 at 12:24 -0500, Clark Williams wrote:
>
> If anyone wants to see the repository, you can clone it from:
> 
> git://git.fedoraprojects.org/git/hosted/mock

FYI, this should be:

git://git.fedoraproject.org/git/hosted/mock

> I'm not sure if it makes sense to try and repair this or just start
> anew. Any advice would be appreciated.

The only thing that I would consider would be to redo the conversion but
this time specifying an author conversion file with the -A switch.

Jeff


```

## Clark Williams, 2007-04-24 17:44

Subject: Re: Odd problem in repository
Message-ID: <462E4200.7080206@gmail.com>
URL: https://gitlist.dev/e/462E4200.7080206%40gmail.com
In-Reply-To: <20070424173048.GA5942@spearce.org>

```
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Shawn O. Pearce wrote:
> Clark Williams <clark.williams@gmail.com> wrote:
>> One of my collaborators cloned the repository the other day and found
>> that it didn't have any branches in it. I cloned a temp copy of it and
>> found that the files that normally would be in refs/heads to identify
>> the branches had somehow been moved to the directory
>> refs/remotes/origin. In my local repository (which was cloned
>> immediately after the CVS import), if I list what's in refs/heads, I get
>> this:
>>
>> $ ls -F refs/heads
>> master  mock  mock-0-6-branch  mock-0.7  origin
>>
>> on the whacky cloned copy, I get this:
>> $ ls -F refs/heads
>> master
>>
>> and if I look in refs/remotes/origin:
>> $ ls -F refs/remotes/origin
>> HEAD  master  mock  mock-0-6-branch  mock-0.7  origin
> 
> This is a change in Git versions.  Pre Git-1.5.0 we used to put all
> of the branches from the remote system into refs/heads, but now in
> 1.5.0 and later we put them in refs/remotes/origin.
> 
> Nothing screwed up on the central repository, its just the
> new layout.  refs/heads is reserved for *this* local repository,
> while refs/remotes/$name is reserved for the heads of $name remote
> repository.
> 

Ah, so I'm not totally inept, just unable to read release notes. Sigh.

But, I'm still confused. After you clone the central repository, with
the new layout, why can't I 'mock checkout -f mock-0-6-branch'? Do I
need to further qualify it, or create a local branch from it?

Probably a better question is: what man-page/web-page/mail-thread should
I read to figure this out?

Clark

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGLkIAqA4JVb61b9cRAn8VAJ9Q7U4ZxP4Jc6OSyd1rcVufbBOO6wCfdDUn
Pmo7URBzl8PcCSRXu5BqYc0=
=yl7q
-----END PGP SIGNATURE-----

```

## Shawn O. Pearce, 2007-04-24 17:48

Subject: Re: Odd problem in repository
Message-ID: <20070424174828.GC5942@spearce.org>
URL: https://gitlist.dev/e/20070424174828.GC5942%40spearce.org
In-Reply-To: <462E4200.7080206@gmail.com>

```
Clark Williams <clark.williams@gmail.com> wrote:
> But, I'm still confused. After you clone the central repository, with
> the new layout, why can't I 'mock checkout -f mock-0-6-branch'? Do I
> need to further qualify it, or create a local branch from it?

I don't know what the mock command does...  but if you meant:

	git checkout -f mock-0-6-branch

then you want to add the origin/ prefix to qualify it, as you want
the branch from the origin remote.  That should cause your head to
get detached however:

	git checkout -f origin/mock-0-6-branch

at which point you aren't on any branch at all.  So you might
want to make your own mock-0-6-branch starting at your origin's
current version:

	git checkout -f -b mock-0-6-branch origin/mock-0-6-branch

-- 
Shawn.

```

## Clark Williams, 2007-04-24 17:53

Subject: Re: Odd problem in repository
Message-ID: <462E4403.4070708@gmail.com>
URL: https://gitlist.dev/e/462E4403.4070708%40gmail.com
In-Reply-To: <20070424174828.GC5942@spearce.org>

```
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Shawn O. Pearce wrote:
> Clark Williams <clark.williams@gmail.com> wrote:
>> But, I'm still confused. After you clone the central repository, with
>> the new layout, why can't I 'mock checkout -f mock-0-6-branch'? Do I
>> need to further qualify it, or create a local branch from it?
> 
> I don't know what the mock command does...  but if you meant:
> 
> 	git checkout -f mock-0-6-branch
> 

Heh, yes that's what I meant.  :)

> then you want to add the origin/ prefix to qualify it, as you want
> the branch from the origin remote.  That should cause your head to
> get detached however:
> 
> 	git checkout -f origin/mock-0-6-branch
> 
> at which point you aren't on any branch at all.  So you might
> want to make your own mock-0-6-branch starting at your origin's
> current version:
> 
> 	git checkout -f -b mock-0-6-branch origin/mock-0-6-branch
> 

Ah, I think that's what I was looking for.

Thanks,
Clark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGLkQDqA4JVb61b9cRAt8OAJ9sPWLuiA0n/WKO7EzYH40GhFN0ZgCfY6Mw
J7m60FS67Rj4ESgnVNRfjl8=
=iuic
-----END PGP SIGNATURE-----

```
