Defect #11918

Official git / github mirror of redmine repository is broken

Added by Anonymous about 5 years ago. Updated over 4 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Jean-Baptiste Barth% Done:

0%

Category:Website (redmine.org)
Target version:-
Resolution: Affected version:

Description

I don't know who is responsible for the https://github.com/redmine/redmine/ but I hope i can contact that person via this tracker:

I wanted to point out that recent data on https://github.com/redmine/redmine/ is broken. In particular, the history of the commits tagged as 2.0.4 respectively 2.1.0 is invalid. This is most easily seen by looking at https://github.com/redmine/redmine/commits/2.1.0 where no history at all is present. The correct history can be seen here, though: https://github.com/edavis10/redmine/commits/2.1.0

Older tags like 2.0.3 seem to be fine, though.

I hope somebody can get this fixed.


Related issues

Related to Redmine - Defect #12535: Missing 2.2-stable branch at github Closed
Related to Redmine - Feature #14961: Reconsider moving from svn to git & GitHub Reopened

History

#1 Updated by Etienne Massip about 5 years ago

  • Category set to Website (redmine.org)

#2 Updated by Etienne Massip about 5 years ago

You better use the SVN repository.

#3 Updated by Anonymous about 5 years ago

Quite possibly true. But if this is truly an "official" mirror, i hope it will be maintained (in this case, the broken conversion results would have to be redone for the affected branches, I guess). Or else, it could be removed entirely. But leaving it around in broken state seems like a bad idea to me....

As to why I was looking into using the git mirror of your repository: I am thinking about using capistrano to maintain and deploy some redmine instances, and git is simply much faster than Subversion over the wire; it's also quicker in switching between different tags / branches. That said, using your SVN repos, or a self-made git mirror of it, or a simple git repos which only contains point releases, should also work for me. I just thought I should report the broken state of the "official" git mirror :-).

#4 Updated by Michael Stucki about 5 years ago

Confirming the issue. And I agree that such a mirror should be stopped if nobody feels responsible for it.

Besides this, I was wondering anyway why the mirror by Eric Davis was not used as a basis for the "official" mirror? Why did it have to be a new clone with new commit hashes?

For the time being, I will stick with Erics mirror and hope that there will be some explanation on why this did make sense...

#5 Updated by Jean-Baptiste Barth about 5 years ago

  • Status changed from New to Confirmed
  • Assignee set to Jean-Baptiste Barth

Hi, I maintain this repository, but the last few months proved that git-svn is full of various bugs and very hard to keep stable. As soon as I add a new branch now, it loses sync with other objects, and the error leads to binary files (perl bindings for svn) I cannot debug at all.

About Eric's mirror, it was not syncronized for many months when I first started the "redmine/redmine" mirror. I sent an email to him about a possible transition but never got any answer. Plus I didn't know at this time how to rebuild a git-svn index just from the git repository. It turns out to be doable but it's hardly documented, so I began with a fresh git-svn clone at the time.

I'm sorry if some tags are not kept in sync correctly. I'll rebuild them correctly, for this at least I don't depend on git-svn. The main other problem I know is that objects between branches don't necessarily share the same SHA-id even if they're the same. It doesn't make branches unusable, but if you want to rebase your work against one of this branch, you just have to use the -s ours option.

I think today :
  • this git mirror CAN be used to contribute to redmine core through git / git-svn, which is its main purpose
  • this git mirror CANNOT be used to reliably switch to a specific tag, as reported above => I'll try my best to fix that for now
  • this git mirror CANNOT be used reliably with stable branches ; Eric's neither (the last sync'ed branch is 1.4-stable...) ; I'm sorry for that but there's not much I can do

The SVN repository still is the main and only reference for the Redmine codebase. The github mirror is just a facility provided on my free time to help people who'd like to contribute through a git-based workflow.

Btw, if somebody wants to take over this mirror I'm fine with that, please contact me at jeanbaptiste.barth <at> gmail <dot> com

#6 Updated by Anonymous about 5 years ago

