threads / discuss / 7819

Odd problem in repository

Subject: Odd problem in repository

## tl;dr

7 messages between Apr 24, 2007 and Apr 24, 2007.

replies: 6people: 4as markdown or json

Clark Williams· Apr 24, 2007, 17:24 UTC · lore
-----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· Apr 24, 2007, 17:30 UTC · re: Clark Williams · lore

Re: Odd problem in repository

Clark Williams <clark.williams@gmail.com> wrote:
Show 18 quoted lines
> 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· Apr 24, 2007, 17:35 UTC · re: Shawn O. Pearce · lore

Re: Odd problem in repository

On Tue, Apr 24, 2007 at 01:30:48PM -0400, Shawn O. Pearce wrote:
Show 8 quoted lines
> 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.
Clark Williams· Apr 24, 2007, 17:44 UTC · re: Shawn O. Pearce · lore

Re: Odd problem in repository

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Shawn O. Pearce wrote:
Show 29 quoted lines
> 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· Apr 24, 2007, 17:48 UTC · re: Clark Williams · lore

Re: Odd problem in repository

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· Apr 24, 2007, 17:53 UTC · re: Shawn O. Pearce · lore

Re: Odd problem in repository

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Shawn O. Pearce wrote:
Show 9 quoted lines
> 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.  :)
Show 12 quoted lines
> 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-----

Jeffrey C. Ollie· Apr 24, 2007, 17:43 UTC · re: Clark Williams · lore

Re: Odd problem in repository

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

← back to recent threads