Jump to content
ngokli

error: * Ignoring funny ref

Recommended Posts

I've added a gitserver.conf file to the plasticscm5/server directory on my Linux dev server.  When I do a git clone on my Windows workstation, I get the following errors.

> git clone  git://cignition.biz/<reponame>
Cloning into '<reponame>'...
error: * Ignoring funny ref 'refs/remotes/origin/master-Fix-for-sketchpad-icon-appearing-over-solution-frame.' locally
error: * Ignoring funny ref 'refs/remotes/origin/master-Equivalent-Fractions-adaptation-for-fraction-equivalency-Big-scary-refactor-branch.' locally
error: * Ignoring funny ref 'refs/remotes/origin/master-no_profile_time_update_for_impersonation.' locally

After the error messages, the clone seems to complete, but I don't know if there are any issues (I wouldn't know what to look for).  I tried searching for "impersonation" (from the third error) in the Plastic Branches, Changesets, Labels, Attributes, Shelves.  In Changesets I find a couple results, but nothing that looks like the error message.

The only starting point I have is that I know what the third error message refers to, and that it was probably from late August.

So how do I track down these errors and ensure that there are no issues in my Git clone?

Thanks!!

Neal

Share this post


Link to post
Share on other sites

Thanks for taking a look, Carlos!

I think the issue in that SO post is that Git is meant to run on a filesystem, not Dropbox.

Quote

It seems to happen when 2 people push to origin/master at almost the same time. This makes Dropbox update the same file and seems to be the cause of the error. When this happens, you can bet that one of the people who did the push will lose his changes to origin/master.

Quote

It turns out that this "master (Shiki's conflicted copy 2010-01-14)" is a branch in the main repo. Simply deleting it will remove the error.

That's apparently an artifact of Dropbox creating a file with a new filename (like "Shiki's conflicted copy 2010-01-14") instead of allowing a user to accidentally clobber another user's file.  Basically, Git over Dropbox is a Bad Idea, and it's not Git's fault.  It's that Git is not meant to run over a file syncing service like Dropbox.

On the other hand, I assume Plastic would complain rather than letting someone clobber another's changes.... It's a VCS after all!

I'm just learning about Git, but it seems "refs/remotes/origin/master-Fix-for-sketchpad-icon-appearing-over-solution-frame." refers to a branch.  It seems that there's a dot at the end of the branch name, which is not legal in Git (doc).  Before doing the git clone, I actually searched all my Plastic branches for any characters that are illegal in Git, and renamed them to be git-legal (and to just avoid chars that are likely to cause issues).  But when I list branches in git, I see that some of these characters are still present (even though they no longer show up in the plastic branch list).  Are these branch names not actually being changed?

> git branch --list -a | grep '!'
  remotes/origin/master-More-translations!

> git branch --list -a | grep ','
  remotes/origin/master-parent-sign-in,-login-ordering

I had already removed the '!' and changed the "," to "-".

FYI, I'm using Plastic server 5.4.16.918.  Have there been any fixes to git-related, branch-renaming-related, or branch-deleting-related functionality since then?

 

Thanks, and Happy New Year!

Neal

Share this post


Link to post
Share on other sites

Hi,

Well, using git/Plastic over Dropbox don't seems like a good idea. 

I think we haven't changed anything character related in the last Plastic releases. Anyway, I recommened you to download the last Plastic 7.0 client because it includes the last features and bug fixes (inclsuding some GitSync/gitserver related).

After renaming the Plastic branches, please remove the gitserver mappings folder so Plastic can re-create it with the new branch names. After that, you should be able to "git clone" considering the renamed branches.

NOTE: After re-creating the gitserver mappings, you will need to create a new clean git repo to clone from Plastic.

Regards,

Carlos.

Share this post


Link to post
Share on other sites

Hi Carlos,

1. Will downloading the latest Plastic 7.0 client affect my Plastic server's gitserver functionality?  And is it compatible with my old server version?

2. Where is the gitserver  mappings folder on my Linux server?

Thanks!

Neal

Share this post


Link to post
Share on other sites

I found the gitserver mappings directory in /opt/plasticscm5/server/.plastic4/gitserver/git/ .  Maybe it was created "a long time ago" (i.e. before I joined the company), and was copied to this directory when upgrading to plastic5 (also before my time)?

Rather than mess with it, I just added this to my gitserver.conf:

storage.baseDirectory=/opt/plasticscm5/server/gitserver/mappings

Then I kept checking the size of the mappings directory until it stopped growing, so I could be sure that Plastic was finished doing whatever it needed to do.  The git clone worked without errors, and I no longer see unexpected characters when I run git branch -a --list.

You should add this information to your GitServer documentation page, for others in need: https://www.plasticscm.com/documentation/gitserver/plastic-scm-version-control-gitserver-guide.shtml

Thanks,

Neal

Share this post


Link to post
Share on other sites

Hi,

1. Your 7.0 client will be compatible with the 6.0.16.X server.

2. Yes, this is the folder. Not sure why it was in this path before. Using a custom path is a good idea.

What is the information you miss in the guide? Just to be sure we are adding everything for future users.

Thanks,

Carlos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×