1. 1

    @SirCmpwn This is pretty neat! I’m always interested in this stuff; I was an early user of and contributor to Gitlab and Gitbucket.

    I signed up and poked around. One thing I was kind of expecting is some kind of a list of projects or users currently on sr.ht, specifically git.sr.ht. Is discoverability of projects, users, or organizations on the service a goal?

    1. 1

      Thanks for signing up! These sorts of social features are something I’m avoiding for the time being, to focus on delivering good engineering tools first.

      1. 1

        Excellent goal! Keep up the good work.

        One last question: what are your plans for code review?

        If I may offer something, I’d love to see more web interfaces for the git-appraise way of doing reviews, which stores the review data in the git repo itself.

        1. 1

          Thanks for the kind words!

          I intend to build this on top of mailing lists, actually, based on the workflow used by projects like Linux and git itself. Today lists.sr.ht provides minimal code review tools, like simple patch highlighting:

          https://lists.sr.ht/~emersion/mrsh-dev/%3C20180916165820.14491-1-sir%40cmpwn.com%3E

          This will be fleshed out to allow you to participate from the web with the same kinds of emails being sent underneath.

          1. 1

            I’ll be watching to see how the workflow works out.

    1. 3

      Would you ever consider supporting custom domains for hosted git repos? I think that the URL is a source of friction when considering a move to sr.ht. If it didn’t work out, I would want to keep my domain and move elsewhere. For the same reason, I’ve been planning a move from GMail to Fastmail but would use chrissnell.com for my address in case Fastmail goes to shit.

      1. 1

        Yep, that’s something I want to add at some point.

      1. 1

        Created an account and will be working with the $2/month plan until money is less tight. This is an amazing product @SirCmpwn, already migrating some of my projects over there

        1. 1

          Thank you!

        1. 2

          The fact that the navigation bar labels move around when you switch subdomains is slightly confusing. Can we get an option to make those stay the same?

          1. 2

            Yeah this is going to change.

          1. 2

            This is an amazing amount of work. I’m particularly excited about the prospect of CI on BSD VMs as none of the major hosted services do this as the moment.

            Not sure about the email based workflow for submitting patches though. I read the docs and it feels like a lot of work for contributors to go through to set up and then submit a patch (compared to the typical github workflow). Still I might try it out and see how it feels in practice.

            1. 3

              Thanks for your kind words! Regarding the overhead of email, you only have to do it once and then it becomes dead easy. However, I still recognize that it’s complicated - in the future I intend to add web tools which let you interact with sr.ht in a similar manner to GitHub et al, but is backed by emails under the cover to seamlessly integrate with the email workflow.

            1. 2

              Congratulations! This is exciting stuff - looking forward to checking it out :)

              1. 1

                Thank you!

              1. 2

                Fantastic. I’m in. One question though, how do we do discoverability? Would be nice to aggregate repos somewhere other than the user’s page.

                1. 6

                  At the moment, you should do discovery somewhere other than sr.ht, like posting your project to Lobsters. I want to handle the social features carefully, as sr.ht is meant to be an engineering tool first and a social tool third.

                  1. 2

                    I really really like this. This + the no JS mindset… big pros for sr.ht

                    1. 1

                      I can live with that. I actually think this is a noble position. I like the idea of composing services with small pieces. If there was a “hub” project or some such …

                      1. 4

                        Such a project is planned, to live at the top-level sr.ht domain. Stay tuned!

                  1. 1

                    I love the idea of a built-in mailing list. I feel excluded because I cannot contribute to GitHub projects (my own choice). This is a game changer!

                    Edit: added parenthetical

                    1. 1

                      Sending email patches isn’t too hard with git send-email, and reviewing patches via email isn’t too terrible either (for non-huge patchsets)… but I always found /applying/ patches from a mailing list to be a chore, if you didn’t happen to use mutt (which I don’t use). I use a desktop mail app, which works well enough for most other email purposes. The non-mutt git am workflow is pretty awkward – save each patch email in a thread as a file, run git-am on exported file. oof.

                      Now, if lists.sr.hat provided a way to get an mbox output of an entire message thread, that would be pretty amazing.

                      Such as taking something like this https://lists.sr.ht/%7Esircmpwn/sr.ht-dev/message-thread/, and being able to do this (maybe add /all/raw to the end of the url)…

                      curl https://lists.sr.ht/%7Esircmpwn/sr.ht-dev/message-thread/all/raw | git am
                      

                      Alternatively, being able to accept a patch series via the lists interface would be nice too.

                      1. 2

                        Now, if lists.sr.hat provided a way to get an mbox output of an entire message thread, that would be pretty amazing.

                        This is planned and ticketed out:

                        https://todo.sr.ht/~sircmpwn/lists.sr.ht/56

                        1. 1

                          That’s great news – I’ll be following the progress of sr.ht for sure!

                    1. 5

                      My only concern is its reliability. So the questions. What is keeping you running the service? Who pays the cost?

                      1. 8

                        The service is paid for by the users and is designed with sustainability in mind. Check this out for more about the financial model:

                        https://man.sr.ht/billing-faq.md

                        1. 1

                          Do you have a feel for what the pricing plans are likely to be post-alpha?

                          1. 3

                            It depends, I’ll be keeping an eye on the financials throughout the alpha and make an informed decision about the pricing then. It will probably be similar.

                      1. 2

                        Great work!

                        I’m working on a flask app now, and it’s neat to see a production flask app of this magnitude, especially as a constellation of services. Why did you choose python + flask for this, and how do you like it so far?

                        1. 7

                          I chose Python because I think it’s well suited to web development, and Flask because I like smaller frameworks. I think it was the right choice, but sr.ht is like my 15th Flask app so I think I understood that it would be going in.

                        1. 2

                          Hey, uh, it’s down. You might know that already. :-)

                          1. 1

                            git.sr.ht is experiencing a partial outage, but everything else is up. I’m working on the issue. Thanks!

                            1. 1

                              The partial outage has been resolved, and full service is restored.

                            1. 1

                              Can you give a comment on how difficult it is to set up an instance for oneself? I’m currently using stagit for my own Git Repositories (hat do patch it to work with my static setup). Is there an option to generate static pages? How many dependencies are necessary for a minimal working setup?

                              1. 1

                                Here are the installation instructions:

                                https://man.sr.ht/installation.md

                                You can probably get git.sr.ht working in an afternoon.

                                1. 1

                                  You will need at least:

                                  • A PostgreSQL server
                                  • A Redis server
                                  • A mail server
                                  • A cron daemon

                                  Hmm, seems a bit too heavy weight for my use case… Thanks for the link though, maybe I might have some use of it some other day.

                              1. 1

                                Congratulations on moving to public alpha! I just signed up to support the project. Big fan of the user-supported model and the licensing model.

                                1. 1

                                  Thank you! I hope you like it, please send along your feedback as it comes!

                                1. 4

                                  I’m sure this has come up but I can’t see any discussion about it - any chance at all of adding mercurial support? If no would you be open to someone else adding it? The key is to not encode too much git-specific stuff into the UI or backend which makes it impossible to support other VCS systems.

                                  1. 1

                                    At the moment this is unlikely.

                                    1. 4

                                      Unlikely that you’ll do it, or also unlikely that you’d accept patches from someone that ended up enthusiastic?

                                      (Your roadmap for a review tool is extremely similar to what the hg community has discussed building for itself.)

                                      1. 2

                                        Well, it’d be a lot of work, both to implement and to review the patches. It’s not too far gone yet… why don’t you start a conversation on sr.ht-discuss?

                                  1. 1

                                    Very cool! Are there any plans to support a distributed / federated model for repository hosting? One worry I have with each open source project hosting its own pocket universe is that when the maintainer runs out of funds (and we all will, someday :( ) their instance dissolves into the ether and is gone forever.

                                    1. 4

                                      Yes! sr.ht is email-based and email is a federated protocol. In the future, you’ll be able to prepare format-patch style emails from the sr.ht web interface and send them to other sr.ht mailing lists, as well as to projects which don’t use sr.ht, like the Linux kernel. Today you can already receive emails at lists.sr.ht and the code review UI there is in-progress.

                                    1. 6

                                      SirCmpwn, you are a hero sir. I am writing this from within Sway and it’s been fantastic. And now I am discovering that you have been working on sr.ht as well. Incredible.

                                      1. 2

                                        Thank you so much :)

                                      1. 2

                                        Congrats Drew! Looks really cool, will be nabbing a $2/month plan. Modest suggestion: if all the plans offer the same features then I think they should really be the same price, otherwise I think it violates some theory of economics, or at the very least is confusing.

                                        1. 16

                                          The idea is that, because sr.ht is not bootstrapped by investors, the users are the investors. You should choose the plan which matches your financial ability and investment in sr.ht, with the understanding that the money goes directly to supporting the site. It’s a novel financing model, we’ll see how well it works out!

                                          1. 6

                                            I see, so you’re saying that it’s not so much that I am your customer by purchasing a plan but instead I am your investor. Another confusion arises in that case since investors usually acquire some ownership in the company in return for their investment. It seems more like I’m a donor than either investor or customer. If that’s the case, and you’re committing to using the incoming revenue purely for supporting the site, I suggest setting up some sort of nonprofit entity (e.g. in US would be 501(c)(3) or 501(c)(6)) and using donation language instead of product/customer language in the billing section. it would be nice to be able to use this as a tax deduction as well!

                                            1. 4

                                              It’s entirely possible that I will share ownership with the users, or set up a nonprofit in the future. For now, this is a simpler approach. Thanks for the feedback!

                                            2. 4

                                              Reminds me of ‘name your price’ music on BandCamp. I hope it works out.

                                            3. 9

                                              It’s BYO price discrimination. :)

                                              1. 1

                                                Just signed up for the $5/month plan, because seriously, this is about 1.5 Lattes in a high end coffee shop, and for sure, I am spending more on coffee each month than that, … @SirCmpwn: I already love the taste of the site.

                                              1. 4

                                                this is very nice, I signed up for an account and will be playing around with it!

                                                one thing I noticed was having to log in multiple times on each domain. is there any way to provide a single-sign-on mechanism so that isn’t necessary? maybe one could always log onto https://meta.sr.ht and then the rest of the sites can request current user information from there, and manage their own sessions automatically…

                                                1. 6

                                                  Aye, this is a known limitation of the current design and a pre-beta fix is planned. Subscribe to this ticket to keep up with it:

                                                  https://todo.sr.ht/~sircmpwn/meta.sr.ht/43

                                                  1. 1

                                                    awesome. you’re doing a great job :-)

                                                1. 3

                                                  I will have a go at using this for some of my projects :-)

                                                  My first inclination is to do the following:

                                                  .container {
                                                      margin: 0 auto;
                                                  }
                                                  

                                                  For those with wide browsers as it hugs the left side of the screen

                                                  1. 3

                                                    Thanks for the feedback!

                                                    https://todo.sr.ht/~sircmpwn/sr.ht/112

                                                  1. 2

                                                    Neat, thoughts on adding code browsing to the service? Like gtags or opengrok

                                                    1. 2

                                                      Yep, this is something I want to do at some point. My plan is for you to configure your builds.sr.ht job to create a ctags file, which you could then POST to the git.sr.ht API to associate it with a commit sha. It’s not currently a priority, though.

                                                      1. 1

                                                        Good. I need something like this. Would put you ahead of your competitors in my eyes. Also nice to see good software being made :)