Tue, 11 Sep 2012 00:12:07 +0200 amend: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 11 Sep 2012 00:12:07 +0200] rev 17475
amend: add obsolete support If the obsolete feature is enabled, `hg commit --amend` marks a changeset as obsolete instead of stripping it.
Fri, 24 Aug 2012 21:16:23 +0200 obsolete: add a high level function to create an obsolete marker
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 24 Aug 2012 21:16:23 +0200] rev 17474
obsolete: add a high level function to create an obsolete marker This function is designed to be used by all code that creates new obsolete markers in the local repository. It is not used by debugobsolete because debugobsolete allows the use of an unknown hash as argument.
Sat, 25 Aug 2012 16:20:41 +0200 amend: use an explicit commit message for temporary amending commit
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sat, 25 Aug 2012 16:20:41 +0200] rev 17473
amend: use an explicit commit message for temporary amending commit Before this changeset, the extra commit created during amend had the same description as the final commit. This was a bit confusing when trying to understand what that extra commit was about. This changeset changes the description of such commit to: temporary amend commit for <ammend-commit-hash> The old behaviour was not a big deal, but would become more confusing once we use obsolescence marker instead of stripping the precursors. This also helps if the user restores a strip backup.
Mon, 10 Sep 2012 23:44:24 +0200 amend: wrap all commit operations in a single transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 10 Sep 2012 23:44:24 +0200] rev 17472
amend: wrap all commit operations in a single transaction This allows proper recovery of an interrupted amend process. No changes are made to the logic besides: - indent operations into a single try-except clause, - some comment and code wrapping to 80 chars, - strip logic should not be contained in the transaction and is extracted from the main code.
Sat, 25 Aug 2012 15:37:28 +0200 amend: lock the repository during the whole process
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 25 Aug 2012 15:37:28 +0200] rev 17471
amend: lock the repository during the whole process Without this changes another writer can lock the repository in the middle the amend process. The resulting mess can be pretty ugly.
Mon, 10 Sep 2012 14:08:10 -0700 Merge with crew
Bryan O'Sullivan <bryano@fb.com> [Mon, 10 Sep 2012 14:08:10 -0700] rev 17470
Merge with crew
Tue, 28 Aug 2012 20:52:04 +0200 obsolete: introduce caches for all meaningful sets
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 28 Aug 2012 20:52:04 +0200] rev 17469
obsolete: introduce caches for all meaningful sets This changeset introduces caches on the `obsstore` that keeps track of sets of revisions meaningful for obsolescence related logics. For now they are: - obsolete: changesets used as precursors (and not public), - extinct: obsolete changesets with osbolete descendants only, - unstable: non obsolete changesets with obsolete ancestors. The cache is accessed using the `getobscache(repo, '<set-name>')` function which builds the cache on demand. The `clearobscaches(repo)` function takes care of clearing the caches if any. Caches are cleared when one of these events happens: - a new marker is added, - a new changeset is added, - some changesets are made public, - some public changesets are demoted to draft or secret. Declaration of more sets is made easy because we will have to handle at least two other "troubles" (latecomer and conflicting). Caches are now used by revset and changectx. It is usually not much more expensive to compute the whole set than to check the property of a few elements. The performance boost is welcome in case we apply obsolescence logic on a lot of revisions. This makes the feature usable!
Sun, 09 Sep 2012 12:35:06 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sun, 09 Sep 2012 12:35:06 +0200] rev 17468
Merge with stable
Sun, 09 Sep 2012 12:31:14 +0200 test-http-branchmap: enable on Windows
Patrick Mezard <patrick@mezard.eu> [Sun, 09 Sep 2012 12:31:14 +0200] rev 17467
test-http-branchmap: enable on Windows Tests using "hg serve --daemon" are currently disabled on Windows for lack of proper kill utility. The one shipped with MinGW operates on internal process identifiers and not on the ones recorded by hg serve. Fortunately we can replace most of them by calls to killdaemons.py. This patch is a proof of concept on how to run these tests on Windows. The plan is: - Check test-http-branchmap.t does not fail/hang on the buildbot - Convert all kill utility calls to killdaemons.py calls. - Add a rule in check-code.py to forbid kill calls, or ignore the remaining ones (test-hup.t, etc.). - Possibly drop the 'serve' rule from hghave. The: listening at http://*:$HGPORT1/ line does not appear on Windows because the detached process can no longer write on its parent streams. Grepping hg serve stdout directly causes the parent process to never return and hangs the test. This is a bug, but I have no simple solution and prefer to pay this small price and enable hg serve tests on Windows.
Mon, 20 Aug 2012 22:36:51 +0200 killdaemons: take file argument explicitely
Patrick Mezard <patrick@mezard.eu> [Mon, 20 Aug 2012 22:36:51 +0200] rev 17466
killdaemons: take file argument explicitely It makes it easier to use as a generic replacement for kill utility, mostly for Windows tests.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip