Commit Graph

3172 Commits

Author SHA1 Message Date
Mateusz Kwapich
86cc4e67ff crdump: introduce extension to dump data for code review tools
Summary:
We've spent a lot of time hacking around the outputs of hg in jf (a new
tool we use at FB to interact with our code-review system). We've figured out that it
could be all avoided and made cleaner with simple hg extension that dumps all
the data we need in a format that we can easily consume.

Test Plan: see attached test

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Subscribers: quark

Differential Revision: https://phab.mercurial-scm.org/D205
2017-08-03 04:50:46 -07:00
Jun Wu
054d4b010d Backed out changeset 95334859434c
It's breaking Linux tests. I spent some time reading the shell script but
cannot figure out what's wrong quickly, so backing it out to unblock
contbuild now.
2017-08-02 11:44:18 -07:00
Jun Wu
6a528bce1e test-infinitepush-backup: do not test ls output 2017-08-02 11:29:03 -07:00
Luke Petre
cc24d00df6 infinitepush: display backup state in scm-prompt
Summary: - update the scm-prompt.sh script to display when there have been local changes that haven't backed up in four hours

Test Plan: arc unit tests/test-scm-prompt-hg.t

Reviewers: rmcelroy, stash

Reviewed By: rmcelroy

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5498437

Tasks: 18349390

Signature: t1:5498437:1501083894:8a8872df2c6492006c8a76c365d53a3b9a41933a
2017-08-02 16:42:08 +01:00
Luke Petre
0b56f3786a infinitepush: write infinitepush backup status
Summary:
  - change the infinitepush extension to record additional state when the a backup occurs.
  - useful for other tools (scm-prompt, nuclide) to indicate when a backup hasn't occurred recently

Test Plan:
  - cd facebook-hg-rpms/
  - source hg-dev
  - cd fb-hgext
  - arc unit

Reviewers: rmcelroy, stash

Reviewed By: stash

Subscribers: rmcelroy, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5321221

Tasks: 18349390

Signature: t1:5321221:1501271966:6698785e0714e3ecf7e1e2684d1e62e52ac0f1a0
2017-08-02 16:42:08 +01:00
Luke Petre
b4d16230a3 infinitepush: relax hostname regex in tests
Summary: My hostname contains an underscore and that causes these tests to fail.

Test Plan: arc unit tests/test-infinitepush-logging.t

Reviewers: stash

Reviewed By: stash

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5498213

Signature: t1:5498213:1501229709:6cd63cd0e7e644388d21f516893dcd8fb48e75de
2017-08-02 16:42:08 +01:00
Jeroen Vaelen
f0ed4c94e4 tweakdefaults: add ellipsis to trimmed showupdated commit messages
Summary:
Keep `showupdated` commit messages limited to a 50 character width,
with a "..." ellipsis to signify that the message was trimmed.

Test Plan: Added a test.

Reviewers: #fbhgext, durham

Reviewed By: #fbhgext, durham

Differential Revision: https://phab.mercurial-scm.org/D217
2017-08-02 07:56:58 -07:00
David Soria Parra
7361dd4561 p4fastimport: fix symlink handling
Summary:
Symlinks must not have newlines at their end. However reading the
content from Perforce, it might contain a newline, so we now strip it.

Test Plan:
  python ../../hg-crew/tests/run-tests.py --keep-tmpdir test-p4fastimport-import-modes.t

Reviewers: #idi, #mercurial, rmcelroy

Reviewed By: rmcelroy

Subscribers: rmcelroy, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5535514

Signature: t1:5535514:1501601075:20ce811a92d1d5b5a973e05db1d2110599c5ef52
2017-08-02 00:00:47 -07:00
David Soria Parra
90b5ead814 p4fastimport: remove documentation of non-existing option
Summary: remove the documentation of a non-existing option

Test Plan: none

Reviewers: #mercurial, #idi, rmcelroy

Reviewed By: rmcelroy

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5535512

