From 1850ff44ff1f6db2640675fc361baa0b11dcf8a2 Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Sat, 30 May 2020 13:14:34 +0000 Subject: [PATCH] zshrc: Add git2fl command to import Git -> Fossil --- zshrc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/zshrc b/zshrc index 81af5d5..825aa3d 100644 --- a/zshrc +++ b/zshrc @@ -216,6 +216,37 @@ if which fossil &>/dev/null; then sed "s/^-.*$/$red&$reset/" | less -FRX fi } + + git2fl() { + local gitdir=$(git rev-parse --show-toplevel)/.git + local repo=$(fossil info | awk '/^repository:/ { print $2 }') + + [ -z "$repo" ] && repo="$1" + + [ -n "$repo" -a -f "$repo" ] && + local incremental="--incremental" + + [ -d "$gitdir/git.marks" ] && + local importmarks_git="--import-marks=$gitdir/git.marks" + + if [ -d "$gitdir/fossil.marks" ]; then + local importmarks_fossil + importmarks_fossil="--import-marks $gitdir/fossil.marks" + fi + + LC_ALL=C git fast-export \ + --signed-tags=warn-strip \ + --export-marks=$gitdir/git.marks \ + $=importmarks_git \ + --all | + LC_ALL=C fossil import \ + --git \ + $=incremental \ + --rename-master trunk \ + --export-marks $gitdir/fossil.marks \ + $=importmarks_fossil \ + $repo + } fi # pkgsrc does not like MAKEFLAGS including -j