-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
svn viewer fully integrated with the website #22
Comments
what about syncing it to github? |
Hi Roy, not a bad suggestion, but I really prefer to stick with svn. :) |
for now I do it myself for my own use: https://github.com/roytam1/SvarDOS |
Hi Roy, would you mind explaining how you do it? I mean, the exact git syntax and what not? Independently of this issue perhaps I could set up some automated read-only mirror here on github. I figure it could help SvarDOS get some extra exposure. |
https://gist.github.com/rickyah/7bc2de953ce42ba07116#cloning-the-svn-repository |
Apparently the OSDN service finally died a couple of days ago. Until now the OSDN subversion server was being used to keep a backup of the SvarDOS repository. Now that OSDN ceased to respond, we no longer have a backup of SvarDOS svn. Time to look for some new backup location. |
How is this backup of the SVN performed? Via svnadmin dump / load? I could provide a container or VM for this, and give you access to it... |
No, it's an svnsync action I execute manually on my laptop using this script:
That would be awesome. The repo mirror needs about 700M of disk space currently (without packages, these are mirrored on helix already). I have described the exact procedure of setting up a SvarDOS mirror here (scroll to the bottom): |
It takes 700M because its history contains some binary packages from the time when packages and code were in a single svn repo. Now packages have their own repo, but what has been done has been done. There is surely a way to curate mirrors from these historical blobs, but I did not investigate it. |
@mateuszviste can you mail me your public ssh key so that I can give you access to the VM? |
I have setup svnsync, which runs every 15 minutes as a cron job on svn.boeckmann.io. The repository is not yet publicly exposed, but @mateuszviste you may SSH login via the svnmirror user to get access to the repo in case of an "emergency". The repo lives under /home/svnmirror/repos/svardos. I added your SSH key, so you should be able to login. I can make the repo read-only visible to the world, if it is needed. |
I confirm it all works - I have ssh access, the cron seems good and the on-disk repo is indeed up to date. Awesome, thanks! Just wondering, though - maybe we could use this cool svn mirror to replicate the source code to git, like what Roy was suggesting a couple of months ago? This would make it easier to spot if one day the mirror stops being up to date for whatever reason, and it would also act as an additional backup. Plus it might give SvarDOS some extra exposure. |
if you do make this repo public some day let me know - I will then mention it on the SvarDOS website |
Sure, I will try to get local SVN->Git mirroring on the VM working in the afternoon. When this works we can create a Git repo here that receives the changes. Should not be much work to implement. |
There are three authors in the SvarDOS SVN log I am not sure I can include their mail address in the git repo conversion. In contrast to SVN, Git wants |
Maybe best would be to put some generic nonsense for all commits without distinction so they all appear being from |
I now have also mirrored the svardos-pkg SVN repository. I made a test conversion of the SvarDOS SVN repo to Git. This worked, and upload to a (yet private) Github repo went smooth. However, git svn does not include the externel references to the svardos-pkgs repo, resulting in broken links for the packages-core. Not yet sure how to handle this. I will perform some investigation on how this can be solved... |
On 26.09.2024 16:20, Bernd Böckmann wrote:
. @cardpuncher
<https://github.com/cardpuncher> and @bttrx <https://github.com/bttrx>
may answer here if a mail address may be used or if it should be
substituted by an anonymous alias.
Hi,
I would prefer an anonymous alias to avoid receiving spam on my e-mail
address.
|
I changed the script to only include the SVN user names. Email is set to an empty address. |
@mateuszviste can we make two new repositories here, for the SVN svardos and svardos-pkgs repository mirrors? |
At best with "mirror" in the names, like |
is it really useful to expose svardos-pkgs through github? it's a bunch of binary files... plus it might grow with time, not sure github will be happy with such use. Esp. since many of these files are closed-source blobs. for the svardos "system" repo I was thinking about renaming our current "bugz" repo to "core" - does that make sense? |
We can leave out the pkgs. But the main repo is also not that small, because packages dir once contained the real files. I could exclude the packages dir from the conversion alltogether. This would make the repo much smaller, but would somewhat break the older commits. But if this is Github mirror should mainly be for documentation I think we could do this. We can call the repo "core". |
I think it is a good idea. At some point I will look at how to strip this ancient history from the svn repo, but for the time being just cutting it out when mirroring to github would be perfect.
I will look into that now. |
Only one thing to consider that comes in my mind right now: Not quite sure it would be wise to push the svardos SVN into the same Git repo as the bugs. If we at any time have to wipe the git repo and set it up again because we noticed some flaws in the mirroring, chances are we would also loose the bug issues, as I am not sure that there is a way to wipe the git repo completely without deleting the github repo (issues inclusive). At least we should investigate this before pushing the files... |
I am not familiar with how git works, but apparently it is possible to overwrite a repo by "force pushing" new content:
If that's correct (is it?), then no need to fiddle with the github settings of the repo (and risking to loose issues). |
yeah, but old content may still able to be fetched, unless telling github to flush the cache: |
Would be good if at least the symbolic-link versions of the .svp packages under packages-core stay intact, and otherwise remove the non-link .svp files. I think this can be achieved with the git-filter-repo command. Will check this out... Regarding the wipe of the repo, I am not sure that simply force pushing a new history to Github will clean all the data (I think Git calls this garbage collection). Seems that locally garbage collection can be initiated manually. But at the Github repo, I do not know yet... |
I made a test repo at https://github.com/boeckmann/svardos-core/ |
The script used:
|
Script to filter out the .svp files:
|
looks perfect to me :) very cool! |
So how to proceed with this? Git synchronization seems to work, but like I said, I would be more comfortable to push this into its own repo separate from the issues. Having slept a few |
Also, there are already links to the bug tracker out in the wild. Renaming the repo broke all of them. |
Seems that Github makes a redirect from the old name, so thankfully the old links are still valid... Did not expect this... |
I also find the concept of a "throwable" repo attractive.
Same here. I keep typing "bugz" in my browser address bar... so we are back with bugz now.
I talked with him under the shower and he totally agrees with you. Bugz = issues. Core = repo mirror. |
Well then so shall it be! Did he also consider giving me the rights to add the needed deployment keys? Or adding this as deploy key with write rights?
|
Github does not like this ssh key, says "key already in use" (whatever that means). But you are the admin of the repo now, so hopefully you will figure it out :) |
Seems that the github mirror works, and updates automatically. It is awesome, thank you Bernd! |
Great! Can you also add a link to the kernel repository?
Not sure what svn.border6.com is. Never visited that site. I just tried to open it but got a timeout. I assume it has nothing todo with svn.svardos.org? |
My brain glitches sometimes with inter-thread memory leaks. It's tightly sealed and out of warranty now, sadly not much I can do. I meant svn.svardos.org. Currently it uses websvn and I really do not like it. It's a relatively big piece of code that I do not trust much, plus it is constantly hammered with some weird scripts from around the world, occasionally causing performance issues on the server. github provides a much more intuitive interface, so I am not sure there is any added value in exposing svn.svardos.org over an ugly http front. I'd still like to have svn somehow integrated with the main svardos.org website, but now that we have this nifty github export it does not need to be super functional. Maybe just a list of commits with a single button to see a diff. Could also be exported via RSS so one can be notified whenever a commit is made (that's the only websvn feature I actually use). |
I actually like the WebSVN interface, but I you think that this imposes a security risk then maybe it is better to deactivate it. |
Maybe you replace the first "EDR" by "Enhanced DR-DOS"? I think many people do not know what "EDR" stands for. |
Done.
I did not know you use it. Let's keep the status quo for the time being then. |
WebSVN can bring you denial of service as people can tell WebSVN to run some svn commands that can take lots of CPU time. |
That's indeed what happened to me a few weeks ago. svn.svardos.org was being intensively hammered (like thousands of requests per minute) by facebook. CPU load avg spiked to 60+, ssh was barely responsive. At first I thought I'm under attack, but apparently it's just some human incompetence. I'v blacklisted the facebook bot through this mod_rewrite rule and the problem did not reappear:
Then earlier this year we had another issue (#57) with websvn - it was leaking temporary files and filling disk space. So yes, these are the reasons I'm starting to be a little bit weary of websvn :P |
Yes I used it as this was the easiest way for me to look at SVN commit diffs etc. But now that this is mirrored on Github I may equally well use that, or actually clone the Git repo and use my local tools on it (mainly Sublime Merge). So while I actually like the WebSVN interface, I think I would not miss it much in case you abandon it... |
svn is the heart of all SvarDOS developments, documentation and distribution of packages.
Currently I have set up a "websvn" instance on a virtual host, so it is possible to look up svn commits etc via a web browser. websvn is not super intuitive to me, and its look is also very different from the SvarDOS website.
The idea here would be to have a simple svn viewer integrated right in the website. It would share the same styling than the rest of the website, and would be kept in svn along with the rest of the files so it would require no configuration.
Such interface would need to provide:
The PHP code would rely either on svnlook or use the PHP SVN bindings. The latter would be much more comfortable, but they are not part of the PHP install on Debian... requires some "PEAR" magic (and I'm not even sure these bindings are still available for PHP 8 anyway).
The text was updated successfully, but these errors were encountered: