Mercurial > hg
comparison contrib/vim/hgcommand.vim @ 2634:105708ba518f
Test if file is below an HG root before doing anything
author | "Mathieu Clabaut <mathieu.clabaut@gmail.com>" |
---|---|
date | Tue, 18 Jul 2006 18:35:47 +0200 |
parents | 070736e20dfd |
children | 37bcccf8a683 |
comparison
equal
deleted
inserted
replaced
2633:f7be7babc75a | 2634:105708ba518f |
---|---|
169 let resultBufferName=bufName . ' (' . counter . ')' | 169 let resultBufferName=bufName . ' (' . counter . ')' |
170 endwhile | 170 endwhile |
171 endif | 171 endif |
172 | 172 |
173 let hgCommand = s:HGGetOption("HGCommandHGExec", "hg") . " " . a:cmd | 173 let hgCommand = s:HGGetOption("HGCommandHGExec", "hg") . " " . a:cmd |
174 echomsg "DBG :".hgCommand | 174 "echomsg "DBG :".hgCommand |
175 let hgOut = system(hgCommand) | 175 let hgOut = system(hgCommand) |
176 " HACK: diff command does not return proper error codes | 176 " HACK: diff command does not return proper error codes |
177 if v:shell_error && a:cmdName != 'hgdiff' | 177 if v:shell_error && a:cmdName != 'hgdiff' |
178 if strlen(hgOut) == 0 | 178 if strlen(hgOut) == 0 |
179 echoerr "HG command failed" | 179 echoerr "HG command failed" |
317 let hgBufferCheck=s:HGCurrentBufferCheck() | 317 let hgBufferCheck=s:HGCurrentBufferCheck() |
318 if hgBufferCheck == -1 | 318 if hgBufferCheck == -1 |
319 return "" | 319 return "" |
320 endif | 320 endif |
321 let fileName=bufname(hgBufferCheck) | 321 let fileName=bufname(hgBufferCheck) |
322 let realFileName = fnamemodify(s:HGResolveLink(fileName), ':t') | 322 let fileNameWithoutLink=s:HGResolveLink(fileName) |
323 let realFileName = fnamemodify(fileNameWithoutLink, ':t') | |
323 let oldCwd=s:HGChangeToCurrentFileDir(fileName) | 324 let oldCwd=s:HGChangeToCurrentFileDir(fileName) |
324 try | 325 try |
325 ""TODO | 326 let hgCommand = s:HGGetOption("HGCommandHGExec", "hg") . " root " |
326 "if !filereadable('HG/Root') | 327 let roottext=system(hgCommand) |
327 "return "" | 328 " Suppress ending null char ! Does it work in window ? |
328 "endif | 329 let roottext=substitute(roottext, '.$', '', "") |
330 if match(getcwd()."/".fileNameWithoutLink, roottext) == -1 | |
331 return "" | |
332 endif | |
329 let hgCommand = s:HGGetOption("HGCommandHGExec", "hg") . " status -mardui " . fileName | 333 let hgCommand = s:HGGetOption("HGCommandHGExec", "hg") . " status -mardui " . fileName |
330 let statustext=system(hgCommand) | 334 let statustext=system(hgCommand) |
331 if(v:shell_error) | 335 if(v:shell_error) |
332 return "" | 336 return "" |
333 endif | 337 endif |
684 echo "No annotatation available for new file." | 688 echo "No annotatation available for new file." |
685 return -1 | 689 return -1 |
686 endif | 690 endif |
687 | 691 |
688 let resultBuffer=s:HGDoCommand('annotate -ndu -r ' . revision, 'hgannotate', revision) | 692 let resultBuffer=s:HGDoCommand('annotate -ndu -r ' . revision, 'hgannotate', revision) |
689 echomsg "DBG: ".resultBuffer | 693 "echomsg "DBG: ".resultBuffer |
690 if resultBuffer != -1 | 694 if resultBuffer != -1 |
691 set filetype=HGAnnotate | 695 set filetype=HGAnnotate |
692 endif | 696 endif |
693 | 697 |
694 return resultBuffer | 698 return resultBuffer |