Signature: t1:5535512:1501591226:97d663cdc550eb2bbb88aca3a88a8ff0a944dbc4
2017-08-02 00:00:47 -07:00
David Soria Parra
d6f8bf23ca p4fastimport: don't inline data as a workaround for an inline separation issue
Summary:
Writing multiple entries to a revlog at the same time can trigger a bug
in revlog caching when a revlog separation of inlined data happend. New
transaction postprocessing callbacks will cause a changelog read which
triggers this bug, therefore we force revlogs to be separated from the
beginning, as a workaround for this bug until it's fixed upstream.

Test Plan:
Run an import of 600 revisions on a test server. Saw failure.
Run import with patch appleid of 600 revisions on test server. Failured
disappeared.

Reviewers: #mercurial, rmcelroy

Reviewed By: rmcelroy

Subscribers: mitrandir, rmcelroy, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5535509

Signature: t1:5535509:1501613606:97a0a2dca19ae6e915d4777ec6b14d1e9db46242
2017-08-02 00:00:47 -07:00
David Soria Parra
af652e100e p4fastimport: append transactions instead of overwriting
Summary:
We overwrite existing transactions instead of appending them. So let's just
append them instead. This problem becomes apparent when we started separating
changelog data files from changelog index files which breaks the tests.

Test Plan: python ../../hg-crew/tests/run-tests.py test-p4fastimport-transaction.t

Reviewers: #idi, #mercurial, rmcelroy

Reviewed By: rmcelroy

Subscribers: mitrandir, rmcelroy, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5535507

Signature: t1:5535507:1501613588:efeead423ca6d6fb50a4d4f83af68e8f87688912
2017-08-02 00:00:47 -07:00
David Soria Parra
66dc73070e p4fastimport: make tests not depending on environment
Summary:
The debug output of p4fastimport depends on the users environment (e.g. cvs
tools installed or not). Glob the corresponding output

Test Plan:
Tests didn't run before on my machine,
now they run

Reviewers: #mercurial, rmcelroy

Reviewed By: rmcelroy

Subscribers: rmcelroy, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5535504

Signature: t1:5535504:1501613540:f6f42e97eb0e7515146eea888bfd758759d69f71
2017-08-02 00:00:47 -07:00
Felix Merk
9eb0bc6078 undo: prevent nested calls of log
Certain extensions (specifically infinite push) call full fledge mercurial
commands.  Since all proper mercurial commands might change the repo state,
these are tracked and changes are recorded, which at best causes confusing repo
states for the user and at worst prevents the user from undo-ing due to
precieved gaps in the log.  By using an env flag we can avoid this.

This change was tested in a repo with infinite push enabled with unit tests.

Differential Revision: https://phab.mercurial-scm.org/D198
2017-08-01 12:26:16 -07:00
Felix Merk
c63a96535a undo: cover lock error cases and add timeout
Lock error handling reduces likelyhood undo hangs or breaks other commands.
Fixes known bug of undo in read-only repo.  Undo is not neccesary for mercurial
to work and handles missing data (decently) well.  Failing silently (potentially
logging to scuba for timeouts) is acceptable, since if the issue is real we will
fail not silently when trying to undo.

Differential Revision: https://phab.mercurial-scm.org/D200
2017-08-01 12:24:44 -07:00
Mark Thomas
3bc43d7087 age: add age revsetpredicate extension
Summary:
Adds a new revsetpredicate: `age()`, which matches changesets that are
older or younger than a certain age.

Test Plan: Add new unit test for the predicate.

Reviewers: #fbhgext, stash

Differential Revision: https://phab.mercurial-scm.org/D196
2017-08-01 03:12:04 -07:00
Mark Thomas
c8581c4465 infinitepush: add summary of not-backed-up files to smartlog
Summary:
Allow summarisation of commits that have not been backed up
by infinitepush.

1. Add a template keyword (backupstatus) which evaluates to
   one of "Public", "Backed up", "Backup pending", or
   "Not backed up" depending on the backup state of the
   commit.  Commits are pending for 10 minutes, after which
   they are declared not backed up.

2. Add a summary to the end of smartlog that shows the
   number of commits that are not backed up.

   Configuration options allow the addition of an education
   message to inform users what to do about their failing
   backups, and the message can also be suppressed.

