##// END OF EJS Templates
copies: properly match result during changeset centric copy tracing...
copies: properly match result during changeset centric copy tracing By filtering "during" the iteration we were excluding rename information that were not in the matched set but that file served as base information for the matched set. We now do all copy tracing matching at the end of the process to ensure we raise proper result. If we were aggregating information top down instead of bottom up we could do filtering during processing. However, we don't. Differential Revision: https://phab.mercurial-scm.org/D9585

File last commit:

r32571:92bcaef3 default
r46774:92905484 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