Difference between revisions of "User:Robin Cornelius/hg folding patchsets"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
== Folding patch sets with Mecurial ==
== Folding patch sets with Mecurial ==


With the Stowstorm project we hit a conceptual conflict with the commit little and often method of working, where one commits small changes in an incremental way when working on a given project feature/bugfix. At the end of the project it is desirable to provide one change set that contains your feature or bug so that the Snowstorm team can pull from your repository. It is very undesirable for them to pull in 100 Small changesets, that may contain trivial or useless information (to anyone other that yourself), that form your overall feature/bugfix.
With the Stowstorm project we hit a conceptual conflict with the commit little and often method of working, where one commits small changes in an incremental way when working on a given project feature/bugfix. At the end of the project it is desirable to provide one change set that contains your feature or bug so that the Snowstorm team can pull from your repository. It is very undesirable for them to pull in 100 Small changesets, that may contain trivial or useless information (to anyone other than yourself), that form your overall feature/bugfix.


Under git this is extreamly trivial with squash, you can just squash down a bunch of commits to a single commit. Under Hg this is still possible but not quite as obvious.
Under git this is extreamly trivial with squash, you can just squash down a bunch of commits to a single commit. Under Hg this is still possible but not quite as obvious.

Revision as of 04:15, 18 August 2010

Folding patch sets with Mecurial

With the Stowstorm project we hit a conceptual conflict with the commit little and often method of working, where one commits small changes in an incremental way when working on a given project feature/bugfix. At the end of the project it is desirable to provide one change set that contains your feature or bug so that the Snowstorm team can pull from your repository. It is very undesirable for them to pull in 100 Small changesets, that may contain trivial or useless information (to anyone other than yourself), that form your overall feature/bugfix.

Under git this is extreamly trivial with squash, you can just squash down a bunch of commits to a single commit. Under Hg this is still possible but not quite as obvious.

The way I am working is to create a branch for my development, default contains the upstream code base pulled from viewer-development, my development is happening in branch development.

Ensure you are on branch "development"

hg update development

This needs improving as using a named branch does not work, but find the first commit to your development branch, this will be called S and will be the commit ID eg 14653. Then do the following

hg qimport -r S:development
hg qgoto qbase

windows

FOR /F "delims=" %i IN ('hg qunapp') DO @set PATCHSET=%i
hg qfold %PATCHSET%

linux

 hg qfold $(hg qunapp) 

then finish up

hg gfinish qbase