summaryrefslogtreecommitdiff
path: root/jhbuild_repository_configure
blob: e602a8173d4a45b6700ee45d25e3b34afa44af8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash

function repository_configure ()
{
  i=$1
  checkoutdir=`jhbuild -f jhbuildrc run --in-checkoutdir=$i -- pwd`

  # unfortunately, jhbuild run also echos the command it ran, so we need to remove that
  checkoutdir=`echo $checkoutdir | tr '\n' ' ' `
  checkoutdir=${checkoutdir%% *}

  # metamodules don't have a checkoutdir, so check for .git/config
  if [ -e "$checkoutdir/.git/config" ]; then

      cd $checkoutdir

      case $i in
          xserver)
              EMAIL="xorg-devel@lists.x.org"
              SUBJECT="PATCH"
              ;;
          libxcb)
              EMAIL="xcb@lists.freedesktop.org"
              SUBJECT="PATCH"
              ;;
          xcb-*)
              EMAIL="xcb@lists.freedesktop.org"
              SUBJECT="PATCH $i"
              ;;
          mesa-mesa)
              EMAIL="mesa-dev@lists.freedesktop.org"
              SUBJECT="PATCH"
              ;;
          mesa-*)
              EMAIL="mesa-dev@lists.freedesktop.org"
              SUBJECT="PATCH $i"
              ;;
          fontconfig)
              EMAIL="fontconfig@lists.freedesktop.org"
              SUBJECT="PATCH"
              ;;
          xkeyboard-config)
              EMAIL="" # requests patch submission via bugzilla
              SUBJECT="PATCH"
              ;;
          libpixman)
              EMAIL="pixman@lists.freedesktop.org"
              SUBJECT="PATCH"
              ;;
          *)
              EMAIL="xorg-devel@lists.x.org"
              SUBJECT="PATCH `git config remote.origin.url | sed s#git://anongit.freedesktop.org/git/xorg/##`"
              ;;
      esac

      echo "$i: email to $EMAIL with subject $SUBJECT"

      if [ -n "$EMAIL" ]; then
          git config --replace-all sendemail.to $EMAIL
      fi

      git config --replace-all format.subjectprefix "$SUBJECT"

      if [ $i != "xserver" ]; then
          git remote set-url --push origin `git config remote.origin.url | sed s#git://anongit#ssh://git#`
      endif

      cd - >/dev/null

  fi
}

if [ "$#" -gt 0 ] ; then
  ARGS="$*"
else
  ARGS=`jhbuild -f jhbuildrc list`
fi

IFS=$'\n'
for i in $ARGS ; do
  repository_configure $i
done