For future reference: This is the kind of thing pa...
# general
For future reference: This is the kind of thing pants-devel@ is for. We can't assume that a discussion on slack counts as "informing the community".
☝️ 1
👍 1
Thanks for that. Sorry about the misstep: I’m still learning about these things. Will be sure to use pants-devel for any future comm of this kind
👍 1
I see your post with "I have two questions I would like everyone who cares to answer:". So you were asking the right questions. But in this case probably not in a sufficiently attentive forum...
Anyway, not a huge thing. The benefit still outweighs the cost (I mean, I personally prefer 2 spaces to 4 because 4 is a waste of vertical space, but it's not very important either way). But in future please pay even more attention to the consensus building.
Just to be clear: I like/love this change. Any time we can delegate mechanical decisions to a machine, we should...
Absolutely! Again, sorry for not using the right channels. I was trying to commnunicate pro-actively, but obviously still have a bunch to learn about pants development. Thanks for the useful feedback! We live to learn 😄
Indeed we do. And thanks for this change. Once the one-time merge conflicts are over we are going to be very happy about this.
😄 2
❤️ 2
Thanks for the pants-devel post about how to update
I am running into issues though
In the "# Rebase your formatted code on top of the black commit."
Looks like a problem with docstring indentation
I saw some mention of docstring issues
it looks like it will only reindent the first line of a docstring?
cc @fancy-motherboard-24956 ^
I recall a discussion of docstring issues but now I can't find it.
Copy code
Executing: ./pants --changed-parent="HEAD^" fmt-v2 && git add `git show --name-only --pretty="" HEAD` && git commit --amend --no-edit
timestamp: 2019-10-07T09:31:48.231870
Exception caught: (builtins.IndentationError)
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 92, in <module>
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 88, in main
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 84, in run
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 72, in load_and_execute
    module = importlib.import_module(module_path)
  File "/Users/benjyw/src/pants/build-support/virtualenvs/Darwin/pants_dev_deps.py37.venv/lib/python3.7/importlib/", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 8, in <module>
    from pants.bin.pants_runner import PantsRunner
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 10, in <module>
    from pants.bin.remote_pants_runner import RemotePantsRunner
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 13, in <module>
    from pants.pantsd.pants_daemon import PantsDaemon
  File "/Users/benjyw/src/pants/src/python/pants/pantsd/", line 16, in <module>
    from pants.bin.daemon_pants_runner import DaemonPantsRunner
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 13, in <module>
    from pants.bin.local_pants_runner import LocalPantsRunner
  File "/Users/benjyw/src/pants/src/python/pants/bin/", line 8, in <module>
    from pants.base.cmd_line_spec_parser import CmdLineSpecParser
  File "/Users/benjyw/src/pants/src/python/pants/base/", line 6, in <module>
    from pants.base.specs import DescendantAddresses, SiblingAddresses, SingleAddress

Exception message: unexpected indent (, line 230)
It's failing to run pants commands during the interactive rebase
The line in question is:
Copy code
class SpecsMatcher(datatype([('tags', tuple), ('exclude_patterns', tuple)])):
  """Contains filters for the output of a Specs match.

  This class is separated out from `Specs` to allow for both stuctural equality of the `tags` and
  `exclude_patterns`, and for caching of their compiled forms using `@memoized_property` (which uses
  the hash of the class instance in its key, and results in a very large key when used with `Specs`

    def __new__(cls, tags=None, exclude_patterns=tuple()):
        return super().__new__(
            cls, tags=tuple(tags or []), exclude_patterns=tuple(exclude_patterns)
(the "def __new__" line)
But I see badly formatted docstrings everywhere
Yeah, basically nothing works 😞
If I manually fix that one place, something else breaks similarly
And I’m looking into your branch. I’ll see if I can come up with a solution 🙏
So I rebased your branch more manually (running black by hand on the right files). Something is wrong in the steps I shared. I’ll try to see what it is and give an update with steps that work (using your PR as a guinea pig: apparently, the toy branch I used before wasn’t big enough to catch some things)