Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Author: Pali Rohár
- # License: GPLv3+
- # Description: Shell script for importing Debian source packages to git (using git import-dsc)
- set -e
- test ! -d .git && git init
- last=nothing
- while test "$#" != "0"; do
- git branch -D upstream || true
- git branch upstream || true
- git import-dsc "$1"
- DATE="$(dpkg-parsechangelog | sed -n 's/Date: //p')"
- AUTHOR="$(dpkg-parsechangelog | sed -n 's/Maintainer: //p')"
- again=0
- if git show-branch upstream; then
- c1="$(git show-branch --sha1-name master | sed -n 's/^\[\(.*\)\] .*/\1/p')"
- c2="$(git show-branch --sha1-name upstream | sed -n 's/^\[\(.*\)\] .*/\1/p')"
- if test "$c1" != "$c2" -a "$last" != "$c2"; then
- again=1
- git tag -d $(git tag --contains master)
- git reset --hard upstream
- fi
- git branch -d upstream
- fi
- if git show-branch HEAD^ && ! test -d debian; then
- git checkout HEAD^ -- debian || true
- git add debian || true
- TAGS="$(git tag --contains master)"
- git tag -d $TAGS
- EDITOR=true git commit --amend
- for tag in $TAGS; do git tag $tag; done
- fi
- if ! test -z "$DATE" -o -z "$AUTHOR"; then
- TAGS="$(git tag --contains master)"
- git tag -d $TAGS
- EDITOR=true git commit --amend --date="$DATE" --author="$AUTHOR"
- for tag in $TAGS; do git tag $tag; done
- fi
- if test "$again" = "1"; then
- git branch upstream
- git import-dsc "$1"
- git branch -d upstream
- fi
- last="$(git show-branch --sha1-name master | sed -n 's/^\[\(.*\)\] .*/\1/p')"
- shift
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement