view contrib/git-viz/hg-viz @ 4492:b79cdb7f0597

patch.diff: avoid calling workingctx().manifest() Right now, to generate the manifest of the working dir, we have to perform a full walk of the working dir, which will be very slow, especially if we're interested in only a small part of it. Since we use the manifest only to find out the mode of files for git patches, manually build an execf function to do it. This should fix issue567.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 03 Jun 2007 14:38:52 -0300
parents d8abb687d501
children
line wrap: on
line source

#!/bin/sh

set -e

if test x"$1" != x ; then
  cd $1
fi

if [ ! -d ".hg" ]; then
    echo "${1:-.} is not a mercurial repository" 1>&2
    echo "Aborting" 1>&2
    exit 1
fi
if [ ! -d ".git" ]; then
    mkdir -v ".git"
fi
if [ -e ".git/HEAD" ]; then
    if [ ! -e ".git/HEAD.hg-viz-save" ]; then
        mv -v ".git/HEAD" ".git/HEAD.hg-viz-save"
    else
        rm -vf ".git/HEAD"
    fi
fi
hg history | head -1 | awk -F: '{print $3}' > .git/HEAD
git-viz