Test Plan:
   New unit test for both the keyword and the summary.

Reviewers: #fbhgext, stash

Subscribers: mitrandir, quark, akushner

Differential Revision: https://phab.mercurial-scm.org/D184
2017-08-01 03:12:04 -07:00
Durham Goode
72f38ebdf0 fastmanifest: make usecache prevent cache creation
Summary:
Previously fastmanifest.usecache=False would only prevent the reading of the
fastmanifest cache, but the cache was still created. This created excess IO on
services that frequently recreated the repository.

Test Plan: Added a test

Reviewers: #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D155
2017-07-31 13:55:07 -07:00
Saurabh Singh
f86c1f069f stat: template which outputs diffstat-style summary of changes
Summary:
There is an existing template "diffstat" which gives a minimal and not
very useful output containing the overall number of files that changed, total
number of lines inserted for all associated files, and total number of lines
deleted for all associated files.

On the other hand, the output from the command line option "stat" is much more
descriptive. Therefore, users end up using commands of the form



  hg log -r . -T '{author}{date}' --stat



When they would have preferred something like



    hg log -r . -T '{author}{date}{stat}'



This change adds the template "stat" which will allow for the desired behavior.

Test Plan:
  # Added a new test test-template-stat.t
  # Ran arc unit

Reviewers: #sourcecontrol, quark

Reviewed By: quark

Subscribers: akushner, medson, mjpieters, quark, rmerizalde

Differential Revision: https://phabricator.intern.facebook.com/D5521665

Tasks: 12422741

Signature: t1:5521665:1501287682:2afaea56b3dc863c52e6300c6bc482ae132a6a61
2017-07-31 11:09:50 -07:00
Zhihui Huang
784c334b8e p4fastimport: handle race condition in git fusion commits
Summary:
When a user commits changes to a git-fusion repo, it pushes commit to perforce as user git-fusion-user, and then update the commit's author to be the actual author. We want p4fastimporter to skip the git-fusion-user commit and import the commit by the actual author. This diff sets the basic workflow, where we specify the constraint to be commits by git-fusion-user that is less than 30 seconds old.
// TODO: make the constraint configurable.

Test Plan:
$ cd ~/facebook-hg-rpms/fb-hgext/tests/
// test race condition
$ python ../../hg-crew/tests/run-tests.py test-p4fastimport-gitfusion-race-condition.t
// test all
$ python ../../hg-crew/tests/run-tests.py test-p4*

Reviewers: #idi, davidsp

Reviewed By: davidsp

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5509536

Tasks: 20141882

Signature: t1:5509536:1501521842:17dd767615b8218980eda68d4113433d30805d92
2017-07-31 11:06:31 -07:00
Durham Goode
ab78eca81d perftweaks: add logging for rebase size
Summary:
Let's add logging for the size of rebases (the number of commits being rebased
and the distance over which they are rebased).

Test Plan: Ran a rebase and saw the data show up in ptail

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Subscribers: stash, quark, ryanmce

Differential Revision: https://phab.mercurial-scm.org/D169
2017-07-31 10:57:44 -07:00
Durham Goode
dcf434110d perftweaks: add update sizes to logging
Summary:
Let's log the number of commits we're traversing and the number of files
changed by an update.

Test Plan:
Ran it with --config
sampling.key.update_size=perfpipe_dev_command_timers and watched the entry show
up via ptail

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Subscribers: ryanmce

Differential Revision: https://phab.mercurial-scm.org/D166
2017-07-31 09:57:23 -07:00
Mateusz Kwapich
502f666449 metaedit: switch to scmutil.cleanupnodes for cleanup
Summary:
That switches us to use the higher level abstractions and allows us to
beneefit from things like showupdated (see: D173)

Test Plan: ran metaedit tests

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Subscribers: quark

Differential Revision: https://phab.mercurial-scm.org/D191
2017-07-31 08:52:22 -07:00
Stanislau Hlebik
c27f60af8e infinitepush: remove infinitepush.tempcleanworkingcopiesbackups
Summary:
This option was intended as temporary and it was enabled for long enough time.
Now let's delete it.

