As of 2016-02-26, there will be no more posts for this blog. s/blog/pba/
Showing posts with label Google Code. Show all posts

Weird behavior

Around last May1, I started to notice a weird behavior: some people like to clone a repository but without adding any commits on GitHub, Google Code, or any other source code hosting provider I believe. A few people even fork my dotfiles, that really loses me.

For example in the following screenshot, it shows only one of 18 clones has made some changes:

Those 17 clones have never been done with anything.

Rationale?

I have long try to understand or to explain to myself why they do that. Whenever I see cloned repositories under some peoples account, which have no commits, I ask myself

Why?

Whats the point of cloning a repository under ones account and making no commits to it? Why not just clone the original repository to local even you do plan to make some commits locally without pushing to the public accessible repository.

Maybe they might commit or contribute some changes later?

That still makes no sense at all. You can always push to another repository later on, you do not need to clone to your account first.

If you are one of this type of cloner or you know their reasons, please leave a comment, Id like to understand.

My cloning

Whenever I want to contribute, I

  • Clone the original repository to local, then work on it.
  • Commit and commit.
  • go to hosting provider, fork or clonewhatever they call itthe original repository under my account
  • Edit local repository configuration, change default push path to the one under my account
  • Push changes.
  • create a pull request.
  • once pulled, I delete the forked or cloned repository unless I am still going to make more contributions.

The reason I dont fork or clone before working on it, thats because sometimes you realize that your idea may not be good enough once you seriously read the source code in order to make changes. You may drop your idea. I make sure I have changes committed before I fork or clone. Only do that when I am sure I have something to contribute or to push.

I dont keep repository whose commit history is part of original. I really dont understand why so many people keep a clone, an super outdated clone under their account. Well, not just one, I have seen a few people own accounts which contain dozens of outdated clones and thats all those accounts have: full of outdated clones.

Use star or watch

One reason I can remotely guess is, they use fork or clone to track repository. If so, then please:

  • If you like a repository, star it, dont fork or clone it.
  • If you are interested in changes of a repository, just watch it!

You wont lose them, for example, on GitHub, you have a special Stars page lists all repositories you have stared. Similar list can also be found on your Google Code profile page.

Once I have tried to search a repository on GitHub via search engine, there are some real clones, but when mixed with those without additional commits, its really hard to see which it is original or good forks. You need to understand, sometimes forks can get even higher rankings in search results if more people use the forked ones.

And there are also people fork or clone by creating a new repositories, not by those fork or clone buttons. This adds another dimension of troubling. Things sometimes can get little messy.

From my perspective and habit of keeping my online account in clean state as much as possible, those people stuff trash or useless repositories in their account. I am by no means saying those repositories literally are trash, just its useless since they are outdated. Its like hoarding online, those forkers or cloners are repository hoarders in my opinion, thatd be how I describe them as I dont know why they do it.

Please do understand that I am not trying to criticize those peoples behaviors but simply let them know there is no need to do so for themselves or for others. They is no absolutely right way or wrong way about how you use, but there does have better way to do things if criteria meet.

[1]I first noticed at 2012-05-23T02:38:45Z.


I was trying to read an issue from a link, but Google Code Issue Trackers seemed to be down.

I have seen this error page many many times, it's quite general on Google's products. But I have never really read it.

There is an error, but I am not talking about Error 502.

Can you find it?

Sorry, no prize, just for fun.

Either Google employees are elite or it just is, well, a tiny error.

I created a project on github for mirroring my project on Google Code. I am new to git, so maybe there is a better way to do this.

First clone the Subversion repository and push to the Git:
git svn clone https://foo.googlecode.com/svn/ git-foo
cd git-foo
git remote add git-foo git@github.com:username/foo.git
git push git-foo master
After committing in the Subversion repository, run
cd /path/to/git-foo
git svn fetch
git svn rebase
git push git-foo master