I am surprised to hear about these issues with git-svn, several developers (including me) used to use it without a hitch for a year or so at the ScummVM project before we finally moved the SVN repository over to git. And I never ever had issues like you describe (including using different branches. No idea about tags, though). Of course this is purely anecdotal and there are many possible reasons for this: E.g. maybe there are regressions in modern day git-svn, or maybe you are using SVN feature we didn't use (SVN got some new features since ScummVM moved away from it), etc.

Anyway, I am using the github mirror as well as a local git clone of it primarily because it makes it very convenient to quickly browse the history, find out where and when and why a line of code was introduced etc. It is also much faster for me in operations.... So I really hope it will stay around. I realize it is not "official", and I plan to submit patches via this tracker, but for developing these patches, using git is 10 times more convenient for me. The fact alone that I can commit my changes locally is a real time saver...

As such, I am very grateful that you are investing resources (including some personal time) into running this SVN->GIT mirror!

May I ask what steps you use to perform the mirroring, and which git version? Also, perhaps you or somebody else who wants to help might be interested in looking at http://subgit.com/ which is an alternative and supposedly superior solution to git-svn. Here is a guide on how to use it to create a readonly git mirror of a svn repository: http://blog.subgit.com/readonly-subversiongit-mirror-with-subgit-and-svnsync/
Drawback of SubGit is that it is not open source. But it is free to use for open source projects.

#7 Updated by Michael Stucki about 5 years ago

If you are not familiar with git-svn, why can't we just take Erics mirror and continue with this one?

I think it's not too late to drop the current "official" mirror since it seems to be broken anyway. Also, having the same mirror would have several advantages also regarding forward- and backporting issues from and to ChiliProject (they use Git already and their repository is based on Erics mirror).

I've been using his mirror for quite some time and wondered when there suddenly was a new "official" mirror. I cannot remember a time when it was not up-to-date, but you will probably have to find out about this with Eric directly. Whenever I used it, it worked well.

Anyway, I'm not sure about the reasons why Eric didn't answer your mails, but I think he and you should both have an interest in this working seamless.
If there is anything I can help on top of that, let me know.

Thanks for your work!

#8 Updated by Jean-Baptiste Barth about 5 years ago

Thanks for your feedback, I'm away from keyboard for the next 3 days but I'll keep you informed then

#9 Updated by Anton Orel about 5 years ago

Folks, why does one of the most popular rails application still doesn't use one of the greatest scm tool as git in the twenty first century? Is there any real issues to make community more happy? Why are you so conservative? There are more than a few hundred hours which can be safed for all of us.

#10 Updated by Etienne Massip about 5 years ago

Anton Orel wrote:

Folks, why does one of the most popular rails application still doesn't use one of the greatest scm tool as git in the twenty first century? Is there any real issues to make community more happy? Why are you so conservative? There are more than a few hundred hours which can be safed for all of us.

I don't see why switching to git would be of any help to the community? Unless you're thinking about moving to Github?

#11 Updated by Toshi MARUYAMA about 5 years ago

Anton Orel wrote:

Folks, why does one of the most popular rails application still doesn't use one of the greatest scm tool as git in the twenty first century?

I don't think that git is greatest scm.
I have contributed some revisions to TortoiseHg which is Mercurial GUI.

Is there any real issues to make community more happy? Why are you so conservative?

Redmine is NOT conservative.

There are more than a few hundred hours which can be safed for all of us.

If git is greatest scm, why ChiliProject have not ported Rails3 yet?

#12 Updated by Jean-Baptiste Barth about 5 years ago

Please don't turn this post into a useless Git VS Subversion troll. Git is a great tool, Subversion is a great tool, but redmine project leader (and major contributors it seems) don't want to switch so it's not worth our time to discuss it here.

@Max: I don't know either why git-svn just stopped working one day, there are a lot of possible reasons, but the major one I think is my lack of understanding of svn itself and git-svn also.. Subgit looks good, but it's a black-box that could do nasty things, so I won't install it on my server. Plus we don't have any warranty about the free-for-opensource license in a mid/long-term.

