Closed Bug 1393242 Opened 2 years ago Closed 2 years ago

Misc mozversioncontrol improvements

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: gps, Assigned: gps)

Details

Attachments

(7 files)

Patches forthcoming.
Comment on attachment 8900524 [details]
Bug 1393242 - Helper function to obtain a repository from a build config;

https://reviewboard.mozilla.org/r/171906/#review177584
Attachment #8900524 - Flags: review?(mshal) → review+
Comment on attachment 8900525 [details]
Bug 1393242 - Return a Repository using configure preferences;

https://reviewboard.mozilla.org/r/171908/#review177586
Attachment #8900525 - Flags: review?(mshal) → review+
Comment on attachment 8900526 [details]
Bug 1393242 - Vendor python-hglib 2.4;

https://reviewboard.mozilla.org/r/171910/#review177588
Attachment #8900526 - Flags: review?(mshal) → review+
Comment on attachment 8900527 [details]
Bug 1393242 - Hook up hglib to HgRepository;

https://reviewboard.mozilla.org/r/171912/#review177592

::: python/mozversioncontrol/mozversioncontrol/__init__.py:129
(Diff revision 1)
> +        import hglib.client
> +
>          super(HgRepository, self).__init__(path, tool=hg)
>          self._env[b'HGPLAIN'] = b'1'
>  
> +        # Setting this is a global change. But since the tool was validated

What do you mean it's a "global change"? Would another process outside of m-c that uses hglib talk to the same server and be impacted by this setting?
Attachment #8900527 - Flags: review?(mshal) → review+
Comment on attachment 8900528 [details]
Bug 1393242 - Use hglib for get_files_in_working_directory();

https://reviewboard.mozilla.org/r/171914/#review177598
Attachment #8900528 - Flags: review?(mshal) → review+
Comment on attachment 8900527 [details]
Bug 1393242 - Hook up hglib to HgRepository;

https://reviewboard.mozilla.org/r/171912/#review177592

> What do you mean it's a "global change"? Would another process outside of m-c that uses hglib talk to the same server and be impacted by this setting?

Modified a global variable for the Python process. I'll update the comment.
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0279960d71ab
Helper function to obtain a repository from a build config; r=mshal
https://hg.mozilla.org/integration/autoland/rev/217260fb6976
Return a Repository using configure preferences; r=mshal
https://hg.mozilla.org/integration/autoland/rev/159028ef12d2
Vendor python-hglib 2.4; r=mshal
https://hg.mozilla.org/integration/autoland/rev/ffe8bef74be0
Hook up hglib to HgRepository; r=mshal
https://hg.mozilla.org/integration/autoland/rev/18d89d8ab860
Use hglib for get_files_in_working_directory(); r=mshal
Backout by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/299de9e2cdab
Backed out changesets 18d89d8ab860, ffe8bef74be0, 159028ef12d2, 217260fb6976, 0279960d71ab
Comment on attachment 8902788 [details]
Bug 1393242 - Make hglib tests more resilient;

https://reviewboard.mozilla.org/r/174452/#review179982

Looks reasonable to me, but try still seems unhappy on Windows. (And Linux has some check_spidermonkey_style errors, which I can't tell if they're related)
Attachment #8902788 - Flags: review?(mshal)
Comment on attachment 8900528 [details]
Bug 1393242 - Use hglib for get_files_in_working_directory();

https://reviewboard.mozilla.org/r/171914/#review180098

This series is still failing in CI. I'm unsure why. Having trouble reproducing locally :/
Comment on attachment 8902788 [details]
Bug 1393242 - Make hglib tests more resilient;

https://reviewboard.mozilla.org/r/174452/#review180102
Attachment #8902788 - Flags: review?(mshal) → review+
Comment on attachment 8900527 [details]
Bug 1393242 - Hook up hglib to HgRepository;

https://reviewboard.mozilla.org/r/171912/#review180104

::: python/mozversioncontrol/mozversioncontrol/__init__.py:150
(Diff revisions 4 - 5)
> +            # The cwd if the spawned process should be the repo root to ensure
> +            # relative paths are normalized to it.
> +            old_cwd = os.getcwd()
> +            try:
> +                os.chdir(self.path)
> -            self._client.open()
> +                self._client.open()
> +            finally:
> +                os.chdir(old_cwd)

I think this will fix the SpiderMonkey test failures.

We may still have a failure due to a bug in old Python not liking unicode types in an environment variable dictionary.
Comment on attachment 8903241 [details]
Bug 1393242 - Normalize paths in MercurialRevisionFinder;

https://reviewboard.mozilla.org/r/175034/#review180106

LGTM, as long as CI is happy :)
Attachment #8903241 - Flags: review?(mshal) → review+
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/608f8c2125a7
Helper function to obtain a repository from a build config; r=mshal
https://hg.mozilla.org/integration/autoland/rev/318dfe168265
Return a Repository using configure preferences; r=mshal
https://hg.mozilla.org/integration/autoland/rev/fdd63a193b9d
Make hglib tests more resilient; r=mshal
https://hg.mozilla.org/integration/autoland/rev/175c99472cfd
Normalize paths in MercurialRevisionFinder; r=mshal
https://hg.mozilla.org/integration/autoland/rev/4a06dcbf5793
Vendor python-hglib 2.4; r=mshal
https://hg.mozilla.org/integration/autoland/rev/b07f70e6b32b
Hook up hglib to HgRepository; r=mshal
https://hg.mozilla.org/integration/autoland/rev/a2d3d62c0df7
Use hglib for get_files_in_working_directory(); r=mshal
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.