Mercurial: Visual Studio 2005 and 2008 department support

I am trying to develop a workflow that allows us to support separate versions of the Visual Studio 2005 and 2008 library, while making sure that changes in one branch are always replicated to another branch.

Currently, I recommend that changes be made only to the default branch (VS2005), and then merged into the VS2008 branch after that. Unfortunately, it depends on the discipline, and not only to troubleshoot when and when they are discovered, and when you are in a crunch, it can be difficult. This led me to try to modify the changes from one branch back to the default value at a later date.

I know that we could store changes between the VS2005 and the VS2008 project in the patch queue, but I'm the only one on my team who is comfortable using the command line, my colleagues prefer to do everything except Tortoise HG.

Thus, I rely on troubleshooting after the fact. My current procedure involves exporting patches for each set of changes in the VS2008 branch and applying them to the default branch. This is time consuming, but much less error prone than trying to merge the tip of the VS2008 branch with the default prompt, and then manually switch to VS2005 manually.

After reading this article , I tried to undo the “upgrade” set of changes, but the resulting set of backup changes always ends up like the new tip of the VS2008 branch, then I can’t merge the changes because the merge ends in the VS2008 branch, even if I try to explicitly close the branch when fixing.

I tried to do this in several ways, but I always get a new response from the VS2008 branch and cannot merge the changes back to the default branch. So, I begin by missing something obvious here.

So, ultimately, what other people feel is best practice when trying to maintain two versions of a library, where the only difference between them is the Visual Studio version numbers embedded in the project files and solutions?

: , , , VS2005 VS2008 ( ), VS2005 VS2008, "" "". , , "" , .


.

, TortoiseHg, .

Firstly, I am upgrading to a set of changes in which the project was converted from VS2005 to VS2008. I canceled this revision, created a backup patch, and stripped the backup set of changes (since it was in the default branch). Then I applied the patch fix to the conversion change set (using: hg patch -no-commit patch), and then added the patch with the new branch name VS2005. Then I merged at the tip of the (unnamed) VS2005 branch.

The next step was to update the old tip (unamed) of the VS2008 branch, make minor changes and commit it as a new branch of VS2008. Then I merged the changes with the VS2005 content, but when I arrived, they were not allowed to make changes to the csproj files. Then I returned these files after committing.

Finally, I upgraded to the tip of VS2005 and merged into the VS2008 board.

, , , VS2005 VS2008.

:

  • VS2005 VS2008.
  • , , . .
  • , , .. VS2005 VS2008, VS2008 ( ) VS2005 .
+3
5

, StackOverflow, .

. - .

elses. premake, / . , , Mercurial Queues , , - , . Windows, , , , .

, .

0

: premake.

Premake - ( , pre-make pre-MSBuild, ). DSL, Lua, premake VS2008, 2005, 2003 2002, MonoDevelop, SharpDevelop, Code:: Blocks, CodeLite GNU Makefile Unix, Cygwin MinGW. ++, C #, - 32/64 , OSX, PlayStation 3 XBox 360.

. , DSL Lua, , , (, , Turing-complete) . , Visual Studio: , , configurations platforms.

.exe, Lua, Lua , , w370 > . , .

, , VS2008 .

+2

. .sln .csproj/.vcproj/.vbproj . , , .

+1

Mercurial: The Definitive Guide Mercurial Patch Queues backports Linux. , mq .

+1

, , , Visual Studio 2005. Visual Studio 2008, . Visual Studio 2008, , ( ). NTFS "ln", .

, / , .

Edit: and yes, I tried it myself, it works. We have a very similar scenario in which a C ++ application needs to be compiled with Visual Studio 2008 and the older Borland compiler.

0
source

Source: https://habr.com/ru/post/1724748/


All Articles