@Michael: I think you're right. I just contacted Eric again, here's the mail I sent :

Hi Eric,

I might already have asked the question, but is there any chance I take 30 mins of your time to talk about the github mirror for redmine ?

To sum it up, maintaining "redmine/redmine" turns out to be a lot more difficult than I thought at first, because of my poor knowledge of svn and git-svn details. And it seems you are synchronizing again "edavis10/redmine" for a few months. I'd like to know where you are going with this, if I can eventually sync reliably redmine/redmine on your repo, or if you want to give it away and then it would be awesome to organize a better transition than the first time I tried...

We can discuss on IRC if you prefer.

Thanks for your answer!

You might all have noticed that the "redmine/redmine" mirror is not synced for a few days. It's because rubyforge access to Subversion repos via HTTP is down for about 2 weeks now. Jean-Philippe decided to move the main redmine repo on his server, see #12336. Depending on Eric's answer, I'll sync redmine/redmine on his repo as soon as possible, or I'll switch to my own sync of the new repo. I'll update this ticket accordingly.

If anybody is interested in taking over this synchronization, I'm open to suggestions. I must admit I don't have enough time to take care of it as I should, so if anybody has more time, he/she's welcome!

#13 Updated by Anonymous about 5 years ago

I fully agree with Jean-Baptiste, please let's not turn this into a pointless discussion about VC systems. In my experience, the best VCS for a job is always the one that the devs are most comfortable. Personally, I am a git fan, but Svn, mercurial, bazaar, fossil, etc. all have their merits, too... And it never helps to call people names, either.

Back to the topic at hand: I currently do not have a machine that is always online, but I soon might have, at which point I could provide regular git-svn updates, if that is desired. Alternatively, I am willing to assist with setting up a regular git-svn cron job somewhere, include some scripting to handle things like tags better.

And I noticed the outage of the public SVN on rubyforge, too. It seems they upgraded Apache and in the process lost the config options that were required for public SVN access... Unfortunately, it seems impossible to contact support staff there, at least there were no responses so far to the relevant tickets there. See:
http://rubyforge.org/tracker/index.php?func=detail&aid=29666&group_id=5&atid=102
http://rubyforge.org/tracker/index.php?func=detail&aid=29665&group_id=5&atid=102

