TortoiseHg - infinite cloning of repository - mercurial

I've encountered a quite troubling problem. I've tried to clone repository from the server and I was able to start cloning, but it never ends, and no files are being downloaded on my hard drive. I'm using pagaent with my private key. I've tried it on 3 different PC, and it didn't helped, but I know it is working because some people were able to clone this repository.

Related

Mercurial and TortoiseHg: How to push a fresh copy without pulling

So here's the sitch:
I am working on a Unity game project with a few others. We are using Tortoise with a repo hosted on BitBucket. One of the other people pushed a version with a huge amount of unnecessary files that we had previously deleted. I'd like to revert his push if possible. Ideally, without having to pull what he has pushed because I don't want to spend 20 mins downloading all of these extra files just to get rid of them again.
Is there any way to do this? Is it possible to push my current commit as a fresh copy to the repository?
Thanks in advance for any help
Actually, if the files were previously in your project and then deleted, they will be in your local copy of the repo already. The repo includes all the history for your project. You could see them if you did an "hg update" to a past version which included those files.
That said, to revert the change use BitBucket's web interface:
How do I delete/remove a push from Bitbucket?

HG PUSH won't push to local directory. Repository not found

I am using Tortoise HG two handle source control for a couple of projects on my local machine. I am pushing to a local directory elsewhere on the HD, just as a way to handle revision history.
My directories are set up like so:
Projects are located here: like MyDocuments\Project1.
I push commits to here:
C:\Repository\Project1
C:\Repository\Project2
For one of these projects, this works. For the other, when I try and push, I get an error that it cannot find the directory. Security settings (Windows 7) are the same for both directories.
MyDocuments\Project2 was under this source control at one time, and then something got messed up. So, I deleted the .hg file and hg directory and started over, creating a new repository there and adding all the files for the initial commit. But the initial commit will not push. It says:
repository C:\Repository\Project2 not found
I'm at a loss. I've deleted the HG files and directory three times and started over, but I cannot push. I've tried pushing to a different directory - no luck. I am guessing something is glitched from trying to start over.
You shouldn't delete the .hg folder as that is what makes it a Mercurial repository.
I'd say that the solution would be to re-clone the MyDocuments\Project2 repository to C:\Repository\Project2 and start again from there.
In future, if you get to the position where you feel that you need to delete the .hg folder, don't. Come back here and see if we can do anything to help resolve the problem.

How do I use Tortoise HG to set up a repository on my computer?

I was given the company website for our repository on a new project, but I don't know how to set up the repository on my computer using Tortoise HG. Our previous project was already set up on my machine when I started working so I didn't need to know how. I would feel more comfortable asking this community rather than my boss.
The repository is a "Mercurial repository". The website itself is set up in this way.
I've downloaded the files from the "zip" button, but don't know how to connect that file to the website using Tortoise so things I do will actually affect the real repository.
How do I set up the Tortoise workbench so that I can pull and push changes to the repository?
The zip contains only the files without any of the mercurial specific part. You can delete it, we won't use it to setup your personal repository.
First of all you need to have the URL to access your repository. Depending on the configuration of the server, it can be through HTTP, SSH or even a network share. Then you will eventually need credentials.
You can look for a "clone" URL somewhere on the website or ask a coworker / your boss for this.
Once you have the URL, you simply clone the repository with TortoiseHG : http://tortoisehg.bitbucket.io/manual/2.9/clone.html
You can now use your repository like the precedant one.

mercurial repository corruption

I’m new to mercurial, about 2 months now. We are using it on a new project and tried to create a new repo, a clone of the trunk, to be used as release “branch”.
We use a central repo, everyone is pulling/pushing to/from it over https using hgwebdir.cgi. Using on server hg 1.5.4 and “clients” various versions, 1.5.2 -> 1.6.3
Everything thing was ok. The clone was good (hg verify after clone), the only problem is that very soon this repo got corrupted (empty or missing ; in manifests not found).
The main repo is ok, only this release get broken very soon.
The names of the repos are (folder names and published names, all reside in the same root folder):
A.B – for the trunk
A.B.Release – for the release repo
(read something in the docs, which sounded like this might be a issue – see
One other very strange thing is that checkins made only to trunk (A.B) are seen as available on the release branch, and they are displayed as errors on verify ( in manifests not found). Don’t understand how these got there.
Any clues?
It's not an answer, but I'll state that what you're doing is definitely supposed to work. Making sure the wire-protocol has full backwards compatibility is very important to the Mercurial folks.
The "cross-talk" between your two repos is very concerning and shouldn't happen unless someone erroniously used the share extension.
What if you try creating the A.B.Release clone by using clone --pull rather than clone by itself?

Setting up a mercurial mirror

Can anybody tell me how to set up a mirror of a mercurial repository? I have a mercurial repo on my laptop, but want to auto mirror the repo on a NAS drive as a form of backup. Ideally, it would be cool if the solution checks a known location for a repo, and if one doesn't exist, create it, and from then on mirror any changes.
Another thing to bear in mind is that the NAS may not always be available, so I would need to accomodate this in some way.
I did something similar with git, but all the functionality should be in mercurial too.
I created manually a clone on some server (in my case a VPS somewhere on the net in case my house burns down with NAS and laptops in it).
With git you can create a "naked" repository, i.e. w/o a branch checked out.
Then I regularly push to it.
This can be automated using 'hooks', more info here .
The trick is to get the handling off the commit hook (oun intended) and that the syncing is not in your workflow. Run your push script using the 'at' command in a couple of minutes time. Then it runs asynchronously in the background. I would not be fancy here, try and handle failures gracefully.
You now have a setup which will keep the backup synched within a couple of minutes.
Mercurial gives you the freedom to do that however you would like. If you wanted, you could just setup a process to copy the repo from your local machine to the NAS at a regular interval. Everything about the repo is stored in the directory, and everything in the directory is just a file.
However, it sounds to me like you want to setup something more akin to a version control system like Subversion. I do something like this with one of my projects (actually, I moved it from SVN to Mercurial, but that's a different answer).
I have a repository on xp-dev.com and my local repository on my computer. I do all of the work on my local repository I want to do, issuing hg com very frequently. When I am done for the day/night I do a hg push ssh://hg2.xp-dev.com/myrepo to send all of my local changes to the remote server.
So, really all you want to do is an hg push to put your local repo on your NAS and then remember to do it again on a regular basis.