9 ms·
GitBucket: A Github/BitBucket clone in Scala
- Shish2k 13y agoSomewhat meta, but why are so many stories on HN "<existing product> written in <different language>", and not "<existing product> with <interesting new idea>"? It's quite possible that gitbucket is better than github or gitlab for some reason, and if so I'd like to know that reason; "It's identical on the surface and different under the hood (not necessarily better, just different)" doesn't seem like a particularly great way to generate interest...
- lynchdt 13y agoIt would be a great way of learning Scala.
- hrjet 13y agoOP here. This is one of the reasons to mention Scala in the title. Not just Scala, but also an opportunity to learn frameworks like Scalatra. I was actually evaluating different Scala frameworks and stumbled upon this project as well as another neat one: https://github.com/ornicar/lila https://github.com/ornicar/lila
- cefstat 13y agoAlthough I understand your motivation, when I see "clone of X in language Y" I think that this is something being hyped only because of the choice of language and not because of the project's actual merits. In the case of GitBucket the most important advantage is its easy installation, especially when compared to the more well known GitLab (that I never dared install after reading through the installation instructions).
- hansgru 13y ago> It would be a great way of learning Scala. For me it is :). I started to learn Scala after finding this nice project. Since it was so easy to install it (just copied the WAR file in a running Tomcat) it made me curious enough to give Scala a try and also to buy the Scalatra book too :).
- wtetzner 13y agoFrom my very brief look at GitBucket, at least one thing jumps out at me: ease of install. Just drop one .war file in a directory and go.
- rrouse 13y agoYou can do that with JRuby as well. I believe that's what you get with Github Enterprise. But yeah, anytime we have ease of install, we all win.
- andyroid 13y agoIf they're trying to attract users you are certainly right. But if they're trying to attract developers/contributors (which seems plausible for a new project), language choice certainly matters.
- amazari 13y agoI guess the major advantage of this solution over github is its source availability under a FOSS license (Apache). The story's title might indeed be more informative by stating that instead of focusing on the implementation language.
- m0th87 13y agoBecause most of us are developers, the medium of a software product is considered interesting as well as the finished product. This should hardly be surprising and I'm glad there's a forum whose interests span beyond an ends-justify-the-means approach to software.
- Shish2k 13y ago> the medium of a software product is considered interesting as well as the finished product I get that, and I find things like the demoscene interesting where the medium is a large part of the value -- but in this case (and most cases when stories like this are posted) it seems like a serious business product, where the medium is an implementation detail - the value is in other things like "open source" and "easy to install"
- SkyMarshal 13y agoFor anyone who's tried to setup and run Gitorious, an "easily installable" version of anything like it (eg a Github clone) is particularly attractive. As mentioned, when I see "written in Scala", the implication is you ./sbt package it into a WAR, then stick it in a standard servlet container, and voila, up and running. In Gitbucket's case you don't even have to package it, just download the war. So for a bunch of coders who may want to run a repo service on their internal network, employer or client's network, this is an interesting option. Also it's FOSS, which I upvote by default here, be it from Mozilla or a random hobbyist. PS - Not to bag on Gitorious, great FOSS project and much improved install as of late.
- levosmetalo 13y agoIn this case, "written in Scala" is already interesting new idea. By the fact it's written in Scala, I already know that it can be run on standard JVM application server stack, that it will need less resources than your standard Ruby implementation and be much more performant and cheaper to maintain if installed locally.
- lmm 13y agoMany stories are submitted, but the ones in that form seem to get upvoted more, I suspect because fans of that particular language upvote them (certainly the go ones seem to get a disproportionate boost).
- malandrew 13y agoAdvertising the language is valuable if you speak that language. It's a large codebase for a complete product that you might want to peruse to learn something about how a large project in that language could be built.
- TheSmoke 13y agoas a developer, i don't need them to be different than each other as they are mostly open source so i can take a good look at what they have done, how they've done it and many other things. i'd like to think such applications as showcase apps for the languages as a prospective user, having this web application up and running somewhere and showing it would be much more compelling to me.
- jheriko 13y agothis is totally uninteresting to me - there are tons of services providing hosting to go with the software used for hosting. what i really want is a source control client that doesn't suck. that is a problem which actually needs solving and where there is a potential market to steal from perforce... (why do i not just make this?!?)
- rfnslyr 13y agoSourcetree? Tower?
- grandalf 13y agoThis is fascinating b/c Github initially provided a powerful UX for something that is actually a p2p system.
- azhar5012 13y agoWill it make learning Scala easier than ever
- joeblau 13y agoI don't 100% understand this project. From the screenshots [1] it looks exactly like GitHub so why would I want to use this product over GitHub, GitHub Private, or GitHub Enterprise? Both GitHub and Bitbucket are community, pages, hosting, public repos, third party integration, new features, innovation and support. While this looks like a cool programming challenge, I need to be sold on why I should use it as a product. Edit: Someone pointed out that they may be looking for developers to hack on the project which makes sense. [1] - http://takezoe.blogspot.jp/2013/09/gitbucket-15-released.html?m=1 http://takezoe.blogspot.jp/2013/09/gitbucket-15-released.htm...
- hrjet 13y agoIt's open source. You could fork and add more features to it. For example, I am going to try and add a file navigator in the PR interface. Another is, voting for an issue without adding a +1 in the comments. This is the biggest pain point in GitHub for me.
- rytis 13y agoFor example when you don't want to rely on GitHub being available/online? Or if you just don't trust 3rd party service providers with your data?
- joeblau 13y agoThis project is marketing the community aspect, not the availability of privacy aspect. This doesn't provide any better availability/privacy than GitHub Enterprise or GitLab and it doest provide anymore trust than those two services. If you're looking to learn Scala or hack on an open-source Scala project, then I could see why this is cool.
- hansgru 13y ago> I need to be sold on why I should use it as a product. What about self-hosting for public and private repos? (Internet or intranet)? It's main usage is for small teams and projects that don't want to put theirs source on external servers, nor do have the money for GitHub Enterprise.
- quchen 13y agoI like the idea of having your private Github. Relying on some company far away to keep their servers running (while having a bullseye for DDoS painted on itself it seems) for larger commercial projects always turned me off a bit.
- aram 13y agoCheck out GitLab[1] - it's pretty well developed and recently hit v6. [1] http://gitlab.org/ http://gitlab.org/
- corobo 13y agoAlso exists as a nice n easy turnkeylinux package - I use it for all of my private repos http://www.turnkeylinux.org/gitlab http://www.turnkeylinux.org/gitlab
- jbrooksuk 13y agoI installed that about a month ago as I was having issues installing GitLab on a fresh Ubuntu installation. Trying to upgrade to the latest version is a massive ball ache. It completely messed up. Eventually I installed myself. Everything works great now, although I had a couple of hiccups when trying to upgrade to a beta (that'll teach me).
- FeloniousHam 13y agoI'm reasonably proficient in Linux, but lost hours trying to install (intent was a greenfield upgrade) Gitlab on clean Ubuntu instance. The drop-in-and-run WAR stuff is the greatest thing ever (I'm using Gitblit).
- EtienneK 13y agoIt's a nightmare to install in Windows though. This is much easier. Drop the WAR file and then type in 1 command to run it.
- pestaa 13y agoWould love to look at some screenshots and judge usability.
- hrjet 13y agoI am not the author nor have I tried it yet myself. Still downloading the war (yeah I am on a slow wire). But it's hugely appealing that 1. It's written in Scala. (A language I am familiar with) 2. It's packaged as a single file; download and run. I like single file installs. YouTrack by JetBrains is another example.
- noir_lord 13y agoI'd missed YouTrack (which considering I adore phpstorm and pycharm is annoying), it looks excellent :).
- hrjet 13y agoYouTrack is neat. Keyboard shortcuts for everything, well thought out interface. And it is implemented in this new meta-language called MTS. MTS is a topic unto itself. Check out this for example: http://mbeddr.wordpress.com/blog/ http://mbeddr.wordpress.com/blog/ An Embedded C DSL, built using MTS.
- noir_lord 13y agoThe JetBrains guys build incredible products and have a wide range of products all of which seem to be updated on a very regular basis, they are some intimidatingly efficient developers :).
- yreader 13y agoYou mean MPS http://www.jetbrains.com/mps/ http://www.jetbrains.com/mps/, not MTS, rt?
- hrjet 13y ago
- alecsmart1 13y agoAm truly impressed with this project. For those who are looking for screenshots- http://takezoe.blogspot.jp/2013/09/gitbucket-15-released.html?m=1 http://takezoe.blogspot.jp/2013/09/gitbucket-15-released.htm... It's a near clone of GH.
- Heliosmaster 13y agomaybe even a tad too much. But neat indeed.
- azhar5012 13y agoYes. But needs some improvement
- elithrar 13y agoAgreed. I like the idea, but the buttons, issue tracker, etc are all a bit too similar for my liking.
- hansgru 13y agoAll projects using the default Twitter Bootstrap styles look very alike :). One could of course using one of the many Bootstrap UI Builders generate a totally different look, but so far nobody volunteered :).
- gregmolnar 13y agoWay too similar. People should come up with new ideas instead of cloning someone else's work.
- titaniu 13y agoHeck they stole most of their name from BitBucket: https://bitbucket.org/features https://bitbucket.org/features And BitBucket was an attempt to steal GitHub's business primarily with Mercurial at the time, that Atlassian bought up, and since then GitHub has still been their #1 competitor, (not counting Sourceforge).
- MrBuddyCasino 13y agoAny idea how fast it is? GitHub have put a considerable amount of effort into a very fast implementation.
- deleted 13y ago[deleted]
- hansgru 13y ago> Any idea how fast it is? GitHub have put a considerable amount of effort into a very fast implementation. From my tests, is usable. I'm using in the intranet, and have an installation with 20 users and 15 repos so far, with ~100MB each at the moment. However, this project is not targeted as a GitHub replacement (massive hosting with many huge repositories), but toward small teams that need a UI and simple admin for their Git repos and aren't allowed (or don't want) to use an existing cloud service, or don't have the budget for the GitHub Enterprise.
- royjacobs 13y agoWow, it has precisely one unit test.
- AhtiK 13y agoAre this kind of full clones legal? I understand that the server-side implementation is based on GitHub as a black box but I'm wondering about the blatant clone of the UI.
- deleted 13y ago[deleted]
- hansgru 13y ago> Are this kind of full clones legal? This is not a "full clone" but "something like GitHub" but for your own private server. > I understand that the server-side implementation is based on GitHub as a black box No, it's not. The serverside is implemented in Scala using a JGit as a GIT library for the files and H2 database for saving the metadata.
- amazari 13y ago> No, it's not. The serverside is implemented in Scala using a JGit as a GIT library for the files and H2 database for saving the metadata. From a quick scan of the sources, H2 seems to be an hard-coded dependency. Do you have any plan on abstracting the Slick driver to allow others DB providers ?
- hansgru 13y ago> Do you have any plan on abstracting the Slick driver to allow others DB providers ? I'm not the developer of the project, but database independence was not requested so far :). I suppose if users will ask it, it will be added. H2 suits however very well all the needs, it has a web based Admin UI that can be simply reused, and it's performance is fantastic: http://h2database.com/html/performance.html http://h2database.com/html/performance.html
- AhtiK 13y agoThanks. Just to be clear, I appreciate the effort and do not say it was something illegal to do. I was just wondering about theoretical consequences of cloning UI/tool of a successful company software with the reason of the tool/interface being too expensive. If it's done for learning the technologies then it's "for educational purposes" and probably falls into another copyright use category that is more permissive.
- moneypenny 13y agoDoes exactly what it says on the tin. Very very nice. Painless to run, too.
- Nux 13y agoSuper nice! Shall deploy it.
- Ygg2 13y agoHow does this communicate with git?
- wtetzner 13y agoLooks like it uses JGit.
- justinholmes 13y agoShame the test directory only contains one test
- sandGorgon 13y agoIs there an equivalent for github's ssh key lookup - which used to be based on mysql, but is now based on a web service talking to mysql using persistant connection pools.
- programminggeek 13y agoEvery time I see a github project for installable software, the first thing I want to see is a screenshot. I realize that's shallow, but it is what it is.
- alyandon 13y agoThis looks like a lot of effort has gone into it and I eagerly await support for ssh & https. We have an internal instance of GitLab set up here at work and I'd love to see something that was easier to upgrade take its place. Edit: I just tried to import a large code base with a pretty lengthy history and managed to bring the entire service down. Problem accessing [snip]. Reason: Timeout trying to lock table "ACCOUNT"; SQL statement: select x2."USER_NAME", x2."MAIL_ADDRESS", x2."PASSWORD", x2."ADMINISTRATOR", x2."URL", x2."REGISTERED_DATE", x2."UPDATED_DATE", x2."LAST_LOGIN_DATE", x2."IMAGE", x2."GROUP_ACCOUNT" from "ACCOUNT" x2 where x2."USER_NAME" = ? Edit2: Seems someone already reported it https://github.com/takezoe/gitbucket/issues/112 https://github.com/takezoe/gitbucket/issues/112 Edit3: Repository is corrupt. :( Edit4: No it isn't - hurray git :)