Page MenuHomePhabricator
Feed Advanced Search

Today

marmoute added a comment to D9065: merge: make low-level update() private (API).

tests/test-install.t and tests/test-duplicateoptions.py are unhappy about this change.

Fri, Sep 25, 8:01 AM
marmoute added a comment to D9082: chg: make clang format happy.

Thanks (but apparently you did created an obsmarker)

Fri, Sep 25, 6:20 AM

Yesterday

marmoute created D9082: chg: make clang format happy.
Thu, Sep 24, 8:23 PM

Wed, Sep 23

marmoute added a comment to D9045: tests: update test-share-safe to work with non-zstd versions.

This looks fine

Wed, Sep 23, 7:32 AM
marmoute updated subscribers of D9004: hgdemandimport: bypass demandimport for _ast module (issue6407).

Now that a fix as landed in python 3.9 should we back this out ?

Wed, Sep 23, 3:11 AM
marmoute added a comment to D8937: rust: enable on macOS.

@Alphare gentle ping to provide a todo list here.

Wed, Sep 23, 2:41 AM

Fri, Sep 18

marmoute committed rHG2bc978921e8a: strip: with --keep, consider all revs "removed" from the wcp (issue6270).
strip: with --keep, consider all revs "removed" from the wcp (issue6270)
Fri, Sep 18, 11:56 PM
marmoute committed rHG27822b8436bf: test-strip: display more information highlight buggy behavior.
test-strip: display more information highlight buggy behavior
Fri, Sep 18, 11:56 PM
marmoute committed rHGdf87821081ee: changing-files: implement equality checking.
changing-files: implement equality checking
Fri, Sep 18, 11:56 PM
marmoute committed rHG1f50bcc96595: changing-files: document the various sets.
changing-files: document the various sets
Fri, Sep 18, 11:56 PM

Thu, Sep 17

marmoute accepted D9006: chg: make is possible to call by default an hg binary located next to chg.
Thu, Sep 17, 4:01 AM
marmoute added a comment to D9006: chg: make is possible to call by default an hg binary located next to chg.

The behavior and the code looks good to me. I guess we should document the variable and the behavior somewhere. However I am not sure of where that might be. @yuya do you know where the chg documentation lives ?

Thu, Sep 17, 3:59 AM
marmoute added a comment to D8937: rust: enable on macOS.

Thanks for taking the time to do this.
I however still have reservations as to adding MacOS as a supported platform since it currently is tested in no CI that runs even semi-frequently on Rust code.
Also, what do you mean by "most tests pass"? What is needed to make the rest pass? And finally, which is the correct behavior from the Python version or the Rust one (according to your new commit message)?
I will take time to take a look at the code in detail after this becomes clearer for me, just so I can understand what compromise, if any, you're making right now.

Thu, Sep 17, 3:53 AM

Wed, Sep 16

marmoute closed D8939: tests: add criss cross merging tests whose behavior need to be fixed.
Wed, Sep 16, 7:49 AM
marmoute committed rHG9bd60ec60601: tests: add criss cross merging tests whose behavior need to be fixed.
tests: add criss cross merging tests whose behavior need to be fixed
Wed, Sep 16, 7:49 AM
marmoute added a comment to D9023: branchmap: add a cache validation cache, avoid expensive re-hash on every use.

Did you measure the performance impact on other operation than your target operation ? I am curious about the impact of the @property here.

Wed, Sep 16, 6:52 AM

Tue, Sep 15

marmoute committed rHG14be07d5603c: copy-tracing: test case where a merge reverted a file deletion.
copy-tracing: test case where a merge reverted a file deletion
Tue, Sep 15, 7:04 AM
marmoute committed rHG4b582a93316a: copy-tracing: test case where we go across a changed/deleted merge.
copy-tracing: test case where we go across a changed/deleted merge
Tue, Sep 15, 7:04 AM

Mon, Sep 14

marmoute added a comment to D8977: merge: check for dir rename dest before adding ACTION_KEEP.

Why don't we get a test change with this ?

The test changes are visible after disabling the m2-vs-ma optimization. I just plugged it before to minimize the test changes in that patch which disables the optimization.

Mon, Sep 14, 4:54 AM

Sat, Sep 12

