README
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Mon, 10 Sep 2012 16:54:58 +0200
branchstable
changeset 547 c4abb0218e84
parent 541 3859f8e7d0d1
child 555 3704751fa27f
permissions -rw-r--r--
remove all notion of --detach in the test Mercurial 2.3 killed --detach (dance)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
540
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
     1
o============================
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
Mutable History For Mercurial
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     3
=============================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     4
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
523
c9983eb6969c doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 487
diff changeset
     6
Extends Mercurial feature related to Changeset Evolution
c9983eb6969c doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 487
diff changeset
     7
540
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
     8
This extension provides several commands to mutate history and deal with
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
     9
issues it may raise.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    10
523
c9983eb6969c doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 487
diff changeset
    11
It also:
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    12
540
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    13
    - enables the "Changeset Obsolescence" feature of mercurial,
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    14
    - alters core commands and extensions that rewrite history to use
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    15
      this feature,
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    16
    - improves some aspect of the early implementation in 2.3
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    17
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    18
**These extensions are experimental and are not meant for production.**
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    19
540
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    20
You can quicky enable it by adding the line below to the extensions
8c5da9e75ae0 evolve: fixing syntax/grammar
Patrick Mezard <patrick@mezard.eu>
parents: 523
diff changeset
    21
section of you hgrc::
324
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    22
523
c9983eb6969c doc: long desc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 487
diff changeset
    23
    evolve=PATH/TO/evolve.py
324
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    24
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
    25
But it's recommended to look at the doc in the first place.
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    26
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    27
See doc/ directory for details.
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    28
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    29
Online version of the doc is available:
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    30
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
    31
    http://hg-lab.logilab.org/doc/mutable-history/html/
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    32
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    33
Contribute
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    34
==================
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    35
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    36
The simplest way to contribute is to issue a pull request on bitbucket.
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    37
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    38
However, some cutting edge change may be found in a mutable repository hosted
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    39
by logilab before they are published.
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    40
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    41
    http://hg-lab.logilab.org/wip/mutable-history/
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
    42
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    43
Make sure to check lastest draft changeset before submitting new changeset.
261
240b37998806 added “pull here is OK, too” to the README.
Arne Babenhauserheide <bab@draketo.de>
parents: 239
diff changeset
    44
267
34020ca0c451 README: some more changes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 261
diff changeset
    45
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    46
Changelog
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    47
==================
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    48
541
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    49
1.0.1 -- 2012-08-31
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    50
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    51
- documentation improvement
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    52
- fix a performance bug with hgweb
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    53
3859f8e7d0d1 pkg: prepare version 1.0.1
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 540
diff changeset
    54
1.0 -- 2012-08-29
478
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    55
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    56
- Align with Mercurial version 2.3 (drop 2.2 support).
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    57
- stabilize handle killed parent
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    58
- stabilize handle late comer
487
595ae87e94b6 update changelog
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 483
diff changeset
    59
- stabilize handle conflicting
478
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    60
- stabilize get a --continue switch
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    61
- merge and update ignore extinct changeset in most case.
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    62
- new "troubled()" revset
479
b63da0fb8ee5 obsolete: add obsolete data to summary.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 478
diff changeset
    63
- summary now reports troubles changesets
482
d2531a747ff5 evolve: fold command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 479
diff changeset
    64
- new touch command
d2531a747ff5 evolve: fold command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 479
diff changeset
    65
- new fold command
483
b12ff7ef35b1 Introduction of olog as an alias
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 482
diff changeset
    66
- new basic olog alias
478
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    67
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    68
- rebase refuse to work on public changeset again
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    69
- rebase explicitly state that there is nothing to rebase because everything is
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    70
  extinct() when that happen.
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    71
- amend now cleanly abort when --change switch is misused
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    72
13ccb68b728d update changelog for upcoming 1.0
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 425
diff changeset
    73
425
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    74
0.7 -- 2012-08-06
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    75
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    76
- hook: work around insanely huge value in obsolete pushkey call
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    77
- pushkey: properly handle abort during obsolete markers push
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    78
- amend: wrap the whole process in a single transaction.
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    79
- evolve: tweak and add EOL to kill warning
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    80
- obsolete: fix doc, rebase no longer aborts with --keep
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    81
- obsolete/evolve: fix grammar in prerequisite messages
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    82
- evolve: avoid duplication in graft wrapper
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    83
- evolve: graft --continue is optional, test
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    84
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    85
0.6 -- 2012-07-31
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    86
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    87
- obsolete: change warning output to match mercurial core on
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    88
- qsync: ignore unexistent nodes
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    89
- make compat server both compatible with "dump" and "dump%i" version
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    90
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    91
0.5 -- 2012-07-16
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
    92
425
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    93
- obsolete: Detect conflicting changeset!
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    94
- obsolete: adapt to core: marker are written in transaction now
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    95
- evolve: add the solve alias to obsolete
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    96
- doc: big update of terms and summary of the concept
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    97
- evolve: switch the official name for "kill" to prune
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    98
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
    99
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   100
0.4.1 -- 2012-07-10
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   101
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   102
- [convert] properly exclude null successors from convertion
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   103
- Ignore buggy marker in newerversion
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   104
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   105
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   106
0.4.0 -- 2012-07-06
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   107
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   108
- obsolete: public changeset are no longer latecomer.
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   109
- obsolete: move to official binary format
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   110
- adapt for new mercurial
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   111
- obsolete: we are not compatible with 2.1 any more
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   112
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   113
0.3.0 -- 2012-06-27
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   114
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   115
- 
1b2757c1bd91 changelog: update changelog for all missing version
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 330
diff changeset
   116
- obsolete:  Add "latecomer" error detection (stabilize does not handle resolution yet)
328
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   117
- evolve:    Introduce a new `uncommit` command to remove change from a changeset
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   118
- rebase:    allow the use of --keep again
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   119
- commit:    --amend option create obsolete marker (but still strip)
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   120
- obsolete:  fewer marker are created when collapsing revision.
330
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
   121
- revset:    add, successors(), allsuccessors(), precursors(), allprecursors(),
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
   122
             latecomer() and hidden()
328
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   123
- evolve:    add `prune` alias to `kill`.
c046b083a5e0 README: minor changelog update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 325
diff changeset
   124
- stabilize: clearly state that stabilize does nto handle conflict
330
c2223b3f611a more README changes (oops)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 328
diff changeset
   125
- template:  add an {obsolete} keyword
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   126
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   127
0.2.0 -- 2012-06-20
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   128
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   129
- stabilize: improve choice of the next changeset to stabilize
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   130
- stabilize: improve resolution of several corner case
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   131
- rebase:    handle removing empty changesets
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   132
- rebase:    handle --collapse
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   133
- evolve:   add `obsolete` alias to `kill`
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   134
- evolve:   add `evolve` alias to `stabilize`
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   135
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 324
diff changeset
   136