Visual Studio Online integration with CodePlex - integration

Is there a way to integrate a Visual Studio Online repository with a CodePlex project in a way that when I update code in Visual Studio Online it reflects and updates the CodePlex project?

No, this is currently not possible in an automatic way.
But as a workaround you could setup both systems to use Git as the repository type and use a local git repository to sync between both remote repositories.
To do so create a new local repository using
git init
Then add the two remotes
git remote add codeplex https://git123.codeplex.com/project
git remote add vso https://account.visualstudio.com/defaultcollection/_git/Repo
Now you can work in your local git repository and when you want to push the data to either Visual Studio Online or CodePlex you can push the data using:
git push codeplex master
git push vso master
Both git repositories will be cryptographically the same.
If you want to show your CodePlex user name in codeplex, you'll need to setup your git user name to that.

Related

Restrict access to mercurial repository using Redmine

to project manage a mercurial repository, and track issues.
The workflow I want to use for the mercurial repository is branch based, i.e people are welcome to create branches and push their branches to the designated server. However I want to restrict access to the default(trunk) branch, so that all changes are merged by me into the default(trunk) branch.
This will allow control over things like code-review for each branch before merging it to the default(trunk) branch
Is there any way to use redmine to manage permissions and access to mercurial repositories?
I think I'm looking to do something like gitflow
Redmine only allows you to work on a local clone of the repository as explained in their official guide Redmine Oficcial guide#Mercurial-repository .
So i think you cant restrict the access to the repository on the web via Redmine.

Moving code from mercurial to TFS

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.

Using one Mercurial repository as local for two Mercurial installations

We have a dedicated issue tracking (Redmine) machine, which has a Mercurial repository (call it "Redmine repository"). Redmine is set up to use that repository, and as far as I understand, Redmine never makes any changes to that repository. All developers (eventually) push their changes to that repository.
We also have a dedicated production machine, which can execute the code, but is not used to make any changes to the code.
We have two choices:
Set up another Mercurial repository on the production machine (call it "production repository"). When a new production release is approved, pull the changes from the Redmine repository to the production repository, and then update the local working directory to the appropriate revision from the production repository.
Reuse the existing Redmine repository on the production machine designating it a local repository for the Mercurial installation there (the Redmine repository is on the shared drive that can be easily mounted on the production machine). Whenever a new production is approved, update the local working directory to the appropriate revision from the Redmine repository.
With option #2, we get rid of an extra "pull" step (from Redmine repository to production repository), which slightly simplifies the process. But I'm not sure if it's ok that a single repository is used by two Mercurial installations as if it's local.
Any comments on this choice (or any other aspect of this setup) is appreciated!
It sounds like a bad idea. Mercurial does a really good job of keeping reads and writes to its repository atomic, but it has a harder time doing that when the repository is on a shared drive -- even if it's only one local repository using it -- because network shares (especially on Windows) don't always make things atomic that they say they do.
Ideally your repositories (both the working dir and the repository) are local when possible, and you use push/pull to get changesets to/from a network share. If that's not possible then having a single local application using the repo on the remote file system is the best idea.
If you positively want to try having two clones using the same underlying repository check out the ShareExtension, which ships with Mercurial but is for advanced users only.
Instead of trying to piggy-back, why not just put a hook like this in your redmine repository:
[hooks]
changegroup = hg push //production/clone
That will automatically push changesets that arrive in redmine to production.

Intellij doesn't display local mercurial repository view

I have got project with local mercurial repository. There is view "changes -> local" where I can commit new changes, but there is no view "changes -> repository" where I can view list of my commits. How can I view my commits if I have only local Mercurial repository (using Intellij Idea)?
Unfortunately in latest IntelliJ (11.1.1) support for mercurial is not complete. If you wish to view your local commits - use console or Tortoise HG or other tool.
The repository view for Mercurial is available in IntelliJ IDEA starting from version 12. http://www.jetbrains.com/idea/whatsnew/

External mercurial repository in redmine?

Is this possible to have external mercurial repository in redmine just like svn?
For svn i've got following configoration options and it work with external repos:
For mercurial i can only enter local path to repository:
I don't think this is possible, you will need a local clone as stated in the Redmine documentation:
Mercurial repository
To synchronize with a Mercurial
repository, you will have to have a
local clone of the repository on the
same server you have Redmine installed
on. Let's say you put Redmine in
/var/www/redmine.example.com/www and
have put your mercurial repository in
/var/www/sources.example.com/repo/example,
you would have to select Mercurial as
a SCM, then enter
/var/www/sources.example.com/repo/example
in the repository text box.
A similar question has been asked in the Redmine forums. You'll need to set up a local clone and update it automatically, e.g. by using a cron job.