This is rather annoying, since it seems to be an issue that could be resolved in 15 minutes by an experienced admin :-(. If the redmine team has any direct contacts to rubyforge, perhaps you could raise the subject with them?

#14 Updated by Anton Orel about 5 years ago

Thank you for extended answer. I agree with there is no difference between Git and Mercurial or other modern scm. But the SVN is holding brake and doesnt allow move forward. I have used svn twice for last free years ruby/rails development and it was always the redmine. Most developer teams are using PR code review practice with hosting platform like a github or bitbucket. Rails core uses git and they are not mistaken. A lot of people will try to make a step out and make a fork like it did Eric Davis instead of combine our efforts to make modern and flexible application. But, it is your decision...

#15 Updated by Etienne Massip about 5 years ago

Anton Orel wrote:

A lot of people will try to make a step out and make a fork like it did Eric Davis instead of combine our efforts to make modern and flexible application.

Still, you're mixing up the choice of the CVS tool and the way to make the community participate.

#16 Updated by Alexander Oryol about 5 years ago

Guys, rubyforge mirror is alive! Please, sync http://github/redmine/redmine
Thanx.

#17 Updated by Jean-Baptiste Barth about 5 years ago

Alexander Oryol wrote:

Guys, rubyforge mirror is alive! Please, sync http://github/redmine/redmine
Thanx.

It's not alive through "svn":

$ ./update.sh 
* Fetching from subversion
Connection refused: Can't connect to host 'rubyforge.org': Connection refused at /usr/lib/perl5/SVN/Core.pm line 654
    SVN::Error::confess_on_error('_p_svn_error_t=SCALAR(0x20ebde8)') called at /usr/lib/perl5/SVN/Ra.pm line 536
    SVN::Ra::new('SVN::Ra', 'url', 'svn://rubyforge.org/var/svn/redmine', 'auth', '_p_svn_auth_baton_t=SCALAR(0x1e49d98)', 'config', 'HASH(0x1f50dd0)', 'pool', 'SVN::Pool=REF(0x20ebb78)', ...) called at /usr/lib/git-core/git-svn line 5512
    Git::SVN::Ra::new('Git::SVN::Ra', 'svn://rubyforge.org/var/svn/redmine') called at /usr/lib/git-core/git-svn line 2139
    Git::SVN::fetch_all('svn', 'HASH(0x1c9c938)') called at /usr/lib/git-core/git-svn line 527
    main::cmd_fetch() called at /usr/lib/git-core/git-svn line 347
    eval {...} called at /usr/lib/git-core/git-svn line 345

$ telnet rubyforge.org 3690
Trying 50.56.192.79...
telnet: Unable to connect to remote host: Connection refused

And I cannot change the reference URL easily, because, "git-svn". Tried to follow a tutorial by edavis (here) but git-svn freezes when I do the local rebase. No more information with the "verbose" option. Any attempt to understand what happens ends in a "*.so" library... I'm done with this.

No answer from Eric Davis for now, but I mirrorred edavis10/redmine anyway. Hope it will satisfy most people out there. Note that previous copies or forks of github's redmine/redmine cannot be kept in sync, you have to start from scratch or use "redmine/redmine-old", which will not be synchronized in a near future.

I'll wrap everything up in a wiki page so that the process is clearer. Let me know if something doesn't work as expected.

edit: s/svn/git-svn/ in a sarcastic comment

#18 Updated by Jean-Baptiste Barth about 5 years ago

The sync seems to be working like a charm. Eric sent a reply to my email this week, he's busy but open to a transition if we want it. I told him I'm fine with the current state of things, now that "redmine/redmine" is synchronized reliably, there's nothing much urgent now. We'll see if we can organize something in the next few weeks.

#19 Updated by Terence Mill almost 5 years ago

There is missing 2.2-stable branch on https://github.com/redmine/redmine.

#20 Updated by Jamie MacIsaac almost 5 years ago

Bump. Can the 2-2-stable branch get added to https://github.com/redmine/redmine please?

#21 Updated by Jean-Baptiste Barth almost 5 years ago

I ping'ed Eric Davis, the new branch should be propagated as soon as he adds it to his mirror.

#22 Updated by Jean-Baptiste Barth almost 5 years ago

  • Status changed from Confirmed to Closed

2.2-stable branch added. I close this issue and I encourage you to open new issues in the future (you can assign it to me if you're sure it's about the github mirror)

#23 Updated by Michael Stucki almost 5 years ago

Cool, thank you!

#24 Updated by Gabriel Mazetto almost 5 years ago

since this is the ticket about the Git repository, and as have been suggested that moving to Github could means something good to the project, I would like to point that Github DO have support for Subversion for quite a while:

Here is the details: https://github.com/blog/1178-collaborating-on-github-with-subversion

The best part of it is that you guys could potentially continue to use Subversion the way you are used too, and get Git support working for everybody else "for free".

#25 Updated by Gergely Nagy over 4 years ago

Gabriel Mazetto wrote:

The best part of it is that you guys could potentially continue to use Subversion the way you are used too, and get Git support working for everybody else "for free".

Sounds great!

+1

#26 Updated by Toshi MARUYAMA about 4 years ago

  • Duplicated by Feature #14961: Reconsider moving from svn to git & GitHub added

#27 Updated by Toshi MARUYAMA about 4 years ago

  • Duplicated by deleted (Feature #14961: Reconsider moving from svn to git & GitHub)

#28 Updated by Toshi MARUYAMA about 4 years ago

  • Related to Feature #14961: Reconsider moving from svn to git & GitHub added

Also available in: Atom PDF