Release repository Cleanup - open-source

We are using Nexus OSS 3.0.2-02 version which doesn't have option to clean up the release repository.
In earlier version (2.5) Nexus OSS had rest API to clean up release repository along with the out-of-box scheduled jobs to housekeep the release repository.
Do we have any option to cleanup the release repository in OSS 3.0.2-02? Also if the latest version (of OSS 3.6) has any option to clean up the release repository?

Related

Should we occasionally "upgrade" our Mercurial repositories as new versions of Mercurial come out?

Are there some reasons to occasionally upgrade mercurial repositories using the instructions in Upgrading Mercurial (hg clone --pull)
Does advice about that differ for the repositories I keep on my laptop, versus the central shared repository for a project/continuous integration/etc. (For instance, could we run into problems if one developer has an old version of the client?)
And how do you tell what version's format a repository was built with, and whether there's something to be gained?
Unless you are using an extremely large repository (something on the scale of the mozilla-central repository) it shouldn't matter what repository format you are using on the client or server. Future versions of mercurial will always be able to talk to repositories created by old versions and old versions will be able to pull from repositories created by new versions of mercurial.

Visual Studio Online integration with CodePlex

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.

How to develop in multiple branches with hgflow

I'm evaluating hgflow. The model meets most of my version control needs except that I can't figure out how to support multiple releases.
Assuming I have released v1.0 a while ago, have just released v2.0 and I have been using hgflow since the beginning. A customer who is still on v1.0 requests for a feature to be implemented. Because of the stability of v1.0, he doesn't want to upgrade to v2.0 or v3.0.
Using the generalized streams concept:
hg flow develop start 1.x (create develop/1.x)
hg flow develop/1.x:release start 1.0 (create release/1.0 from develop/1.x)
hg flow develop/1.x:release finish (close release/1.0 and create v1.0 on master)
repeat for 2.x & 2.0, so v2.0 tag is created on master after v1.0 tag
request to enhance 1.x is received
hg flow develop/1.x
work on enhancement
hg flow develop/1.x:release start 1.1 (create release/1.1 from develop/1.x)
hg flow develop/1.x:release finish <--- v1.1 tag is created after v2.0 tag on master
If I follow the hgflow model, I may end up with a v1.1 tag created after the v2.0 tag in the master stream. Worse still, the changes in v1.1 may overwrite the various enhancements I have made between v1.0 to v2.0.
My question is: can anyone suggest a solution to my problem? Any suggestion is appreciated. Thanks.
The workflow that you want to use for this situation has something to do with the support stream:
hg flow master # Update the workspace dir to the master branch.
hg flow support start 1.x -r v1.0 # Create a support/1.x branch from v1.0 snapshot.
hg flow support/1.x start feature1 # Create a support/1.x/feature1 branch.
... # Commits to implement feature1
hg flow support/1.x finish # Finish feature1. Changes in support/1.x/feature1 will be merged into the support/1.x branch.
hg tag v1.1 # Create support releases in the support/1.x branch.
All your changes to support the 1.x release are in the support/1.x branch, which by concept will normally not merge to other streams.

Is it possible/recommended to install TortoiseHg if (a newer) mercurial is already installed?

I have searched the docs and it is still unclear to me if I can install TortoiseHG on a machine where mercurial is already installed. In particular I find in the FAQs that the installer bundles Mercurial. But, on the other hand, to build from source requires (obviously) to hg clone the repository.
My problem is that I installed the latest release of Mercurial (which, as of Nov 2012, is 2.4) while all the currently available THG releases refer to previous versions. For instance,
2012-10-01: TortoiseHg 2.5.1 (with Mercurial 2.3.2) released
as can be seen in the news as of Nov 2012.
What is the best course of action? I have currently installed hg 2.4 and I have already created a local repository, which I am handling via the command line.
It is possible that I missed the relevant information online: please point it out to me if that is the case.
The best course of action is to just keep things as they are. According to Mercurial 2.4's upgrade notes, only bookmark handling has been incompatibly changed since 2.3. So, the repositories should still be compatible between versions.
In future upgrades, you'd better wait for TortoiseHg to catch on the latest release of Mercurial. Unless you need a security update or a critical fix, there are few reasons to upgrade so diligently. Moreover, if you use the GUI regularly, there's even less need to upgrade Mercurial separately.
The Mercurial crew is extremely diligent about being backward compatible; Take a look at the release notes to see if there's anything in 2.4 that might make a difference for a Mercurial 2.3.x client to a 2.4 repository. The TortoiseHg crew has been quite good about keeping up with newer releases of Mercurial, so you won't have to wait too long to see a new release of TortoiseHg based on Mercurial 2.4.

Can we use different versions of Mercurial/TortoiseHg to work with the same central repository?

Is there a risk of damaging the repository (using a file share) if we use different versions or the tools to pull from and push to the central repository?
FYI: The central repository was created with Mercurial 1.5. We are planning to upgrade our tools to Mercurial 1.8 with Tortoise 2.0.
What you're describing is safe to do. Every version of Mercurial can safely read and write repositories created by older versions. Older clients will refuse to read/write repositories that are too new for them.
So as long as you're accessing repos created with 1.5 you can do so with 1.8 just great.
More detail: https://www.mercurial-scm.org/wiki/RequiresFile