Test Plan: Run unit-tests

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Differential Revision: https://phab.mercurial-scm.org/D195
2017-07-31 01:00:15 -07:00
Stanislau Hlebik
b88304992e fastlog: show all hg log output even if fastlog request failed
Summary:
We had a few troubles where fastlog failed with a weird error and people got
incorrect log output. While I still don't know why fastlog failed in the first
place, I've found the reason why log output was truncated. And this diff fixes
it. See the comments in the code for details.

Test Plan: Run unit-test

Reviewers: #fbhgext, simonfar

Reviewed By: #fbhgext, simonfar

Subscribers: simonfar

Differential Revision: https://phab.mercurial-scm.org/D193
2017-07-31 00:58:55 -07:00
Kostia Balytskyi
6203a99ed4 sparse: also apply relative-path logic to --delete
Summary: Add `--delete` to the list of sparse options that understand cwd-relative paths.

Test Plan: rt

Reviewers: mjpieters, #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D197
2017-07-30 08:42:40 -07:00
Mihails Smolins
7f0fa3a5bc remotefilelog: remove redundant list variable
Summary: Removed 'missing' list variable as it is not needed

Test Plan: No. All tests pass

Reviewers: simonfar, durham, stash

Reviewed By: stash

Subscribers: stash, medson, mjpieters, #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D5461432

Signature: t1:5461432:1500559459:9bca4b429807082dd9a2a2a0283ab7b23df82b70
2017-07-28 14:02:49 -07:00
Kostia Balytskyi
99b1950cd9 sparse: make path absoluteness checks cross-platform
Summary: Let's be friendlier to our friends on Windows.

Test Plan: rt

Reviewers: mjpieters, #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D194
2017-07-28 06:23:52 -07:00
Stanislau Hlebik
4e6c705cbd fastlog: cleaning up and remove dead code
Test Plan: Run unittests

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Differential Revision: https://phab.mercurial-scm.org/D187
2017-07-28 02:33:00 -07:00
Jun Wu
fd71c30d42 inhibit: fix date handling and add more tests
Previously, inhibit may use a wrong date when writing markers. This patch
fixes that. Also add a test to check the date and make sure `revive` takes
effects inside a transaction.

Differential Revision: https://phab.mercurial-scm.org/D182
2017-07-27 12:33:43 -07:00
Jun Wu
c68b5e5cdb pushrebase: move bookmarks as well
Differential Revision: https://phab.mercurial-scm.org/D181
2017-07-27 12:33:43 -07:00
Mateusz Kwapich
89aa9cf5dd fbamend: add unhide command for easy unhiding of commits
Summary:
This command helps the user to bring back the commits to life with an explicit
command - wihtout the need to change working copy parent or create bookmarks.

Test Plan: see test

Reviewers: #fbhgext, durham, kulshrax, quark

Reviewed By: #fbhgext, quark

Subscribers: ryanmce

Differential Revision: https://phab.mercurial-scm.org/D179
2017-07-27 03:39:01 -07:00
Mateusz Kwapich
ad3ecb91d5 fbamend: add hide - a simple command for hiding commits
Summary:
We have two commands for hiding commits:
 * strip - which has a lot of legacy options and legacy name
 * prune - which allows for creating arbitrary obsolescence markers

Both of them have complicated UI and are suboptimal experiences for unadvanced
user. The `hg hide` command is very simple, does one job and does it well.

Test Plan: see test

Reviewers: #fbhgext, durham, quark, kulshrax

Reviewed By: #fbhgext, quark

Subscribers: akushner

Differential Revision: https://phab.mercurial-scm.org/D178
2017-07-27 03:39:01 -07:00
Simon Farnsworth
8db61bcb60 contrib: add git-sl emulation of hg smartlog
Summary:
git-sl is a script to emulate some of hg smartlog, but for git. It's generally
useful, and demonstrates some of our thinking around source control, so let's
release it to the world.

Test Plan:
Just for documentation

Ran tests - only test-check-commit-hg.t fails, but that does not run on public
commits, so this is safe to land (unlike the previous attempt).

Reviewers: durham, ryanmce, #fbhgext, quark

