Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:50:00 +0200] rev 2455
effectflag: handle invalid data
If we get a marker with an invalid input we should not crash the whole process.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:49:20 +0200] rev 2454
effetflag: move the flag back with the test of the creation logic
Previous changeset was published by mistake.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 20:21:10 +0200] rev 2453
obshistory: display informations from the obs marker effect flag
Leverage the effect flag to actually show what change for each
obsmarker in the obslog command. (first basic version).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:43:16 +0200] rev 2452
test: add (glob) to globed line
Ingloriously forgot to amend.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 19:45:04 +0200] rev 2451
effectflag: add test combining multiple flag
We check that multiple changes might be detected a the same time.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 20:15:05 +0200] rev 2450
effectflag: basic diff change detection
We adds some basic diff detection.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 19:52:57 +0200] rev 2449
effectflag: detect parent change
Add the detection of parent changes.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 19:48:44 +0200] rev 2448
effectflag: detect meta changes
Add the detection of known meta field changes. The known meta
fields that we check are:
- user
- date
- branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 19:43:06 +0200] rev 2447
effect-flag: rework existing test to prepare for mor tests
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 18:43:21 +0200] rev 2446
effectflag: allow to save effect of change in obsmarkers
Obsmarkers lack a precious information, what are the changes between
the source and the destination. This could be several thing:
- The description has changed, with a amend -e for example
- The parent has changed, with a rebase for example
- The content has changed, with a amend for example
- The meta, like the user, has change, with a amend -u for example
Or any combination of them.
We hijack the createobsmarkers in order to compute the modification
and store the effect flag which is basically a bitfield of the
changes list above and we store it in the metadata for the moment.
The advantage of computing the flag just before creating the obs marker
is that all commands will immediately be compatible and we can start
working on the UI display of the flag. As a future optimization,
the commands will be able to pass the flag directly or data to help computing
them, for example amend knows if the description has changed or rebase now if
the parent has changed, virtually removing the overhead.
To start simple, this patch add the detection and storage of the effect flag
when the description has changed. And hide it behind an experimental flag
disabled by default 'experimental.evolution.effect-flags'. More flag will
follow.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 18:07:56 +0200] rev 2445
merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:48:44 +0200] rev 2444
readme: fix version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:34:45 +0200] rev 2443
next: prevent a color related crash when evolve
This was not caught by test because they run color less.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 17:33:27 +0200] rev 2442
prune: prevent a color related crash when the working copy is moved
This was not caught by test because they run color less.
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Thu, 18 May 2017 22:40:17 -0700] rev 2441
evolve: adding longer aliases for olog
Novice users will likely find the longer versions more obvious to understand
what they're doing (olog only makes sense once you already know what it does).
Especially on the help page, "obslog" will be easier to find and make sense
of.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 11:16:22 +0200] rev 2440
debugobsstorestat: add markers size information
We adds some extra information about markers size in all known format.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:15:30 +0200] rev 2439
packaging: bump version to 6.3.0.dev
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:10:12 +0200] rev 2438
merge back with stable (post-release)
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:14:20 +0200] rev 2437
packaging: bump version to 6.2.1.dev
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2017 00:11:18 +0200] rev 2436
Added tag 6.2.0 for changeset d4ee0274a8ef
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:20:23 +0200] rev 2435
merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:55:02 +0200] rev 2434
merge with future 6.2.0
No extra change were needed compared to 3.9.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:51:10 +0200] rev 2433
merge with future 6.2.0
The new 'olog' command is not working with 3.9 so we skill all mentions of it in
the tests. This also apply to the topic extensions.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:35:16 +0200] rev 2432
merge with future 6.2.0
Minor unrelated output adjustements were needed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:12:52 +0200] rev 2431
merge with future 6.2.0
There are been (multiple) minor output changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:26:29 +0200] rev 2430
packaging: prepare release 6.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:26:06 +0200] rev 2429
debian: fix email
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:58:19 +0200] rev 2428
topic: update 'tested with' and readme
We are compatible with Mercurial 4.0 and above
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:25:43 +0200] rev 2427
readme: rearrange readme before release
There won't be a bugfix release (and other cleanup)
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 23:24:57 +0200] rev 2426
test: reduce output size to fight unstability
Until `hg touch` can be more stable, we have to do this :-/
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:57:20 +0200] rev 2425
tests: disable blackbox for 'getid'
This will significantly simplify the blackbox log.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:42:13 +0200] rev 2424
compat: handle lack of 'util.timer' for pre 4.2 version
We keep compatibility with previous Mercurial version by redefining the timer
when needed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:53:01 +0200] rev 2423
test: enforce color to be enabled
4.2 enable color by default and start to get used in test. So we add this to the
test for previous version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 22:12:05 +0200] rev 2422
merge with default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 21:59:10 +0200] rev 2421
tests: add a test about strip with obshashrange enable
I've seen some traceback but I cannot reproduce them. This tests seems useful
anyway.
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 18:35:34 +0200] rev 2420
obshistory: add a json test with cycles
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:40:20 +0200] rev 2419
tests: glob an absolute path
The ssh command path was in full and pointing the mercurial checkout of the last
one who touched the test.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:34:26 +0200] rev 2418
olog: document the default value
We actually display the log for '.' which is useful.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:29:28 +0200] rev 2417
readme: rearrange changelog content
blackbox is more important than the various caches changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:18:01 +0200] rev 2416
obshistory: rename the command to "olog"
The command start to look good enough to be handed out to user. We replace the
old and useless "olog" alias in favor of the new command.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 18:04:47 +0200] rev 2415
obshistory: move the command into the obshistory module
The root module is far too large already.
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 17:40:07 +0200] rev 2414
obshistory: add docstring to cmddebugobshistory
Add debugobshistory command documentation based on the log command
documentation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:47:59 +0200] rev 2413
obshashrangecache: make sure we re-warm the cache after a reset
This will "mitigate" the effect of dropping existing entries when new markers
affect existing range.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:35:36 +0200] rev 2412
obshashrangecache: precisely track affected revs when adding new markers
This will be useful when we start doing finer grained invalidation (instead of
dropping all data).
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 14:58:22 +0200] rev 2411
debugobshistory: handle multiple cycles
We previously handled up to one cycle only. This is now fixed.
Boris Feld <boris.feld@octobus.net> [Thu, 18 May 2017 14:49:02 +0200] rev 2410
test: clean the debugobshistory cycle test
Use 'desc(...)' instead of revision numbers.
Also blank lines between commands in the same test
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 17:03:11 +0200] rev 2409
obsdiscovery: add more debug output
we add a summary debug output to help gathering data.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 16:59:25 +0200] rev 2408
discovery: log information about obshashrange
We augment the blackbox output to help with data gathering.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:29:27 +0200] rev 2407
obshistory: add a graph option on the debugobshistory command
Add a graph option (--graph) to the debugobshistory. The output is
like the 'hg log -G' output. The option is activated by default but
can be deactivated with '--no-graph' option.
There are various issue with the current implementation (multiple cycles
handling, N² complexity) but this can be fixed later.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:29:23 +0200] rev 2406
obshistory: import 'node' as 'nodemod'
This simplify the next changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 11:00:06 +0200] rev 2405
label: add a label for the node in the "wc now at" message
MOAR COLOR FOR THE COLOR GOAD!
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 May 2017 10:56:08 +0200] rev 2404
label: rename 'evolve.short_node' to 'evolve.node'
A wider labelk will helps compatibility.
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 19:20:43 +0200] rev 2403
obshistory: refactor debugobshistory
Rename the function and extract the heavy work of the command
in a separate module named obshistory.py
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:54:48 +0200] rev 2402
test: adapt to change in cache warming in core
Core Mercurial has a more rational cache warming strategy now. 24f55686a63d
stopped warming of the cache after every changegroup application (in favor of
end of transaction warming). This reflect in the blackbox test output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:38:13 +0200] rev 2401
test: adapt to change in cache warming in core
Core Mercurial has a more rational cache warming strategy now. 2b6692df1bdf
stopped warming of the cache after every commit (in favor of end of transaction
warming). This reflect in the blackbox test output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:47:22 +0200] rev 2400
stablerangecache: avoid crash when 'cache/' directory is missing
If the directory is missing, we create it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 18:40:48 +0200] rev 2399
obshashrange: avoid crash when 'cache/' directory is missing
If the directory is missing, we create it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 17:16:59 +0200] rev 2398
tests: apply output changes from core fix
Mercurial core fixed a bug were the obsolete set (and all depending data) stayed
invalid after markers were merged. Fixing this bug is fixing some bad output on
the evolve side so we apply the output change.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 15:49:21 +0200] rev 2397
packaging: mention 'dev' status in the version number
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 09:28:10 +0200] rev 2396
color: update the shorttemplate to use colors
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 14:49:02 +0200] rev 2395
merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 14:40:18 +0200] rev 2394
obshashrange: cleanup 'valid' life cycle
- reset is only called when we detect a strip, the on disk data are invalid,
- after a reset, we should not keep using the data base connection,
- after a write, the on disk data are valid.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:27:13 +0200] rev 2393
obsrangecache: raise programming error when using an unwarmed cache
This will provide a better experience for developer using this the cache.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:27:29 +0200] rev 2392
obshashrange: stop marking on-disk data as invalid on clear
This was abusing and prevent proper use of the on disk cache.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:16:18 +0200] rev 2391
obshashcache: purge the meta line before writing a new one
Otherwise we get multiple lines and this gets messy.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 13:14:50 +0200] rev 2390
obshashrange: drop spurious whitespace
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:25:56 +0200] rev 2389
obshashcache: invalidate affected cache entries on side
Calling reset during upgrade is screwing up the cache key update.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:26:15 +0200] rev 2388
obshashcache: properly break out of all loops
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 12:23:10 +0200] rev 2387
dualsourcecache: simplify cachekey.clear
We do not needs the super call anymore and we can make the reset case more
explicit. So we do.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 11:58:48 +0200] rev 2386
tests: small test update
This is a bit clearer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 11:23:33 +0200] rev 2385
dualsourcecache: fix obskey return by _checkkey
The function was returning the old key instead of the new one. This is now
fixed.
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 11:47:14 +0200] rev 2384
test: update test-obsolete.t to use common.sh
The definition of getid() in the test file was wrong, use the one
from common.sh instead
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:23:31 +0200] rev 2383
obshashrange: log reset from new markers
This will help tracking performance impact from current limitation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:18:46 +0200] rev 2382
dualsourcecache: log cache reset
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 17:03:34 +0200] rev 2381
stablerange: log time spent updating the stable range
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 16:56:37 +0200] rev 2380
cache: track time spend updating various cache
This produce more useful blackbox log.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 15:20:53 +0200] rev 2379
obshashrange: adds blackbox usage in tests
This will help track the validation of the cache.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:45:08 +0200] rev 2378
obshashrange: test behavior in case of rollback
The cache should be properly invalidated.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:42:50 +0200] rev 2377
obshashrange: extend tests
We test more situations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:18:30 +0200] rev 2376
dualsourcecache: add a cache name
This will be used to automatically log message for blackbox
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 12:17:13 +0200] rev 2375
obscache: stop definition of the empty key
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:41:36 +0200] rev 2374
obshashrange: keep value fetched from sql in memory
This will reduce the number of roundtrip to the data base we need.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:37:45 +0200] rev 2373
obshashrange: stop inheriting from 'dict'
A simple dictionary attribute seems more simpler.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 09:52:06 +0200] rev 2372
merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:23:19 +0200] rev 2371
obshashrange: to not overwrite the list with the set
We reusing the list variable lower in the code.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:22:24 +0200] rev 2370
obshashrange: properly break out of the two loops
Otherwise we would continue to iterate even after we reseted the cache.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 May 2017 00:21:30 +0200] rev 2369
obshashrange: fix reset conditional
If the revision is in "revs" we should not reset the cache. The old code was
wrong (Thanks goes to new tests for catching this).
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2017 11:21:41 +0200] rev 2368
cache: ensure we warm stablerange cache before the obshashrange cache
I've been seeing traceback that seems to be happening because of issues in this
area.
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Tue, 16 May 2017 23:37:10 -0700] rev 2367
evolve: fixing obscache invalidation
This was missing a call to the parent's destroyed(), such that any transaction
after stripping some nodes would result in a crash (by attempting to read nodes
which were stripped).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:21:31 +0200] rev 2366
obshashrange: warm the cache at the end of each transaction
This will help having warmed cache for read only client.
The warming is still imperfect in case of markers that trigger a reset, but we
are in a better place than what we used to be.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:00:39 +0200] rev 2365
obshashrange: warm cache outside of loops
The performance impact will be lower
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:20:02 +0200] rev 2364
obshashrange: "update" the cache on each transaction close
Right now the "update" does not really file the cache, but it will detect
invalid situation and clean them.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:52:19 +0200] rev 2363
obshashrange: properly invalidate the cache on destroyed
Copy paste is the scurge of code source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:49:27 +0200] rev 2362
obshashrange: properly drop the current connection on clear
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:40:00 +0200] rev 2361
obshashrange: exit early if nothing to write
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:29:54 +0200] rev 2360
obshashrange: use the dualsourcecache as a base for the cache
This will easily open the way to incrementally updated obshashrange cache.
Small update are needed to the data base schema so be bump the version
Currently the update function is not warming the cache (but details case where
it is invalidated).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 20:28:09 +0200] rev 2359
obscache: makes dualsourcecache compatible with obshashrange cache needs
The goal of the abstract method is to be reusable. So we make sure it is
reusable.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 21:20:40 +0200] rev 2358
readme: add a changelog entry about the more efficient obscache
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:18:49 +0200] rev 2357
obscache: extract a data agnostic class
We now have an independent class that we can reuse for other purpose
(eg: obshashrange cache)
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:07:14 +0200] rev 2356
obscache: extract the actual data update in a dedicated function
This will help extract a data agnostic class.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:05:46 +0200] rev 2355
obscache: move an assert to a lower level
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 19:04:13 +0200] rev 2354
obscache: use 'nullid' as the hash of an empty obsstore
This align this result with what we use for 'emptykey'
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:56:56 +0200] rev 2353
obcache: move empty on the class
We'll extract a smaller data agnostic class but we need to gather all method on
it first.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:56:42 +0200] rev 2352
obcache: move _checkkey on the class
We'll extract a smaller data agnostic class but we need to gather all method on
it first.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 May 2017 18:52:59 +0200] rev 2351
obcache: move updateneeded on the class
We'll extract a smaller data agnostic class but we need to gather all method on
it first.
Boris Feld <boris.feld@octobus.net> [Fri, 12 May 2017 18:34:37 +0200] rev 2350
obshistory: only display each revision once in debugobshistory
When using a revision range, the same precursor could have been
displayed more than once. Use a cache to display each revision
only once.
It's a fix until we found the nicest way to display obs history.
Boris Feld <boris.feld@octobus.net> [Fri, 12 May 2017 11:39:41 +0200] rev 2349
obshistory: display a message when one marker node has no change ctx
When exchanging obs markers, there is some change contexts
referencing change contexts that are not available locally.
As we cannot display informations about them, instead print a
message saying so.
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 14:46:01 +0200] rev 2348
ui: hg topic now display if current revision is in bad state (issue5533)
Previously, hg topic didn't showed the state of the current
revision. Now if show both informations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 17:00:55 +0200] rev 2347
obsstore: also guard agains changing object in '_checkkey'
The 'upgradeneeded' function needs to be able to pass the object it fetched once.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:58:43 +0200] rev 2346
obscache: guard from changing changelog or obsstore object
We access these object once to make sure they will never change through the
function (and their content will be fixed).
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:45:13 +0200] rev 2345
obscache: return the new data along-side the upgrade needs (and cache key)
Having one function returning consistent data will help prevent race.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:06:31 +0200] rev 2344
obscache: use the smaller scope function
This make the function simpler and allow larger update on the 'upgradeneeded'
one.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 May 2017 16:05:50 +0200] rev 2343
obscache: extract the cache key validation in its own function
This help keep the "up to date logic" simpler and prepare a more complex
version of the "upgradeneeded" logic that would return the full data needed for
the upgrade.
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 11:52:11 +0200] rev 2342
obshistory: use formatter instead of ui.write in the debugobshistory command
Replace ui.write with a formater to have template support and json output.
Update tests to assert json outputs.
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 09:55:22 +0200] rev 2341
ui: Fix hg stack json output
Previously 'hg stack -Tjson' generated invalid output
like:
[
{
"isentry": true,
"topic.stack.desc": "...",
"topic.stack.index": 1,
"topic.stack.state": "current",
"topic.stack.state.symbol": "@"
}
]
,
{
"isentry": true,
"topic.stack.desc": "...",
"topic.stack.index": 1,
"topic.stack.state": "current",
"topic.stack.state.symbol": "@"
},
{
"isentry": false,
"topic.stack.desc": "...",
"topic.stack.state": "base",
"topic.stack.state.symbol": "^"
}
]
I de-indented the fmt.end() to generate this output:
[
{
"isentry": true,
"topic.stack.desc": "...",
"topic.stack.index": 1,
"topic.stack.state": "current",
"topic.stack.state.symbol": "@"
},
{
"isentry": false,
"topic.stack.desc": "...",
"topic.stack.state": "base",
"topic.stack.state.symbol": "^"
}
]
I've also added a test case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:04:31 +0200] rev 2340
topic: configure some default color for topic
This makes thg usable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:03:05 +0200] rev 2339
topic: automatically configure thg to display topic
If no other config is set, we configure Tortoise-hg to display topic. This
should helps usability.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 May 2017 13:08:45 +0200] rev 2338
readme: update readme to mention 'debugobshistory'
Boris Feld <boris.feld@octobus.net> [Tue, 09 May 2017 17:43:39 +0200] rev 2337
obshistory: add some color
Boris Feld <boris.feld@octobus.net> [Wed, 10 May 2017 12:26:33 +0200] rev 2336
obshistory: add a debugobshistory command to show obs history of a revs
Add the debugobshistory command that accept a revision range and display
the obsolescence containing each revision in the range.
For the moment, it only displays the predecessors.