marmoute added a comment to D9008: templater: fix reading of templates in frozen binaries with py3 < 3.7.

looks good. As an unrelated change, maybe add a comment on the previous block to indicate it is relevant for all python starting from 3.9+

Sat, Sep 12, 6:03 AM
marmoute added a comment to D9007: graphlog: use '%' only if there are *unresolved* conflicts.

(maybe update the description to state this since this is a common question)

Sat, Sep 12, 6:01 AM
marmoute added a comment to D9007: graphlog: use '%' only if there are *unresolved* conflicts.

Sounds good then :-)

Sat, Sep 12, 6:01 AM

Fri, Sep 11

marmoute added a comment to D9016: histedit: cache description line.

great

Fri, Sep 11, 5:05 PM
marmoute added a comment to D9017: tests: make emacs test less strict.

sounds good.

Fri, Sep 11, 5:05 PM
marmoute added a comment to D9007: graphlog: use '%' only if there are *unresolved* conflicts.

Does this affect all merge (especially hg merge) ? or just the one where the working copy has only one parent?

Fri, Sep 11, 9:36 AM
marmoute added a comment to D8984: commit: pass mergestate into _filecommit() instead of re-reading it.

looks good

Fri, Sep 11, 8:58 AM
marmoute added a comment to D8983: merge: move initial handling of mergeactions near to later one.

This kind of massive code block move in a huge function make me think we should slice it into smaller function. What do you think?

Fri, Sep 11, 8:56 AM
D8977: merge: check for dir rename dest before adding ACTION_KEEP now requires changes to proceed.

Why don't we get a test change with this ?

Fri, Sep 11, 8:54 AM
marmoute added a comment to D8967: merge: show number of ancestors in bid merge debug notes.

Fri, Sep 11, 8:51 AM
marmoute added a comment to D8942: debugmergestate: show extras for files which are not in mergestate.

Thanks for the update.

Fri, Sep 11, 8:50 AM
marmoute added a comment to D8965: merge: update commitinfo from all mergeresults during bid merge.

not great, but okay.

Fri, Sep 11, 8:49 AM
marmoute added a comment to D8966: merge: show list of bids for each file in bid-merge in ui.note().

Fri, Sep 11, 8:48 AM
D8940: merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally now requires changes to proceed.
Fri, Sep 11, 5:40 AM
marmoute added a comment to D8974: merge: add `ACTION_KEEP_ABSENT` to represent files we want to keep absent.

