How to create a Mercurial repository on a remote IIS web server - iis

I have a Windows Server 2003 running Mercurial's hgwebdir.cgi to serve repositories. Push/Pull etc is working as expected for existing repositories.
Currently I'm using remote desktop If I need a new repository on the server.
Is there a better way to do it? Command line, web interface, cgi?

Mercurial by itself only allows for the creation of repositories locally or over ssh. For http you need to either log in to the server via command line and hg init or via RDP and do essentially the same.
It is, however, very easy to create a small CGI script that will create new remote repositories over HTTP. Here's one I built that works on unix and is likely easily adapted to windows:
http://ry4an.org/unblog/UnBlog/2009-09-17

currently , running hg init where you want the repository is the way to do it, any other way would require hgwebdir to implement some kind of security better left to other/better/more os specific tools. It's not that much of a leap to imagine that the HG devs rather focus on the versioning of files than reinventing the wheel with security, at least right now.

Related

How can I execute git commands (pull, push) on my home computer from a remote computer without installing software on the client?

Essentially, I'm trying to build a web server on my home desktop.
However, I find that I am out and about quite often, so it would be nice to be able to use my laptop to edit the code on GitHub, push it to the cloned repository on my home computer, and restart the server with the changed code.
I'm building a node.js server, so all I have to do to run it is type git pull and then node app.js into the bash terminal.
I'm basically wondering if it is possible to use a different computer to execute those commands remotely.
One constraint is that although my desktop can install any software required, my laptop cannot due to a lack of administrator permissions (it's a school-issued laptop).
Also, I run windows 10 home, so enabling RDP is nearly impossible or laggy at best.
If possible, it would be nice to do the pushing to my desktop via the GitHub site. Is it possible?
It would be nice to do the pushing to my desktop via the GitHub site.
All you can do "via the GitHub site" is declared a webhook on push event.
That webhook can send a push payload on any IP you want.
If your laptop can exposes a public IP (or has a secure tunnel to localhost) with a listener (like that npm listener), it can ben notified and pull from the GItHub repo whenever there is a push.

Automatically sync to a web server?

I have a web server with websites on it and I was just wondering if there is anyway of me being able to develop the websites on my Linux (Ubuntu) desktop PC and whenever I hit save it uploads it to the web server?
I hope you understand what I am trying to do.
Thanks
Yes, you can do this, using an advanced IDE.
For example a free and powerful one is NetBeans.
Essentially you need an FTP server on your host machine, then in NB you need to create a new project from external source, set up your FTP connection and that's about it, now every time you hit that ctrl+s, changes will be saved on your server as well.
What you're asking about is called continuous delivery. Jenkins is a popular tool that can automatically test and deploy anything you save (or commit to svn or git).

How to create an online repository on a Linux hosting using tortoise SVN?

I want to setup an online repository on my Linux hosting account I have. I want to a combination of Tortoise SVN and Ankh SVN for this, this will be an ASP.NET MVC 4 project for which I will be using Visual Studio 2010.
Firstly, is it even possible to do this ? i.e to setup an online repostiory on a Linux hosting account, I know this question may sound very naive, but I am new to this code hosting.
Also I stricty want to use only Tortoise SVN and Ankh SVN for this. And I dont want to use Git or Hg for this.
Please advise me on the same.
Thanks
Short answer
No way. Period
Longer answer
You must to use SVN-server administration tools for creating repository (and building RA-access levels), not client-level tools
Long answer
You have to have:
SVN (installed) on server side
Configured and running at least one type of SVN-server on Linux host
Created (by svn admin tools) repository with configured ACL
None of the above tasks can be executed with TSVN
Final Note
SVN Book is your best friend, at least chapters Repository Administration and Server Configuration

Create/configure New repository in remote mercurial server on IIS

Are there any tools avaliable to create and configure (Add new users, Change authorization settings ) mercurial repository hosted in IIS server ?
Currently I want to remotely log in to the server and need to create new repository and configure it manually.
I would take a look at Kallithea. That is a like a hgweb on steriods :) It has user management with authentication against LDAP (so you can use Active Directory), repository management, browsing, etc.
You ask about IIS and I know that it can run Python WSGI applications. Kallithea is based on Pylons and while it's described a difficult, you can run Pylons on IIS if you want.
I would probably install Apache instead or simply use the small web server that comes with Kallithea (depending on the load you expect).

Setting up a local SVN repository with encrypted passwords with TortoiseSVN

I am planning on using a local repository, using only TortoiseSVN's "create repository here" feature.
The repo is created and I can read and write to it just fine. The problem is that I can't get authentication to work. I thought I wanted Windows authentication, but I actually want the simple text-file based authentication so I can force the current system user (i.e. any person can be using the same Windows account and I want to differentiate between them) to provide their name and password. I haven't found any information on how to do this without svnserve running.
So far, I have modified svnserve.conf like this:
anon-access = read
auth-access = write
password-db = passwd
realm = LocalOnly
I didn't mess with the [sasl] section.
I also modified passwd:
[users]
harry = teH0wLIpW0gyQ
I am trying to use encrypted passwords created with a simple perl script. However, regardless of what I do with the repo (i.e. including writing to the repo), I am never prompted for a password.
I tried clearing TortoiseSVN's authentication cache since I do connect to a remote repo, but this didn't matter at all.
Has anyone tried this and succeeded? Or is it not possible without svnserve?
Not possible without svnserve - it takes care of the challenge/response.
Try Subversion Edge. you can edit the file you are mentioning using the GUI provided by the tool. It uses its own http server(not svnserve or IIS).
Unfortunately your best bet with a local repository is to use your file system permissions. A simple and free option for a server (that's easy to manager) would be VisualSVN Server. You can hang it off or a workstation or drop it on a public webserver somewhere. I now have mine setup with a reverse proxy with IIS7 so it's integrated with the rest of my web site.

Resources