##// END OF EJS Templates
setup: build extensions in parallel by default...
setup: build extensions in parallel by default The build_ext distutils command in Python 3.5+ has a "parallel" option that controls whether to build extensions in parallel. It is disabled by default (None) and can be set to an integer value for number of cores or True to indicate use all available CPU cores. This commit changes our build_ext command override to set "parallel" to True unless a value has been provided by the caller. On my machine, this makes `python setup.py build_ext` 1-4s faster. It is worth noting that at this time, each individual source file constituting the extension is still built serially. For Mercurial, this means that we can't build faster than the slowest-to-build extension, which is the zstd extension by a long shot. This means that setup.py is still not very efficient at utilizing multiple cores. But we're better than before. Differential Revision: https://phab.mercurial-scm.org/D6923 # no-check-commit because of foo_bar naming

File last commit:

r32571:92bcaef3 default
r43314:f9d35f01 default
Show More
editmergeps.ps1
78 lines | 1.6 KiB | text/x-powershell | PowerShellLexer
Kostia Balytskyi
contrib: add editmerge version for powershell...
r32329 # A simple script for opening merge conflicts in editor
# A loose translation of contrib/editmerge to powershell
# Please make sure that both editmergeps.bat and editmerge.ps1 are available
# via %PATH% and use the following Mercurial settings to enable it
#
# [ui]
# editmergeps
# editmergeps.args=$output
# editmergeps.check=changed
# editmergeps.premerge=keep
$file=$args[0]
function Get-Lines
{
Select-String "^<<<<<<" $file | % {"$($_.LineNumber)"}
}
$ed = $Env:HGEDITOR;
if ($ed -eq $nil)
{
$ed = $Env:VISUAL;
}
if ($ed -eq $nil)
{
$ed = $Env:EDITOR;
}
if ($ed -eq $nil)
{
$ed = $(hg showconfig ui.editor);
}
if ($ed -eq $nil)
{
Write-Error "merge failed - unable to find editor"
exit 1
}
Kostia Balytskyi
contrib: make editmergeps able to work with notepad++...
r32345 if (($ed -eq "vim") -or ($ed -eq "emacs") -or `
($ed -eq "nano") -or ($ed -eq "notepad++"))
Kostia Balytskyi
contrib: add editmerge version for powershell...
r32329 {
$lines = Get-Lines
$firstline = if ($lines.Length -gt 0) { $lines[0] } else { $nil }
$previousline = $nil;
# open the editor to the first conflict until there are no more
# or the user stops editing the file
while (($firstline -ne $nil) -and ($firstline -ne $previousline))
{
Kostia Balytskyi
contrib: make editmergeps able to work with notepad++...
r32345 if ($ed -eq "notepad++")
{
$linearg = "-n$firstline"
}
else
{
$linearg = "+$firstline"
}
Kostia Balytskyi
contrib: make editmergeps use -NoNewWindow option in Start-Process cmdlet...
r32569 Start-Process -Wait -NoNewWindow $ed $linearg,$file
Kostia Balytskyi
contrib: add editmerge version for powershell...
r32329 $previousline = $firstline
$lines = Get-Lines
$firstline = if ($lines.Length -gt 0) { $lines[0] } else { $nil }
}
}
else
{
Kostia Balytskyi
contrib: fix a bug preventing editmergeps.ps1 from running unknonw editors...
r32570 & "$ed" $file
Kostia Balytskyi
contrib: add editmerge version for powershell...
r32329 }
$conflicts=Get-Lines
if ($conflicts.Length -ne 0)
{
Write-Output "merge failed - resolve the conflicts (line $conflicts) then use 'hg resolve --mark'"
exit 1
}
exit 0