]>
Commit | Line | Data |
---|---|---|
a3e870f2 | 1 | #!/bin/sh |
ba966b95 JH |
2 | # |
3 | # Copyright (c) 2005 Linus Torvalds | |
4 | # | |
3998f8eb JH |
5 | . git-sh-setup-script || die "Not a git archive" |
6 | ||
a3e870f2 LT |
7 | report () { |
8 | header="# | |
9 | # $1: | |
10 | # ($2) | |
11 | # | |
12 | " | |
13 | trailer="" | |
14 | while read oldmode mode oldsha sha status name newname | |
15 | do | |
16 | echo -n "$header" | |
17 | header="" | |
18 | trailer="# | |
19 | " | |
20 | case "$status" in | |
2036d841 JH |
21 | M ) echo "# modified: $name";; |
22 | D*) echo "# deleted: $name";; | |
23 | T ) echo "# typechange: $name";; | |
24 | C*) echo "# copied: $name -> $newname";; | |
25 | R*) echo "# renamed: $name -> $newname";; | |
b55db7ba | 26 | A*) echo "# new file: $name";; |
2036d841 | 27 | U ) echo "# unmerged: $name";; |
a3e870f2 LT |
28 | esac |
29 | done | |
30 | echo -n "$trailer" | |
31 | [ "$header" ] | |
32 | } | |
33 | ||
9804b7dc JH |
34 | branch=`readlink "$GIT_DIR/HEAD"` |
35 | case "$branch" in | |
36 | refs/heads/master) ;; | |
37 | *) echo "# On branch $branch" ;; | |
38 | esac | |
ba966b95 | 39 | |
3998f8eb | 40 | git-update-cache --refresh >/dev/null 2>&1 |
ba966b95 | 41 | |
7e011c40 JH |
42 | if test -f "$GIT_DIR/HEAD" |
43 | then | |
44 | git-diff-cache -M --cached HEAD | | |
45 | sed 's/^://' | | |
46 | report "Updated but not checked in" "will commit" | |
ba966b95 | 47 | |
7e011c40 JH |
48 | committable="$?" |
49 | else | |
50 | echo '# | |
51 | # Initial commit | |
52 | #' | |
53 | git-ls-files | | |
54 | sed 's/^/o o o o A /' | | |
55 | report "Updated but not checked in" "will commit" | |
56 | ||
57 | committable="$?" | |
58 | fi | |
ba966b95 JH |
59 | |
60 | git-diff-files | | |
61 | sed 's/^://' | | |
62 | report "Changed but not updated" "use git-update-cache to mark for commit" | |
63 | ||
64 | if grep -v '^#' "$GIT_DIR/info/exclude" >/dev/null 2>&1 | |
65 | then | |
66 | git-ls-files --others \ | |
67 | --exclude-from="$GIT_DIR/info/exclude" \ | |
68 | --exclude-per-directory=.gitignore | | |
69 | sed -e ' | |
70 | 1i\ | |
71 | #\ | |
72 | # Ignored files:\ | |
73 | # (use "git add" to add to commit)\ | |
74 | # | |
75 | s/^/# / | |
76 | $a\ | |
77 | #' | |
78 | fi | |
79 | ||
a3e870f2 LT |
80 | if [ "$committable" == "0" ] |
81 | then | |
82 | echo "nothing to commit" | |
83 | exit 1 | |
84 | fi | |
85 | exit 0 |