Reviewed By: #fbhgext, quark

Subscribers: quark, #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D180
2017-07-27 02:32:41 -07:00
David Soria Parra
f9f5201867 p4fastimport: ignore keyword expansion when using cvs tools
Summary:
When we are falling back to cvs tools to read content of a file, we still do
keywrod expansion through cvs `co` command. This patch disables the keyword
expansion.

Test Plan: run tests on test-p4*

Reviewers: #mercurial, quark

Reviewed By: quark

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5485123

Signature: t1:5485123:1500948788:fe4bc2fb8c50858ba7d8689bbf41d1de41b81000
2017-07-26 14:21:15 -07:00
David Soria Parra
6c6df646bf p4fastimport: use new bookmarks.applychanges API
Summary: Use new bookmarks.applychanges API to silence devel warnings.

Test Plan: python ../../tests/test-p4*

Reviewers: #idi, #mercurial, quark

Reviewed By: quark

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5485091

Tasks: 20395842

Signature: t1:5485091:1500948768:ab8c0a61e57791d4c871daa221f2ad78381fbe81
2017-07-26 14:21:15 -07:00
Simon Farnsworth
bb9d88ea1a githelp: don't crash when user does githelp -- git
Summary:
We didn't check for sanity when the user asked for hg githelp -- git -
oops. Fix the args test to catch you if you ask for help for git, as opposed to
(say) git commit.

Test Plan: Ran the new test cases.

Reviewers: #fbhgext, ikostia

Reviewed By: ikostia

Differential Revision: https://phab.mercurial-scm.org/D183
2017-07-26 08:51:21 -07:00
Mihails Smolins
d5c1c31862 tweakdefaults: show warnings when ':' is used to specify revs
Summary:
Wrapped _analyze parser to display developer warnings whenever ':' is used
implicitly or explicitly.

Test Plan: Added test cases

Reviewers: simonfar, durham, stash

Reviewed By: stash

Subscribers: medson, mjpieters, #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D5479645

Tasks: 12333181

Signature: t1:5479645:1501056920:304cbda9c0d7fe25dd600ec40c5d7540146c7889
2017-07-26 01:58:18 -07:00
Kostia Balytskyi
475c6c93fd sparse: add a config option to decide if paths are reporoot-relative
Summary:
Adding a knob to control how we perceive supplied paths is a good intermediated
step towards getting every user to use cwd-relative paths.

Test Plan: - rt

Reviewers: mjpieters, #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D175
2017-07-25 10:43:55 -07:00
Mihails Smolins
f506a362bd remotefilelog: change prefetch default behaviour
Summary:
Now hg prefetch with no revs specified by default fetches '. + draft() +
pullprefetch + bgprefetchrevs' revisions. Prefetch will block until other
background prefetches terminate.

Test Plan: Added test cases

Reviewers: durham, stash, simonfar

Reviewed By: simonfar

Subscribers: medson, mjpieters, #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D5488573

Tasks: 19727474

Signature: t1:5488573:1500987699:f0a12c9fdf21c52a7313182596bb89a9f710cebf
2017-07-25 06:35:16 -07:00
Jeroen Vaelen
5a8a556073 tweakdefaults: output new hashes when nodes get updated
Summary:
Users and particularly automation can benefit from having the new
revision hashes as part of the output of rebase and other operations that
update nodes. Right now, hacks such as getting the tip revision are used to get
that information.

Test Plan: unit tests

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Subscribers: ryanmce, durham, stash, quark

Differential Revision: https://phab.mercurial-scm.org/D173
2017-07-25 04:50:28 -07:00
Jeroen Vaelen
f786cd6bdb pushrebase: fix typo
Test Plan: unit tests

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Differential Revision: https://phab.mercurial-scm.org/D177
2017-07-24 11:42:24 -07:00
Lukas Piatkowski
8d71aaf0cf histedit: add --retry and --show-plan options
Summary:
--retry can be used instead of --continue when histedit failed on "exec" (due to it returning a non-zero exit code) and the user wants to repeate that command rather than continuing past it
--show-plan will print the remaining plan of histedit during an interrupted histedit

