22 ms·
Show HN: Gitly.io – high performance Git service with a 10s installation time
- charlieegan3 10y agoLooks cool. There seemt to be some styling issues with fenced blocks in readmes, e.g. I cloned this repo: https://charlieegan3.gitly.io/personal-website https://charlieegan3.gitly.io/personal-website
- alex-m 10y agoThanks for reporting! Yeah, markdown needs a lot of work. It will be fixed this week.
- glandium 10y agoYou may want to check with the Software Freedom Conservancy wrt trademark: "In addition, you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service without Conservancy's written permission. For the avoidance of doubt, this provision applies even to third-party marks that use the Marks as a syllable or as part of a portmanteau to refer to a product or service's use of Git code." https://git-scm.com/trademark https://git-scm.com/trademark https://public-inbox.org/git/20170202022655.2jwvudhvo4hmueaw@sigill.intra.peff.net/ https://public-inbox.org/git/20170202022655.2jwvudhvo4hmueaw...
- alex-m 10y agoThanks, I will.
- tyingq 10y agoInteresting. Does this mean that the popular existing sites (GitHub, GitLab, etc) did get permission? Or is this a looming issue?
- rbbitbucket 10y agoRead the 2nd link ;)
- tscs37 10y agoThis looks very nice indeed and the pricing is not bad either.
- hacktothefuture 10y agoGreat start! Looks good works well. Can't wait to see more.
- alex-m 10y agoHi, Gitly is my side project I've been working on for a couple of months. It is an open source repository manager with a focus on performance, ease of use, and productivity (especially for larger projects). It's still in an early alpha stage, a lot of features are missing. The source code and the ability to self-host will be available within a month. There's GitHub, Bitbucket, GitLab, gogs. Why create another solution? Gitly has been designed to be very fast and ridiculously easy to maintain. It is much faster than all of the above. It also offers a couple of unique features. You can self-host gitly in 10 seconds. It has no dependencies, and doesn't require a database or a web server. Updates are automatic and seamless. It's easier to set up than gitweb! At the same time gitly is going to have the same features GitHub/GitLab offer, and even more. How fast is gitly? Every single page takes less than 0.5s to load, no matter how big the project is. There are no JS libraries used (in fact, there's barely any JS at all), so the client side performance is great. You can host your repositories on gitly.io, and it offers the same high performance. Cloning the entire Spring framework on gitly.io takes 11 seconds. On GitLab.com it took 7 minutes and 50 seconds. Of course GitLab.com is massive. However, the way gitly was built, performance will always be this good: it can be scaled horizontally very easily. And if you host it locally, the cheapest 256 MB instance should be enough for most users. Gitly works great with large projects. I successfully tested it with a 10 year old repository with 4 million lines of code. Bitbucket took almost an hour to cache. Gogs crashed, and I didn't manage to install GitLab to test it locally after trying for 2 hours. Many of the unique features are to improve productivity and help understand the code base better, which is very useful for large projects. One of them is called "top files". It shows the largest files in any directory of the repository on one page with detailed language stats. Here's how it looks like for the Spring framework: https://examples.gitly.io/java-spring-framework/top-files/master/spring-core/src/main https://examples.gitly.io/java-spring-framework/top-files/ma... Another unique feature is language stats. Gitly displays detailed language stats for every single directory. This can give a better picture of the structure of the project. One of my favorite features is the search. Unlike all other search engines, the one in gitly will search exactly what you asked for: character by character. For example, if you are a Rust developer, and you need to search for the following declaration: fn next(&mut self) -> Option<Self::Item> { You type it, and you only get the results you are interested in: https://examples.gitly.io/rust-alacritty/search?q=fn%20next(%26mut%20self)%20-%3E%20Option%3CSelf%3A%3AItem%3E%20%7B https://examples.gitly.io/rust-alacritty/search?q=fn%20next(... Gitly also has discussions, which is like a simple forum where you can discuss the project, ask questions and so on. Mailing lists will be integrated as well. Like most other solutions, gitly has a Trello-like issues board, and you can import all your Trello boards. It's still an alpha. There are a couple of rough edges (e.g. markdown support is not great). Here are the missing critical features that will be implemented within the next two weeks: - Forking, pull requests, code review. - User profile (password change, SSH keys etc) - SSH support (only HTTPS for now, making SSH authorization secure takes time) Some of the upcoming functionality I'm excited about: - Go to definition support for most popular languages - Issues as part of the repository, so that it's possible to manage them locally - Pull request interface that would make Linus happy - Search in commit history - A way to organize a large amount of repositories Thanks for your time, looking forward to your feedback.
- justinsaccount 10y agoWhat's it written in?
- alex-m 10y agoGo.
- skykooler 10y ago> Self-hosting will be available on April 1, 2017. Really, or is that just an April Fool's joke?
- alex-m 10y ago:) I didn't even realize what date I chose. No, it's not a joke.
- koolba 10y agoAlways nice to see competition in this space. Keeps people on there toes though it's a steep hill to climb feature wise to bring out something as polished as the alternatives. > Self-host in 10 seconds > You can run gitly on your own server. It requires no installation or maintenance. You don't even need a webserver or a database. (Self-hosting will be available on April 1, 2017.) Maybe April fools day isn't the best choice for a future release date? Though I guess it worked for Gmail...
- alex-m 10y agoMaybe :) You are not the first person to note that.
- ErrantX 10y agoI like the sub-domain approach. It's fast and nice enough. I'd focus on UI consistency; pages have different navigation elements. Issues trello-style board is cool but let down by over-simple styling. FYI the default avatar image (https://errant.gitly.io/img/avatars/default.png https://errant.gitly.io/img/avatars/default.png) seems to be missing? On the issues page, JQuery UI seems to be missing too. If you keep working on it I'll probably keep using it :)
- alex-m 10y agoYeah, I really wanted to have unique subdomains for each user. The design will be improved. This is a very, very early release. I'm also not a great designer, so hopefully I'll get some help there :) The entire issues section will see a huge update in 2 days.
- jazoom 10y agoWhat's the actual benefit of a subdomain for each user?
- chris_overseas 10y agoHopefully "user" really means "company" rather than individual user. Otherwise copy/pasting URLs between colleagues won't be much fun.
- jazoom 10y agoI'm sure it does. But I still can't see the benefit of a subdomain rather than a subdirectory.
- daenney 10y agoIt could be easier for load balancing or if you want to shard. You could do it at the DNS level at that point, without needing to strip the TLS bits, decode the HTTP request and go from there. For the end user though I can't see much of a benefit of a subdomain over a URL path, or the other way around. I don't think it matters much but the author might have bigger plans in which having the subdomain could be easier.
- romuloab42 10y agoIt is so refreshing to see slim, fast websites. Only the minimal JS is used. Even though I don't have many repositories, I'll certainly consider supporting gitly. Please remain true to your current vision. Just a minor point: although the website uses so little JS, the Signup form is broken without it. EDIT: by broken I mean it returns a JSON instead of an HTML page or HTTP redirect.
- alex-m 10y agoThank you! I knew I'm not the only one with this vision. It will always stay this way. The form should work fine, I'm getting registrations, but I'll check it. What browser are you using?
- romuloab42 10y agoIt's Chrome 56.0.2924.87 on macOS, but the issue is that the form point to an API endpoint, so without Javascript I can only see the JSON response instead of being redirected to the protected page.
- alex-m 10y agoAh, right. If JavaScript is disabled, you are going to get the JSON response. I will definitely make it work without JavaScript. Thanks for reporting.
- hdhzy 10y agoVery cool. I've been thinking about something like that for a long time. I also don't mind paid solution if it'll be open source.
- alex-m 10y agoThanks. > I also don't mind paid solution if it'll be open source. That's exactly what it's going to be.
- baal80spam 10y agoLooks great. May I ask, how can you provide free self-hosting (even if it's free only for <5 users)? edit: I didn't receive email confirmation yet, after signing up (15 minutes ago). HN server effect?
- alex-m 10y agoThanks. Could be a sendgrid issue, or marked as spam.
- alex-m 10y agoAre you asking about how I'm going to be able to offer it for free for small projects? The hardware is pretty cheap, plus there are special Compute Engine offers for startups.
- adar 10y agoCheck your junk mail folder, that's where my confirmation email ended up.
- movedx 10y agoJust so you know, your email for verifying an account signup comes through with a pretty high spam score (for me at least.) The first email was rated 4.5 and the second 5.9 (I signed up two accounts: personal and business.) I use Fastmail as my provider.
- mtrn 10y agoVery nice. It really took me just 10s seconds to sign up and clone a repo. I believe this kind of easy of setup should be much more common - across many domains and languages. That said, details will matter in the longer run. The markdown and code rendering on github has gotten such a large amount of attention over the years, that it's hard to compete.
- alex-m 10y agoThanks for signing up! I'm really passionate about simplicity, and gitly is always going to stay this way.
- mtrn 10y agoMe too. It's just hard to achieve. Are there any projects or books that inspire you regarding simplicity in design and implementation?
- alex-m 10y agoThe Go language. I can't really think of anything else right now. I was inspired by GitHub of course, I really liked its design when it came out (it was a breath of fresh air after SourceForge and others). I tried to make it even simpler and more efficient.
- Analemma_ 10y agoIt's so cool to see people focusing on web app performance. Everyone complains about it but no one follows up their complaints with action. That's a big plus and I will definitely keep my eye on this. This is going to sound petty, but I think it's important: you might want to come up with a better name. "Gitly.io" is, like, three different regrettable startup naming fads in one.
- smallgovt 10y agoI'm sorry for littering this thread, but I wanted to ask Analemma_ a question and didn't know how else to communicate with him/her. 23 days ago, you made a comment: "Put down the Ayn Rand and go outside." in this thread: https://news.ycombinator.com/item?id=13645996 https://news.ycombinator.com/item?id=13645996 I've been reading about objectivism, and wanted to ask what you meant by this comment. Again, really sorry to be off-topic, but the question is burning.
- Analemma_ 10y agoUm, okay. In your comment, you said that CL keeping their product free instead of taking money to improve it was "selfish" in that it was (if I understood you correctly) withholding or stealing innovation from everyone else. I felt this position was ridiculous and could only have come about from reading too much Ayn Rand, of whom I am (to put it mildly) not a fan. Mine was admittedly an unnecessary and kinda trollish comment, and I've been trying to make fewer of those. Don't take it too seriously. To HN's credit, nobody upvoted it.
- smallgovt 10y agoAppreciate your response, and I'm happy you made the comment as it piqued my interest in the subject matter. Could you help me understand what part of the stated position reminded you of Ayn Rand / objectivism? I'm struggling to make the exact connection. Is it that ppl who read Ayn Rand tend to project a selfish motive on others? Also, would love to read more on why you're not a fan of Ayn Rand if you have any links. And, for the record, upon further inspection, my statement about CL was misleading. CL makes a lot of money, and profits could easily cover the cost of product development. I'm guessing their business philosophy just runs counter to these improvements.
- floatboth 10y agoWow, the design is so "inspired" by GitHub… the language percentage thing especially
- aphextron 10y agoThis looks promising. Can't wait to check out the source. How exactly do you plan on monetizing while allowing unlimited free private repos? Also, for anyone looking for a good self-hosted git service like this, check out the existing open source project GOGS https://gogs.io/ https://gogs.io/
- arez 10y agoI would recommend to use gitea.io it's a gogs fork that far a better open-source project, that gogs maintainer weren't too active at some point
- sdesol 10y agoI've been following both projects with quite some interest and it looks like gogs has become much more active, now a days. Here's a quick break down on both projects: 3 months of commits activity: https://gitsense.com/gogs-gitea-analysis/commits-3months.png https://gitsense.com/gogs-gitea-analysis/commits-3months.png 6 months of commits activity that only unique commits between gitea and gogs. https://gitsense.com/gogs-gitea-analysis/commits-6months-unique.png https://gitsense.com/gogs-gitea-analysis/commits-6months-uni... September was when things started to slowly deviate, between the two projects, and November was when gitea really went off on their own. At around January, gogs started to pick up steam and has continued on an upward trajectory ever since. This is what it looks like, if you want to merge gitea, back to gogs. https://gitsense.com/gogs-gitea-analysis/merge-gitea-to-gogs.png https://gitsense.com/gogs-gitea-analysis/merge-gitea-to-gogs... You are looking at 3,201 changes that needs to be resolved. This is what moving gogs to gitea looks like. https://gitsense.com/gogs-gitea-analysis/merge-gogs-to-gitea.png https://gitsense.com/gogs-gitea-analysis/merge-gogs-to-gitea... Going this way, you'll only have to resolve 1,244 changes. These are the contributors to gogs, within the last 3 months. https://gitsense.com/gogs-gitea-analysis/gogs-contributors-3months.png https://gitsense.com/gogs-gitea-analysis/gogs-contributors-3... Contributions to gitea, within the last 3 months. https://gitsense.com/gogs-gitea-analysis/gitea-contributors-3months.png https://gitsense.com/gogs-gitea-analysis/gitea-contributors-... The contributions information, better highlights why gitea forked, since for gogs, virtually all changes, goes through u@gogs.io
- dlehman 10y agoCan you clone a bitbucket repo, or only GitHub?
- alex-m 10y agoYou can clone anything.
- drizze 10y agoWhy is it that the C++ code is pink in one screenshot, but blue in another? And Python is blue in one screenshot and pink in another? Looks like a great project! Thanks for sharing!
- alex-m 10y agoGood question. I'm not using unique colors for languages. The main language is always blue, the second one is always purple etc. Thanks!
- jcrawfordor 10y agoWill that 10s install be anything like production-ready? As a sysadmin, one of my pet peeves is tools where the "install process" is "run this executable and it's a webserver," because for me to put a tool in a place where my teams rely on it I'm almost always looking at SSL termination, LDAP auth, not to mention putting it under systemd or something so that it'll get restarted if the host system does, and the fact that I'll inevitably be deploying via automation. The takeaway is that I hope the easy install process won't only be easy in the absolute minimal case. Ideally I'd love to get RPM and DEB packages and example configuration snippets for a frontend web server. At the very minimum, distribute in a form that is amenable to deployment to Ansible/Puppet/etc (no 'setup wizard' please!) and placement behind a reverse proxy.
- alex-m 10y agoGood point. It's definitely not going to be 10 seconds for a more serious installation you described. But it will be faster than anything else. You download the binary or compile it yourself, set the path to your repositories, and you are done. No wizards! I haven't thought about RPM and DEB packages yet, but they will be definitely supported if that's what people want.
- bb88 10y agoThese days I won't run anything more complex than an executable that isn't in a docker container. I think that a lot of people feel this way too. It's just so much easier in the end.
- Twirrim 10y agoHonestly, from my sysadmin perspective, I don't give much of a damn about installation time, provided it's not absurd (e.g. picking a figure out of thin air 30 minutes?) What I care about around install, is can I do it in a automatable fashion, including all configuration. I don't want to have to do anything by hand after the first exploration and evaluation work!
- friendzis 10y ago
- throw2016 10y agoI love the simplicity and speed of this. Its endearing. No fuss. Reminds me of Gogs, easy to setup, easy to use. Great job on that. Of course its early days but I do hope you make the right trade offs and retain the simplicity. Those with the complex use cases should take the technical debt rather than now in a lot of software where every possible complex case is accommodated and the complexity is offloaded to all users. And I hope you give credit to git for the fantastic piece of engineering it is. So many projects use Git as the central piece yet push it into the background.
- alex-m 10y agoThanks. I'll do my best to keep it simple and fast. I absolutely love git. It's definitely going to be the central piece of the software.
- my_ghola 10y agoWhat's the difference with gogs/gitea or is it another fork? Is this open source?
- alex-m 10y agoGitly is not related to gogs. It is going to be more stable and easy to use, work better with larger projects, and have a set of unique features. Yes, it's going to be open source.
- phantom_oracle 10y agoNice project. IIRC, doesn't github have some trademarks on their designs or something? If so, please be weary of this (and their lawyers) OP
- deleted 10y ago[deleted]
- jazoom 10y agoIt's there a way to try it out without signing up? The first thing I wanted to do was test your claim for speediness. There is a road block in front of doing that.
- alex-m 10y agoYou can check out one of the test repos. In order to clone a repo, you have to sign up, sorry. That's a really fast process, but it requires email verification. I'll add a "sign in with GitHub" button today to speed that up.
- xxdesmus 10y agoThis looks great. Definitely interested in the self hosted option.
- alex-m 10y agoThanks! Glad you liked it.
- stigsm 10y agoThat it should work without javascript is very nice. :) The "at least four letters for username" limit is not. Why is this a restriction?
- alex-m 10y agoYou are right, I will change it to two letters.
- crackcomm 10y agoI want it and I want it now! :)
- pmontra 10y agoI like that code is shown with a proportional font. I've been coding like that for a couple of years. It took a week to adapt but code is far easier to read now. After all we're using proportional fonts for nearly everything, why not code? Compare proportional on Gitly to fixed on GitHub, same code. https://tensorflow.gitly.io/tensorflow/blob/master/tensorflow/examples/saved_model/saved_model_half_plus_two.py https://tensorflow.gitly.io/tensorflow/blob/master/tensorflo... https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/saved_model/saved_model_half_plus_two.py https://github.com/tensorflow/tensorflow/blob/master/tensorf... However it's not what most people see in their editors. I wonder if anybody noticed or complained about it. Two things that can go wrong with proportional code: * Alignments like this a = 1 long = 2 you can't do that unless your editor is very cooperative. That could make sharing code with coworkers difficult. * Sans serif fonts don't distinguish between I and l and I didn't find a proportional serif font that does look good enough for code.
- alex-m 10y agoHi, The default font is not proportional, BUT you will be able to set it to whatever you like. There will also be an option to disable syntax highlighting. Could you tell me what browser you are using?
- pmontra 10y agoFirefox Android. I checked with Chrome and Opera and it's monospace there. Edit: It's monospace in Firefox desktop too (Linux).
- thechriswalker 10y agofrom css/main.scss `$monoFont: 'Courier New', Monaco;` I think it's caused be the missing fallback `monospace` in that list.
- Stratoscope 10y ago> Sans serif fonts don't distinguish between I and l and I didn't find a proportional serif font that does look good enough for code. You might try Trebuchet MS. I've been using it for a few years now and find it to be an almost ideal programming font. It does have easily distinguished Il| and 0Oo characters, and it looks really good in the somewhat large font sizes I prefer on a high-DPI display. The only thing I don't like about Trebuchet MS is it has a really weak tilde (~). Sometime I will have to play with a font editor and see if I can swap in a better tilde. Regarding column alignment, the solution is "don't do that." :-) I banished column alignment from my code a long time ago and haven't regretted it at all. Of course, all that said, when viewing other people's code it can be useful to be able to view it in a monospaced font.
- ende42 10y agoCouldn't find a public test-repo on the front page. Anyone wanting a test drive without signup, here you go: https://niko.gitly.io/ruby-shout https://niko.gitly.io/ruby-shout I love the speed and the (repo internal) search. Looking forward to the announced missing features. Note: the "Add Collaborators" link works for anonymous users. Sending the form then fails with a JS error. Is there a plan for a global repo search?
- alex-m 10y agoGood point, I'll add a a link to a test repo to the front page. I'll fix the "Add Collaborators" link, thanks for reporting. > Is there a plan for a global repo search? Yes! I hope to implement that before the end of April.