(I wonder if we don't use "missing" more than "absent" through the code. However quick grepping is not very conclusive and "missing" could be confused with the hg status state)

Fri, Sep 11, 5:35 AM
D8989: commit: force create a new filenode if it was set in mergestate by merge now requires changes to proceed.
Fri, Sep 11, 5:17 AM
marmoute added inline comments to D8988: merge: store commitinfo if mergetool resolved a dc or cd conflict.
Fri, Sep 11, 5:17 AM
D9003: merge: store cases when a file is absent post merge in commitinfo now requires changes to proceed.
Fri, Sep 11, 5:16 AM
marmoute added a comment to D8989: commit: force create a new filenode if it was set in mergestate by merge.

Cf feedback on the previous changeset about the semantic of the message.

Fri, Sep 11, 5:14 AM
D8988: merge: store commitinfo if mergetool resolved a dc or cd conflict now requires changes to proceed.
Fri, Sep 11, 5:12 AM
marmoute added a comment to D8987: tests: add few debugrevlogindex and a log call to see changes in next test.

Looks good.

Fri, Sep 11, 5:08 AM
marmoute added a comment to D8982: merge: disable `m2-vs-ma` diff optimization in case of flat manifests.

Looks good. Out of curiosity, did you do any performance measurement of this?

Fri, Sep 11, 5:06 AM
marmoute accepted D8981: scmutil: introduce function to check whether repo uses treemanifest or not.
Fri, Sep 11, 5:03 AM
marmoute added a comment to D8940: merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally.

So right now the bid merge still behave in a bad way (delete the file instead of conflicting, but at least not it consistently does so regardless of where the merge is started?

Fri, Sep 11, 4:59 AM
D8974: merge: add `ACTION_KEEP_ABSENT` to represent files we want to keep absent now requires changes to proceed.
Fri, Sep 11, 4:55 AM
marmoute added a comment to D8939: tests: add criss cross merging tests whose behavior need to be fixed.

thanks for the extensive documentation.

Fri, Sep 11, 4:52 AM
marmoute added a comment to D9002: mergestate: introduce a new ACTION_KEEP_NEW.

Seems saner

Fri, Sep 11, 4:50 AM
marmoute added a comment to D8986: debugmergestate: sort extras before printing.

big +1

Fri, Sep 11, 4:47 AM
marmoute added inline comments to D8872: rhg: make output of `files` relative to the current directory and the root.
Fri, Sep 11, 4:47 AM
marmoute added a comment to D8872: rhg: make output of `files` relative to the current directory and the root.

This looks fine.

Fri, Sep 11, 4:42 AM
marmoute added a comment to D8972: [WIP] diff: add a `--tool` flag.

Should we move this to change requested since this is WIP ?

Fri, Sep 11, 4:29 AM
D8784: tags: adjust file node cache to have space for 32 bytes node ids now requires changes to proceed.

(updating status to reflect the current discussion status)

Fri, Sep 11, 4:27 AM
marmoute added a comment to D6259: [POC] revset: on-disk cache for children queries.

The approach used by the nodemap is probably a good way forward for transactional case. Some kind of happen only index, that get recompacked on a regular basis. Combined with an append only data file (for example, children can be stored as linked list (data file size) with a pointer to the first entry in an index file.

Fri, Sep 11, 4:24 AM
marmoute added a comment to D8990: rust-cpython: switch logging facade from `simple_logger` to `env_logger`.

Looks good.

Fri, Sep 11, 4:18 AM
D8973: log: add support for bookmarks now requires changes to proceed.

Marking as "change requested" since Pulkit (righfully) requested for a test case.

Fri, Sep 11, 4:18 AM

Tue, Sep 1

marmoute added a comment to D8940: merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally.

Having a dedicated action would seems cleaner.

Tue, Sep 1, 4:55 AM

Fri, Aug 28

marmoute added a comment to D8930: mergestate: clear merge state if there are no unresolved conflicts.

Do you mean that we could make hg log -G not show % if all conflicts are resolved? Maybe we'd do the same for hg status -v in that case? But probably leave hg resolve -l alone?

Fri, Aug 28, 3:57 AM

Thu, Aug 27

marmoute committed rHGf62bb5d07848: test: add `test-repo` requirement to `test-check-format` (issue6395).
test: add `test-repo` requirement to `test-check-format` (issue6395)
Thu, Aug 27, 10:05 AM
marmoute added a comment to D8930: mergestate: clear merge state if there are no unresolved conflicts.

(I just found a related ticket from Sushil https://bz.mercurial-scm.org/show_bug.cgi?id=6360)

Thu, Aug 27, 2:54 AM
marmoute added a comment to D8948: rewriteutil: extract evolve code used to replace obsolete hashes in commits.

There are already a mercurial/rewriteutils.py files I think it should go there

So that causes a cycle:

--- c:/Users/Matt/hg/tests/test-check-module-imports.t
+++ c:/Users/Matt/hg/tests/test-check-module-imports.t.err
@@ -38,3 +38,5 @@
   > -X tests/test-imports-checker.t \
   > -X tests/test-verify-repo-operations.py \
   > | sed 's-\\-/-g' | "$PYTHON" "$import_checker" -
+  Import cycle: mercurial.cmdutil -> mercurial.rewriteutil -> mercurial.localrepo -> mercurial.extensions -> mercurial.cmdutil\r (esc)
+  [1]

That is really only used for type checking, so is that safe to move under if pycompat.TYPE_CHECKING: with the typing related imports, or is there another way to do this? Or should I just drop the type checking?

Thu, Aug 27, 2:48 AM

Wed, Aug 26

marmoute added a comment to D8784: tags: adjust file node cache to have space for 32 bytes node ids.

I think it is a one time issue per repository, even when mixing old and new clients they will update incrementally?

Wed, Aug 26, 4:08 PM
marmoute added a comment to D8948: rewriteutil: extract evolve code used to replace obsolete hashes in commits.

A mix of timing regarding policy changes and semantic. Module in utils are mostly a split of the old utils module. These modules are a generic utility module with function that might be useful in about any kind of other Mercurial code.

Wed, Aug 26, 3:34 PM
marmoute added a comment to D8962: rhg: Add debug timing.

This looks straighforward.

Wed, Aug 26, 3:30 PM
marmoute added a comment to D8957: hg-core: fix some `clippy` warnings.

Same here, this could have been two distinct commit. But this is small enough.

Wed, Aug 26, 3:24 PM
marmoute added a comment to D8956: rhg: print error message when argument parsing fails.

Seems better.

Wed, Aug 26, 3:24 PM
marmoute added a comment to D8955: rhg: fix `clippy` warnings.

I would have split it by error types, but that seems fine anyway. There are few errors and few different types.

Wed, Aug 26, 3:23 PM
marmoute accepted D8954: rhg: pass `ui` to `Command` `run`.
Wed, Aug 26, 3:21 PM
marmoute accepted D8953: documentation: add `zstd` compression to the internal `revlogs` documentation.
Wed, Aug 26, 3:19 PM
marmoute added a comment to D8952: remotefilelog: acquire lock before writing requirements on clone.

sure

Wed, Aug 26, 3:15 PM
marmoute accepted D8951: rewriteutil: relax the sha1 hash references to handle future hash types.
Wed, Aug 26, 3:15 PM
marmoute added a comment to D8950: phabricator: update the hashes in commit messages as they get submitted.

sounds great

Wed, Aug 26, 3:14 PM
marmoute added a comment to D8949: rewriteutil: also consider pending obsoletes when updating hashes in messages.

Sounds fine, Maybe mention pending semantic and intended usage into the function docstring?

Wed, Aug 26, 3:11 PM
D8948: rewriteutil: extract evolve code used to replace obsolete hashes in commits now requires changes to proceed.

There are already a mercurial/rewriteutils.py files I think it should go there

Wed, Aug 26, 3:05 PM
marmoute added a comment to D8947: mercurial: force LF endings for *.py, *.{c,h} and *.t in .editorconfig.

Resounding +1

Wed, Aug 26, 3:03 PM
marmoute added inline comments to D8938: run-tests: refactor filtering logic for --retest flag.
Wed, Aug 26, 2:05 PM

Aug 26 2020

D8937: rust: enable on macOS now requires changes to proceed.

Looks like we should take the change to dirstate_map.rs (in its own changesets) and delay the change to rust/hg-core/src/lib.rs, right? @danchr can you split this?

Aug 26 2020, 12:58 PM
marmoute accepted D8941: merge: add missing ACTION_KEEP when both remote and ancestor are not present.
Aug 26 2020, 12:55 PM
marmoute added a comment to D8939: tests: add criss cross merging tests whose behavior need to be fixed.

How does this related to the test I handed to you 10 day ago. Is this testing a new case where we could get criss cross merge to behave right or is this a variation of the one I wrote?

Aug 26 2020, 12:54 PM
marmoute added a comment to D8940: merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally.

Using ACTION_KEEP for a file that does not exist seems a bti scary. Did we not refactor the merge code to allow to express this ? (Do not touch working copy and dirstate, but something happened?)

Aug 26 2020, 12:51 PM
marmoute added a comment to D8942: debugmergestate: show extras for files which are not in mergestate.

SIlly question: Would it make sense to still like the extra for files we have in the mergestate. And have other line for the file that have extra without being in the mergestate?

Aug 26 2020, 12:48 PM
D8938: run-tests: refactor filtering logic for --retest flag now requires changes to proceed.
Aug 26 2020, 12:45 PM
marmoute added a comment to D8930: mergestate: clear merge state if there are no unresolved conflicts.

The ability to re-run the merge seems quite important and I fear the BC implication. What are the issue with keeping the file around? The one issue I see listed is the use of % in hg log could we tackle that directly instead?

Aug 26 2020, 12:33 PM
marmoute added a comment to D8784: tags: adjust file node cache to have space for 32 bytes node ids.

this cache is critical for performance of some large installation. silently dropping v1 update and moving to v2 might have very base consequence in case. Should we keep v1 working and only switch for v2 for repository with 32 bites hashes?

Aug 26 2020, 12:30 PM
marmoute added a comment to D8783: storageutil: allow modern hash sizes for fileids.

This look good overall. I wonder how much the tuple creation and lookup cost and if we should have two explicite test instead.

Aug 26 2020, 12:24 PM
marmoute added a comment to D8928: worker: don't expose readinto() on _blockingreader since pickle is picky.

This looks overall good. However I recommend adding a comment to make this does not regress (see inline comment)

Aug 26 2020, 12:12 PM
D8633: share: introduce config option to store requires in .hg/store is now accepted and ready to land.

I'm approving this as an experimental quality feature. I think the technical direction is sound and the splitting of requirements corrects some long-standing soundness issues and will lead to a better end-user experience for shared repositories.
Before the experimental label is ripped off, I think we should consider:

  • Whether store requirement belongs in .hg/requires or .hg/store/requires. It's weird for it to be in .hg/store since that requirement essentially says files are in store/.
Aug 26 2020, 3:16 AM
D8914: helptext: document exp-sharesafe in internals/requirements.txt is now accepted and ready to land.

The target audience of the internals documentation is Mercurial developers and anyone else who wants to know how Mercurial works. End users should not generally care about its existence.

Aug 26 2020, 3:02 AM

Aug 25 2020

marmoute added a comment to D8914: helptext: document exp-sharesafe in internals/requirements.txt.

This should not be documented as long as it experimental (and the behavior is not freezed). The documentation should come when we rename the requirement name to its final name.

I disagree. Experimental or not, the docs should land at the same time the functionality does. If nothing else, the docs can serve as a reference for people changing the feature and we can use changes to the docs as a proxy to learn how the feature evolved without looking at code.
I plan to land this patch as part of the rest of the series.

Aug 25 2020, 3:31 AM

Aug 10 2020

D8923: mergestate: replace `addmergedother()` with generic `addcommitinfo()` (API) now requires changes to proceed.

This seems to conflict with my request for D8921, do we have a good way forward that allow to still rename the key ?

Aug 10 2020, 1:22 PM
marmoute accepted D8922: merge: introduce `addcommitinfo()` on mergeresult object.
Aug 10 2020, 1:19 PM
D8921: merge: use collections.defaultdict() for mergeresult.commitinfo now requires changes to proceed.

Having a filenode key that does not contains a filenode is quite misleading. Can we use a different key ? (and align the extrastate dict in the same direction?)

Aug 10 2020, 1:18 PM
marmoute accepted D8921: merge: use collections.defaultdict() for mergeresult.commitinfo.
Aug 10 2020, 1:17 PM
marmoute accepted D8920: mergestate: use _stateextras instead of merge records for commit related info.
Aug 10 2020, 1:15 PM
marmoute accepted D8919: mergestate: use collections.defaultdict(dict) for _stateextras.
Aug 10 2020, 1:14 PM

Aug 8 2020

marmoute committed rHG54eeb1a0e325: commitctx: directly update the touched and added set of files.
commitctx: directly update the touched and added set of files
Aug 8 2020, 12:05 AM
marmoute committed rHG027f3dd76302: commitctx: directly updated the set of removed files.
commitctx: directly updated the set of removed files
Aug 8 2020, 12:05 AM
marmoute committed rHGa852e5058e69: commitctx: create the `ChangingFiles` object sooner.
commitctx: create the `ChangingFiles` object sooner
Aug 8 2020, 12:05 AM
marmoute committed rHGdcbad0f17d76: commitctx: move ChangingFiles creation directly inside `_process_files`.
commitctx: move ChangingFiles creation directly inside `_process_files`
Aug 8 2020, 12:05 AM
marmoute committed rHGe52031f5e046: commitctx: create the ChangingFiles object directly in the various case.
commitctx: create the ChangingFiles object directly in the various case
Aug 8 2020, 12:05 AM
marmoute committed rHG6de4c5647db3: commitctx: no longer make the storage and added/removed file optional.
commitctx: no longer make the storage and added/removed file optional
Aug 8 2020, 12:05 AM
marmoute committed rHGc6eea5804551: commitctx: extract sidedata encoding inside its own function.
commitctx: extract sidedata encoding inside its own function
Aug 8 2020, 12:05 AM