Test Plan: cd fb-hgext/tests/ && rt

Reviewers: #fbhgext, stash

Reviewed By: #fbhgext, stash

Subscribers: stash, quark

Differential Revision: https://phab.mercurial-scm.org/D176
2017-07-24 09:32:47 -07:00
Ryan McElroy
eebb039cd7 tweakdefaults: remove --nocheck flag
Summary:
Core mercurial has a much better "nocheck" option now that we should just start
using. It's better and it's built-in!

Test Plan: Updated tests

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Subscribers: quark

Differential Revision: https://phab.mercurial-scm.org/D164
2017-07-24 05:37:45 -07:00
Kostia Balytskyi
6b62dd3f52 sparse: properly error out when absolute paths are used
Summary: Current behavior does not even do what it says, let alone the right thing.

Test Plan: - rt

Reviewers: #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D174
2017-07-24 02:12:37 -07:00
Jun Wu
2bb9371eef hiddenoverride: optionally log details
This allows us to log what nodes are pinned by what commands. So we can
manually investigate what was happening when we get user complaints.

Differential Revision: https://phab.mercurial-scm.org/D158
2017-07-21 10:50:30 -07:00
Stanislau Hlebik
3ea83ba4bc infinitepush: handle remotenames hoisting correctly
Summary:
There was a report from an infinitepush user who complained about
`hg update remote/scratch/book` failing to pull the bookmark, while
`hg update scratch/book` pulling fine. It confuses users because they see
`remote/scratch/book` in smartlog.

On the other hand let's not allow `hg pull -B remote/scratch/book` to stay
consistent with remotenames.

Test Plan: Slowly run tests

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Subscribers: ryanmce

Differential Revision: https://phab.mercurial-scm.org/D172
2017-07-21 08:19:59 -07:00
Mark Thomas
886a31ce5a remotefilelog: handle truncated server cache files
Summary:
If remotefilelog server cache files are truncated, when the server
returns these files to the client, the client will crash trying to
decompress them.  Detect truncated files and treat them as cache
misses.

Test Plan: Add unit test for truncated server cache files.

Reviewers: #fbhgext, simonfar

Reviewed By: #fbhgext, simonfar

Differential Revision: https://phab.mercurial-scm.org/D170
2017-07-21 16:07:09 +01:00
Jun Wu
35b19c0b64 uncommit: allow power users to leave an empty commit around
Some power user workflow requires `uncommit` to leave an empty commit so
they can run `hg amend` afterwards. I don't find easy alternatives so let's
allow that if `ui.allowemptyconfig` is set.

Note: `ui.allowemptyconfig` is an internal config that is not documented for
end-users. Core Mercurial seems to be trying to prevent the empty commit
case from normal users (like, comment disallows that, rebase will skip a
commit if after rebasing it becomes empty). So it seems better to still use
that undocumented config instead of a more discoverable flag.

Differential Revision: https://phab.mercurial-scm.org/D156
2017-07-21 08:06:47 -07:00
Stanislau Hlebik
932d143025 smartlog: do not draw public commits between draft commits and master
Summary:
We've seen a couple of issues when there are lots of public commits between a
head and master bookmark. Smartlog tries to draw all of the public commits
and drawing it can be too slow. See example below

```
   o - some commit that smartlog wants to draw
  /
o
.
.    -- many commits
.
o  - master bookmarks
```

This issue happens often while using infinitepush extension.
Let's fix it by drawing just one public commit between a head and master.
We could of course avoid drawing this public commit at all, but in that case
output would be smth like

```
   o - some commit that smartlog wants to draw
  /
o
|     - many commits in betwee, but user doesn't see it because there are no dots
o  - master bookmarks
```

Test Plan: Slowly run tests

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Subscribers: ryanmce

Differential Revision: https://phab.mercurial-scm.org/D168
2017-07-21 07:10:08 -07:00
Stanislau Hlebik
76ac8d65ff smartlog: nit fixes
Test Plan: Slowly run tests

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Differential Revision: https://phab.mercurial-scm.org/D167
2017-07-21 07:09:19 -07:00