We use the postreview extension with Mercurial to post code reviews to reviewboard. The Mercurial docs point to a repository on Bitbucket. Bitbucket has deprecated and deleted all Mercurial repositories as of late August, 2020.
Is there a new official home for the postreview extension from the original maintainers?
The archive for the repository for the Reviewboard from the original authors is located here:
https://bitbucket-archive.softwareheritage.org/projects/cc/ccaughie/hgreviewboard.html
Related
So I have managed to corrupt my mercurial repo. So I am following the steps from the repository corruption page on the wiki to repair it.
When I run the convert command:
hg convert --config convert.hg.ignoreerrors=True REPO REPOFIX
It gives me the following output:
initializing destination REPOFIX repository
REPO does not look like a CVS checkout
REPO does not look like a Git repository
REPO does not look like a Subversion repository
REPO is not a local Mercurial repository
REPO does not look like a darcs repository
REPO does not look like a monotone repository
REPO does not look like a GNU Arch repository
REPO does not look like a Bazaar repository
cannot find required "p4" tool
Why on earth would it say that? And how can I go about fixing it?
It definitely is a mercurial repository, it's hosted on Bitbucket, and I am using Tortoisehg to manage it.
Edit:
I think maybe I can't do this against a remote repository? How can I go about fixing this then?
You probably did not corrupt the remote repository at Bitbucket, did you?
It's more likely you corrupted your local copy, and so you can just clone it from Bitbucket again or try the hg convert … trick on your local copy (i.e. the folder you manage with TortoiseHG).
A bit late but I faced the same issue. The mistake was running that command inside the project folder. You have to run the command outside the folder containing the .hg file. I could not find a way through TortoiseHg console to move up a directory so I used windows terminal.
We are planning to move to TFS. While i hate it we have to do it for various reasons.
We have dev, staging and live branch. Do we move the source for each of the branch to TFS as separate folder and convert it to a branch later on?
Is it possible to take history along?
Is there a tool or a script which can do it?
I've not been able to find a way to convert directly from Mercurial to TFS. It looks like your best bet could be to convert your Mercurial repository to a Git repository and use git-tfs to push those changes to TFS.
I'm not familiar with Git or TFS so you'll have to do some more research to find out the exact steps but here's how I think that I'd go about it:
Convert your Mercurial repository to a Git repository (perhaps this will help)
Create your empty TFS repository
Clone your TFS repository using this page as a guide
Use git to push your converted Mercurial Git repository to the TFS Git repository
Use git-tfs to push those changes to TFS
I don't know if that will copy all the history over or if you'll just have one check in with the final copy of the code.
Summarised Question:
Are github-hosted sub repositories within a mercurial/kiln repository possible, and if so are they automatically updated/cloned when the parent mercurial repository is operated on by a hg clone or hg commit command?
Detailed Question:
Following on from my question that was answered so excellently here , some of my third party code is in folders I downloaded a while ago from opensource efforts on github. Since at that stage I was not using version control, those folders where just standard folders that now been incorporated as sub repositories in mercurial.
This is obviously not ideal, as for one thing, new versions of the libraries may have bug fixes, or new features I wish to use in the future. I also may need to locally customise some of the libraries.
I can see from reading this link that it possible to have mercurial "know" about those git server urls (and revisions), so I can then have mercurial clone the github hosted libraries direct from their parent repos.
Am I right in saying that when I clone the parent (mercurial) repos, those files will be pulled from github, without having to separately manage this using git?
What is also not clear is, if I were to do this, and it transpired that code might need to be customized from within that github-cloned repository, would I need to use git to manage revisions of the local files, or would mercurial do that by proxy? eg id I were to hg commit -S would mercurial invoke git on my behalf to handle that?
Am I right in saying that when I clone the parent (mercurial) repos, those files will be pulled from github, without having to separately manage this using git?
Yes, clone of a Mercurial repository that contain subrepositories will trigger a clone of the subrepos too. It really happens on update. Mercurial notices the .hgsub file and issues the needed hg clone and git clone commands for you. It uses the information in .hgsubstate to know exactly what revision to checkout.
The subrepositories can be hosted anywhere. For a Git subrepository declared like
foo = [git]https://github.com/user/repo.git
Mercurial will simply issue the corresponding clone command:
git clone https://github.com/user/repo.git foo
It's then your reponsibility to later go into the foo repo and use Git to fetch new commits as necessary. After you fetch/pull new commits, you can make a top-level commit to record the new state of the subrepo in the .hgsubstate file. Use hg summary to see if a subrepo is dirty in this sense.
[...] would I need to use git to manage revisions of the local files, or would mercurial do that by proxy? eg id I were to hg commit -S would mercurial invoke git on my behalf to handle that?
When you edit files and make a top-level hg commit, Mercurial will make sure to commit the subrepo first (if you use hg commit -S or if ui.commitsubrepos=True). If you make a top-level push, then Mercurial will always push the subrepos first so that you always have a consistent set of changes on your server.
I looked at the mercurial website, and I couldn't find a single link to the location of the mercurial source repository itself.
Do you know where it might me?
The official repository seems to sit at https://www.mercurial-scm.org/repo/hg/ or https://www.mercurial-scm.org/repo/hg-stable with different branches. More information is available at the Developer Repositories wiki page.
Both links are browsable online and can be cloned from:
hg clone https://www.mercurial-scm.org/repo/hg/
hg clone https://www.mercurial-scm.org/repo/hg-stable
Here is a link to the Source:
https://www.mercurial-scm.org/release/?M=D
The source release is available from the downloads page.
The official mercurial web page can't find the entry of official repository, only download links, where is it, thanks.
The official Mercurial page lists two repositories for getting the Mercurial source:
The hg-stable repository leads to stable releases.
The hg repository is the main development repository
If you need a mercurial repository, try bitbucket.org. If you're looking for the development snapshot of mercurlial try the developer repos.