Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

msysgit 2.1.0 #231

Merged
merged 1,042 commits into from
Aug 16, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1042 commits
Select commit Hold shift + click to select a range
9092a96
Merge branch 'maint-1.9' into maint
gitster Jul 16, 2014
64630d8
Merge branch 'bc/fix-rebase-merge-skip' into maint
gitster Jul 16, 2014
5c18fde
Merge branch 'jk/commit-buffer-length' into maint
gitster Jul 16, 2014
5a3db94
Merge branch 'rs/fix-alt-odb-path-comparison' into maint
gitster Jul 16, 2014
588de86
Merge branch 'jk/pretty-G-format-fixes' into maint
gitster Jul 16, 2014
2e93184
Merge branch 'jc/fix-clone-single-starting-at-a-tag' into maint
gitster Jul 16, 2014
ebc5da3
Git 2.0.2
gitster Jul 16, 2014
788cef8
Merge branch 'nd/split-index'
gitster Jul 16, 2014
b5f7b21
Merge branch 'tb/crlf-tests'
gitster Jul 16, 2014
dcc1b38
Merge branch 'cc/replace-edit'
gitster Jul 16, 2014
5418212
Merge branch 'jk/replace-edit-raw'
gitster Jul 16, 2014
d518cc0
Merge branch 'ep/submodule-code-cleanup'
gitster Jul 16, 2014
6e40947
Merge branch 'jk/strip-suffix'
gitster Jul 16, 2014
2e42338
Merge branch 'mk/merge-incomplete-files'
gitster Jul 16, 2014
6a5713b
Merge branch 'cb/filter-branch-prune-empty-degenerate-merges'
gitster Jul 16, 2014
c9831bb
Merge branch 'kb/path-max-must-go'
gitster Jul 16, 2014
efbef3f
Merge branch 'mg/fix-log-mergetag-color'
gitster Jul 16, 2014
5e40e41
Merge branch 'zk/log-graph-showsig'
gitster Jul 16, 2014
ce33d61
Merge branch 'jl/test-lint-scripts'
gitster Jul 16, 2014
7591e2c
Merge branch 'po/error-message-style'
gitster Jul 16, 2014
f357797
Merge branch 'jk/skip-prefix'
gitster Jul 16, 2014
1fc8345
Merge branch 'rs/code-cleaning'
gitster Jul 16, 2014
d9037ea
Merge branch 'ah/fix-http-push'
gitster Jul 16, 2014
fb46e0c
Eighth batch for 2.1
gitster Jul 16, 2014
f2c9f21
Sync with 2.0.2
gitster Jul 16, 2014
2569d23
config: use chmod() instead of fchmod()
kblees Jul 15, 2014
e7e0f26
refs.c: add a public is_branch function
rsahlberg Jul 15, 2014
1e0dacd
rebase: omit patch-identical commits with --fork-point
johnkeeping Jul 16, 2014
b150794
tag: support configuring --sort via .gitconfig
jacob-keller Jul 16, 2014
398dd4b
.mailmap: map different names with the same email address together
stefanbeller Jul 10, 2014
9ae1afa
Revert "Windows: teach getenv to do a case-sensitive search"
kblees Jul 17, 2014
f38aa83
use local cloning if insteadOf makes a local URL
michaelwrs Jul 17, 2014
cedc61a
strbuf: use strbuf_addstr() for adding C strings
rscharfe Jul 16, 2014
4bbaa1e
use commit_list_count() to count the members of commit_lists
rscharfe Jul 16, 2014
a7220fb
MinGW: Skip test redirecting to fd 4
dscho Jul 17, 2014
d1d0945
run-command: use internal argv_array of struct child_process in run_h…
rscharfe Jul 16, 2014
e929f51
transport: simplify fetch_objs_via_rsync() using argv_array
rscharfe Jul 18, 2014
14576df
fast-import: use hashcmp() for SHA1 hash comparison
rscharfe Jul 18, 2014
92859f3
bundle: use internal argv_array of struct child_process in create_bun…
rscharfe Jul 17, 2014
1cefa14
remote-testsvn: use internal argv_array of struct child_process in cm…
rscharfe Jul 18, 2014
7eb2619
Win32: Unicode environment (outgoing)
kblees Jul 17, 2014
b729f98
Win32: Unicode environment (incoming)
kblees Jul 17, 2014
e96942e
Win32: fix environment memory leaks
kblees Jul 17, 2014
38d2750
Win32: unify environment case-sensitivity
kblees Jul 17, 2014
26c7b21
Win32: unify environment function names
kblees Jul 17, 2014
df0e998
Win32: factor out environment block creation
kblees Jul 17, 2014
77734da
Win32: don't copy the environment twice when spawning child processes
kblees Jul 17, 2014
f279242
Win32: reduce environment array reallocations
kblees Jul 17, 2014
6f1c189
Win32: use low-level memory allocation during initialization
kblees Jul 17, 2014
343ff06
Win32: keep the environment sorted
kblees Jul 17, 2014
6dc7154
Win32: patch Windows environment on startup
kblees Jul 17, 2014
baea068
Win32: enable color output in Windows cmd.exe
kblees Jul 17, 2014
2869b3e
unix-socket: remove stale socket before calling chdir()
rscharfe Jul 20, 2014
480cd53
t0110/MinGW: skip tests that pass arbitrary bytes on the command line
kblees Jul 19, 2014
32f4cb6
MinGW: disable legacy encoding tests
kblees Jul 17, 2014
5212f91
t4210: skip command-line encoding tests on mingw
patthoyts Jul 17, 2014
44cf1c0
t9902: mingw-specific fix for gitfile link files
patthoyts Jul 17, 2014
e8d0887
t800[12]: work around MSys limitation
kblees Jul 17, 2014
3ed3f5f
string-list: add string_list initializer helper function
tanayabh Jul 18, 2014
f93d7c6
replace memset with string-list initializers
tanayabh Jul 18, 2014
51a60f5
use xcalloc() to allocate zero-initialized memory
rscharfe Jul 19, 2014
5c0b13f
use xmemdupz() to allocate copies of strings given by start and length
rscharfe Jul 19, 2014
da33a97
Fix contrib/subtree Makefile to patch #! line
hashpling Jul 19, 2014
dadb89d
Merge branch 'cc/for-each-mergetag'
gitster Jul 21, 2014
3b3b61c
Merge branch 'ak/profile-feedback-build'
gitster Jul 21, 2014
ad25da0
Merge branch 'jl/submodule-tests'
gitster Jul 21, 2014
19a249b
Merge branch 'rs/ref-transaction-0'
gitster Jul 21, 2014
0ac7443
Merge branch 'jk/remote-curl-squelch-extra-errors'
gitster Jul 21, 2014
9b1c2a3
Merge branch 'kb/hashmap-updates'
gitster Jul 21, 2014
a8c565b
Merge branch 'ek/alt-odb-entry-fix'
gitster Jul 21, 2014
80e8575
Merge branch 'sk/mingw-uni-fix'
gitster Jul 21, 2014
fb0166c
Merge branch 'kb/avoid-fchmod-for-now'
gitster Jul 21, 2014
528396a
Merge branch 'rs/unify-is-branch'
gitster Jul 21, 2014
4228e8b
replace: add --graft option
chriscool Jul 19, 2014
adf8e54
replace: add test for --graft
chriscool Jul 19, 2014
78024c4
Documentation: replace: add --graft option
chriscool Jul 19, 2014
b0ab2b7
contrib: add convert-grafts-to-replace-refs.sh
chriscool Jul 19, 2014
0b05ab6
replace: remove signature when using --graft
chriscool Jul 19, 2014
60e2f5a
replace: add test for --graft with signed commit
chriscool Jul 19, 2014
25a05a8
replace: check mergetags when using --graft
chriscool Jul 19, 2014
3fa1025
replace: add test for --graft with a mergetag
chriscool Jul 19, 2014
0eff86e
Ninth batch for 2.1
gitster Jul 21, 2014
9ab0882
Merge branch 'maint'
gitster Jul 21, 2014
e6aaa39
Documentation: fix missing text for rev-parse --verify
bk2204 Jul 21, 2014
d31f3ad
Merge branch 'maint-1.8.5' into maint-1.9
gitster Jul 22, 2014
bba6acb
Merge branch 'maint-1.9' into maint
gitster Jul 22, 2014
63618af
Merge branch 'ep/shell-assign-and-export-vars' into maint
gitster Jul 22, 2014
85dd379
Merge branch 'lt/request-pull' into maint
gitster Jul 22, 2014
1fbc6e6
Merge branch 'cb/byte-order' into maint
gitster Jul 22, 2014
cfececf
Merge branch 'bg/xcalloc-nmemb-then-size' into maint
gitster Jul 22, 2014
af3e5d1
Merge branch 'jm/instaweb-apache-24' into maint
gitster Jul 22, 2014
79e9dba
Merge branch 'jm/doc-wording-tweaks' into maint
gitster Jul 22, 2014
ef93714
Merge branch 'sk/test-cmp-bin' into maint
gitster Jul 22, 2014
054e22c
Merge branch 'jm/dedup-test-config' into maint
gitster Jul 22, 2014
0196a60
Merge branch 'jm/api-strbuf-doc' into maint
gitster Jul 22, 2014
1a1f7b2
Merge branch 'ye/doc-http-proto' into maint
gitster Jul 22, 2014
5796c5b
Merge branch 'cb/filter-branch-prune-empty-degenerate-merges' into maint
gitster Jul 22, 2014
514dd21
Merge branch 'mg/fix-log-mergetag-color' into maint
gitster Jul 22, 2014
a1991f1
Merge branch 'zk/log-graph-showsig' into maint
gitster Jul 22, 2014
0d854fc
Merge branch 'po/error-message-style' into maint
gitster Jul 22, 2014
cd989a9
Merge branch 'ah/fix-http-push' into maint
gitster Jul 22, 2014
9f2de9c
Merge branch 'kb/perf-trace'
gitster Jul 22, 2014
10b944b
Merge branch 'jk/alloc-commit-id'
gitster Jul 22, 2014
4328190
Merge branch 'nd/path-max-must-go'
gitster Jul 22, 2014
12621cb
Merge branch 'rs/code-cleaning'
gitster Jul 22, 2014
247b4d5
Sync with maint
gitster Jul 22, 2014
3a224ff
completion: complete "unstuck" `git push --recurse-submodules`
johnkeeping Jul 22, 2014
9e8a6a9
completion: add some missing options to `git push`
johnkeeping Jul 22, 2014
aaf7253
completion: complete `git push --force-with-lease=`
johnkeeping Jul 22, 2014
405869d
git.1: switch homepage for stats
stefanbeller Jul 23, 2014
98b12a4
.mailmap: combine Stefan Beller's emails
stefanbeller Jul 23, 2014
740c281
Git 2.0.3
gitster Jul 23, 2014
c3d2bc7
Merge branch 'jk/tag-sort'
gitster Jul 23, 2014
bc88def
Merge branch 'mb/local-clone-after-applying-insteadof'
gitster Jul 23, 2014
955d7be
Merge branch 'ta/string-list-init'
gitster Jul 23, 2014
6da748a
Merge branch 'rs/fix-unlink-unix-socket'
gitster Jul 23, 2014
996b0fd
Sync with v2.0.3
gitster Jul 23, 2014
d51428b
receive-pack: don't copy "dir" parameter
peff Jul 24, 2014
28b3563
free ref string returned by dwim_ref
peff Jul 24, 2014
def0697
transport: fix leaks in refs_from_alternate_cb
peff Jul 24, 2014
649409b
fix memory leak parsing core.commentchar
peff Jul 24, 2014
31bb6d3
apply: avoid possible bogus pointer
peff Jul 24, 2014
e832f73
t9814: fix misconversion from test $a -o $b to test $a || test $b
gitster Jul 25, 2014
4799593
Merge branch 'jk/stable-prio-queue'
gitster Jul 27, 2014
1673744
Merge branch 'cc/replace-graft'
gitster Jul 27, 2014
3dcacd7
Merge branch 'jk/rebase-am-fork-point'
gitster Jul 27, 2014
49f1cb9
Git 2.1.0-rc0
gitster Jul 27, 2014
8c3f3f2
alloc.c: remove the alloc_raw_commit_node() function
Jul 13, 2014
52604d7
alloc: write out allocator definitions
peff Jul 13, 2014
fe24d39
move setting of object->type to alloc_* functions
peff Jul 13, 2014
fe0444b
parse_object_buffer: do not set object type
peff Jul 13, 2014
c4ad00f
add object_as_type helper for casting objects
peff Jul 13, 2014
5de7f50
alloc: factor out commit index
peff Jul 13, 2014
34dfe19
object_as_type: set commit index
peff Jul 13, 2014
b794ebe
diff-tree: avoid lookup_unknown_object
peff Jul 13, 2014
5d7c37a
Merge branch 'jk/alloc-commit-id-maint' into maint
gitster Jul 28, 2014
dad2e7f
Revert "Merge branch 'dt/refs-check-refname-component-sse-fix'"
gitster Jul 28, 2014
5e65022
Revert "Merge branch 'dt/refs-check-refname-component-sse'"
gitster Jul 28, 2014
919eb8a
t1402: check for refs ending with a dot
peff Jul 28, 2014
ad524f8
Merge branch 'jk/misc-fixes-maint'
gitster Jul 28, 2014
d299e9e
t4013: test diff-tree's --stdin commit formatting
peff Jul 28, 2014
583b61c
Merge branch 'maint'
gitster Jul 28, 2014
d8b396e
commit --amend: test specifies authorship but forgets to check
bafain Jul 30, 2014
97d6e79
add documentation for writing config files
tanayabh Jul 28, 2014
32f5660
Git 2.0.4
gitster Jul 30, 2014
4b0c0e3
Merge branch 'ep/avoid-test-a-o'
gitster Jul 30, 2014
385e171
Merge branch 'sk/mingw-uni-fix-more'
gitster Jul 30, 2014
c372e7b
Merge branch 'sk/mingw-tests-workaround'
gitster Jul 30, 2014
0d9cb2d
Merge branch 'jk/more-push-completion'
gitster Jul 30, 2014
aa0ba07
Update draft release notes to 2.1
gitster Jul 30, 2014
aa544bf
Sync with 2.0.4
gitster Jul 30, 2014
2147fa7
git-push: fix link in man page
fanf2 Jul 31, 2014
18bd789
Merge branch 'ta/doc-config'
gitster Aug 4, 2014
b16665e
Merge branch 'tf/maint-doc-push'
gitster Aug 4, 2014
7b69fcb
Git 2.1.0-rc1
gitster Aug 4, 2014
f54d3c6
RelNotes: no more check_ref_format micro-optimization
gitster Aug 5, 2014
663d096
various contrib: Fix links in man pages
stefanbeller Aug 7, 2014
5261ec5
Release notes: grammatical fixes
marcnarc Aug 5, 2014
764c739
Merge branch 'mb/relnotes-2.1'
gitster Aug 7, 2014
d4ec30b
gitk: Add keybinding to switch to parent commit
max630 Jul 8, 2014
09898e7
gitk: Updated Bulgarian translation (302t,0f,0u)
alshopov Aug 3, 2014
f82887f
Git 2.1-rc2
gitster Aug 8, 2014
67de23d
Merge branch 'master' of git://ozlabs.org/~paulus/gitk
gitster Aug 10, 2014
41ca19b
tests: fix negated test_i18ngrep calls
j6t Aug 13, 2014
6c4ab27
Git 2.1
gitster Aug 15, 2014
20ba112
Start the merging-rebase to v2.1.0
kblees Aug 16, 2014
c5d67b1
Makefile: do not depend on curl-config
kusma Apr 28, 2014
b7d7da5
Unicode file name support (gitk and git-gui)
kblees Feb 4, 2012
c0d38ef
core.hidedotfiles: hide '.git' dir by default
kusma Dec 16, 2009
dbb22e6
When initializing .git/, record the current setting of core.hideDotFiles
dscho Jan 9, 2010
f8b7f55
mingw: add tests for the hidden attribute on the git directory
patthoyts Mar 18, 2010
1a5a5e4
git am: ignore dirty submodules
dscho May 29, 2010
dcfb241
criss cross rename failure workaround
j6t Sep 16, 2009
f6ef373
Add a few more values for receive.denyCurrentBranch
dscho Feb 16, 2009
af84456
Let deny.currentBranch=updateInstead ignore submodules
dscho Oct 23, 2010
0befca7
Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
hvoigt Feb 18, 2010
56cda11
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
b5eb4a4
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
efd5f2a
Work around the command line limit on Windows
dscho Aug 11, 2009
ffa28b4
Fix another invocation of git from gitk with an overly long command-line
FauxFaux Jul 25, 2010
a325ef9
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
482a93f
gitweb: Allow line number toggling with Javascript
dscho Sep 7, 2010
b96a6fd
Gitweb: make line number toggling work for Firefox and Safari
dscho Sep 7, 2010
26109b2
Gitweb: add support for Alex Gorbatchev's SyntaxHighlighter in Javasc…
dscho Sep 25, 2011
2d8053b
Only switch on the line number toggle when highlighting is activated
dscho Sep 25, 2011
c61f812
gitweb (SyntaxHighlighter): interpret #l<line-number>
dscho Sep 26, 2011
0dd0cfb
t0302: check helper can handle empty credentials
jberezanski Jun 26, 2013
52ab6cb
wincred: handle empty username/password correctly
jberezanski Jun 26, 2013
dd3eebb
Teach 'git pull' to handle --rebase=interactive
dscho Oct 22, 2011
e46c4d2
Handle the branch.<name>.rebase value 'interactive'
dscho Oct 22, 2011
bf5519e
Teach 'git remote' that the config var branch.*.rebase can be 'intera…
dscho Feb 3, 2012
1121762
submodule: Fix t7400, t7405, t7406 for msysGit
sschuberth Apr 27, 2011
29453a1
am: Use cat instead of echo to avoid DOS line-endings (fixes t4150)
sschuberth Mar 23, 2012
1d4af23
Windows: make sure that merge-octopus only outputs LF line endings
dscho Apr 10, 2012
d98aa9f
Push the NATIVE_CRLF Makefile variable to C and added a test for native.
patthoyts Nov 26, 2012
14b4175
MinGW: Update tests to handle a native eol of crlf
Aug 16, 2013
e3c761a
work around misdetection of stdin attached to a tty
hvoigt Jun 16, 2010
b9df112
Handle new t1501 test case properly with MinGW
dscho Jan 8, 2011
578331b
t3102: Windows filesystems may not use a literal asterisk in filenames.
patthoyts Apr 26, 2011
e172b39
t9350: point out that refs are not updated correctly
SRabbelier Jul 24, 2011
9210d28
t1050: Fix invalid call to dd(1)
dscho May 23, 2012
6aeb027
Work around a problem identified by BuildHive
dscho May 29, 2012
35d5632
t0008: avoid absolute path on Windows as colon is used in the tests
patthoyts May 30, 2013
19fc75e
t800[12]: work around MSys limitation
kblees Sep 10, 2013
f7f0a79
tests: turn off git-daemon tests if FIFOs are not available
kasal May 29, 2014
9faa058
fast-export: do not refer to non-existing marks
dscho Jul 23, 2011
c9d910d
transport-helper: add trailing --
SRabbelier Aug 29, 2010
83ddf68
remote-helper: check helper status after import/export
SRabbelier Jul 23, 2011
c91d47a
Always auto-gc after calling a fast-import transport
dscho Apr 9, 2012
cee2ef3
Handle http.* config variables pointing to files gracefully on Windows
dscho Jul 26, 2009
1958343
Fixed wrong path delimiter in exe finding
Sep 29, 2011
acd4a9b
Fix launching of externals from Unicode paths
aroben Jun 5, 2012
1cdf137
Make non-.exe externals work again
aroben Jun 5, 2012
90d8560
help: correct behavior for is_executable on Windows
hvoigt Jun 22, 2012
a283859
Add a README.md
dscho Jan 10, 2014
ea8c6fc
Config option to disable side-band-64k for transport
t-b May 8, 2014
c2a0ce3
Revert "test: fix t7001 cp to use POSIX options"
kasal May 14, 2014
dca462f
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
0b21820
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
d3bba01
Win32: Make the dirent implementation pluggable
kblees Sep 8, 2013
7f5b617
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
119a8f8
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
2e646a9
Win32: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
1a62aa8
fscache: load directories only once
kblees Jun 24, 2014
91fb22d
Add a test demonstrating a problem with long submodule paths
vangdfang Jan 9, 2014
1ccf877
Win32: support long paths
kblees Feb 11, 2014
5d0b4ec
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
24bbb38
Merge 'refs/rewritten/junio/notyet' into HEAD
kblees Aug 16, 2014
ffa9869
Merge 'unicode' into HEAD
kblees Aug 16, 2014
9af43a3
Merge 'hide-dotgit' into HEAD
kblees Aug 16, 2014
516b629
Merge 'am-submodules' into HEAD
kblees Aug 16, 2014
03bc917
Merge 'criss-cross-merge' into HEAD
kblees Aug 16, 2014
1962678
Merge 'deny-current-branch' into HEAD
kblees Aug 16, 2014
3ac701b
Merge 'git-gui' into HEAD
kblees Aug 16, 2014
39bd86a
Merge 'gitk' into HEAD
kblees Aug 16, 2014
b186a66
Merge 'gitweb-syntax' into HEAD
kblees Aug 16, 2014
a9586f2
Merge 'jberezanski/wincred-sso-r2' into HEAD
kblees Aug 16, 2014
f7a9918
Merge 'pull-rebase-interactive' into HEAD
kblees Aug 16, 2014
3e39b72
Merge branch 'some-CR-fixes'
kblees Aug 16, 2014
bddad1a
Merge 'win-tests-fixes' into HEAD
kblees Aug 16, 2014
d2fdfb4
Merge 'remote-hg-prerequisites' into HEAD
kblees Aug 16, 2014
09e536b
Merge 'http-msys-paths' into HEAD
kblees Aug 16, 2014
7726851
Merge 'fix-externals' into HEAD
kblees Aug 16, 2014
9434230
Merge 'fix-is-exe' into HEAD
kblees Aug 16, 2014
27e76d5
Merge pull request #115 from msysgit/tip4commit
kblees Aug 16, 2014
02fac2a
Merge remote-tracking branch 't-b/sideband-bug'
kblees Aug 16, 2014
e52e4ef
Merge pull request #181 from kasal/tests-no-posix
kblees Aug 16, 2014
41bc59c
Merge remote-tracking branch 'kblees/kb/fscache-v4-tentative-1.8.5' i…
kblees Aug 16, 2014
98ed09f
Merge pull request #122 from kblees/kb/long-paths-v2
kblees Aug 16, 2014
0d452bd
fixup! remote-helper: check helper status after import/export
kblees Aug 16, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@
/git-upload-archive
/git-upload-pack
/git-var
/git-verify-commit
/git-verify-pack
/git-verify-tag
/git-web--browse
Expand All @@ -180,6 +181,7 @@
/test-date
/test-delta
/test-dump-cache-tree
/test-dump-split-index
/test-scrap-cache-tree
/test-genrandom
/test-hashmap
Expand Down Expand Up @@ -226,6 +228,7 @@
/config.mak.autogen
/config.mak.append
/configure
/unicode
/tags
/TAGS
/cscope*
Expand Down
4 changes: 4 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ Jeff King <[email protected]> <[email protected]>
Jeff Muizelaar <[email protected]> <[email protected]>
Jens Axboe <[email protected]> <[email protected]>
Jens Axboe <[email protected]> <[email protected]>
Jens Lindström <[email protected]> Jens Lindstrom <[email protected]>
Jim Meyering <[email protected]> <[email protected]>
Joachim Berdal Haga <[email protected]>
Johannes Schindelin <[email protected]> <[email protected]>
Expand Down Expand Up @@ -113,6 +114,7 @@ Karsten Blees <[email protected]> <[email protected]>
Karsten Blees <[email protected]> <[email protected]>
Kay Sievers <[email protected]> <[email protected]>
Kay Sievers <[email protected]> <kay@mam.(none)>
Kazuki Saitoh <[email protected]> kazuki saitoh <[email protected]>
Keith Cascio <[email protected]> <[email protected]>
Kent Engstrom <[email protected]>
Kevin Leung <[email protected]>
Expand Down Expand Up @@ -202,6 +204,7 @@ Seth Falcon <[email protected]> <[email protected]>
Shawn O. Pearce <[email protected]>
Simon Hausmann <[email protected]> <[email protected]>
Simon Hausmann <[email protected]> <[email protected]>
Stefan Beller <[email protected]> <[email protected]>
Stefan Naewe <[email protected]> <[email protected]>
Stefan Naewe <[email protected]> <[email protected]>
Stefan Sperling <[email protected]> <[email protected]>
Expand Down Expand Up @@ -229,6 +232,7 @@ Tommi Virtanen <[email protected]> <[email protected]>
Tommy Thorn <[email protected]> <[email protected]>
Tony Luck <[email protected]>
Tor Arne Vestbø <[email protected]> <[email protected]>
Trần Ngọc Quân <[email protected]> Tran Ngoc Quan <[email protected]>
Trent Piepho <[email protected]> <[email protected]>
Trent Piepho <[email protected]> <[email protected]>
Uwe Kleine-König <[email protected]> <[email protected]>
Expand Down
159 changes: 154 additions & 5 deletions Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ code. For Git in general, three rough rules are:
judgement call, the decision based more on real world
constraints people face than what the paper standard says.

- Fixing style violations while working on a real change as a
preparatory clean-up step is good, but otherwise avoid useless code
churn for the sake of conforming to the style.

"Once it _is_ in the tree, it's not really worth the patch noise to
go and fix it up."
Cf. http://article.gmane.org/gmane.linux.kernel/943020

Make your code readable and sensible, and don't try to be clever.

As for more concrete guidelines, just imitate the existing code
Expand All @@ -34,7 +42,17 @@ For shell scripts specifically (not exhaustive):

- We use tabs for indentation.

- Case arms are indented at the same depth as case and esac lines.
- Case arms are indented at the same depth as case and esac lines,
like this:

case "$variable" in
pattern1)
do this
;;
pattern2)
do that
;;
esac

- Redirection operators should be written with space before, but no
space after them. In other words, write 'echo test >"$file"'
Expand All @@ -43,6 +61,14 @@ For shell scripts specifically (not exhaustive):
redirection target in a variable (as shown above), our code does so
because some versions of bash issue a warning without the quotes.

(incorrect)
cat hello > world < universe
echo hello >$world

(correct)
cat hello >world <universe
echo hello >"$world"

- We prefer $( ... ) for command substitution; unlike ``, it
properly nests. It should have been the way Bourne spelled
it from day one, but unfortunately isn't.
Expand Down Expand Up @@ -81,14 +107,33 @@ For shell scripts specifically (not exhaustive):
"then" should be on the next line for if statements, and "do"
should be on the next line for "while" and "for".

(incorrect)
if test -f hello; then
do this
fi

(correct)
if test -f hello
then
do this
fi

- We prefer "test" over "[ ... ]".

- We do not write the noiseword "function" in front of shell
functions.

- We prefer a space between the function name and the parentheses. The
opening "{" should also be on the same line.
E.g.: my_function () {
- We prefer a space between the function name and the parentheses,
and no space inside the parentheses. The opening "{" should also
be on the same line.

(incorrect)
my_function(){
...

(correct)
my_function () {
...

- As to use of grep, stick to a subset of BRE (namely, no \{m,n\},
[::], [==], or [..]) for portability.
Expand All @@ -106,6 +151,19 @@ For shell scripts specifically (not exhaustive):
interface translatable. See "Marking strings for translation" in
po/README.

- We do not write our "test" command with "-a" and "-o" and use "&&"
or "||" to concatenate multiple "test" commands instead, because
the use of "-a/-o" is often error-prone. E.g.

test -n "$x" -a "$a" = "$b"

is buggy and breaks when $x is "=", but

test -n "$x" && test "$a" = "$b"

does not have such a problem.


For C programs:

- We use tabs to indent, and interpret tabs as taking up to
Expand Down Expand Up @@ -149,7 +207,7 @@ For C programs:
of "else if" statements, it can make sense to add braces to
single line blocks.

- We try to avoid assignments inside if().
- We try to avoid assignments in the condition of an "if" statement.

- Try to make your code understandable. You may put comments
in, but comments invariably tend to stale out when the code
Expand Down Expand Up @@ -177,6 +235,88 @@ For C programs:
- Double negation is often harder to understand than no negation
at all.

- There are two schools of thought when it comes to comparison,
especially inside a loop. Some people prefer to have the less stable
value on the left hand side and the more stable value on the right hand
side, e.g. if you have a loop that counts variable i down to the
lower bound,

while (i > lower_bound) {
do something;
i--;
}

Other people prefer to have the textual order of values match the
actual order of values in their comparison, so that they can
mentally draw a number line from left to right and place these
values in order, i.e.

while (lower_bound < i) {
do something;
i--;
}

Both are valid, and we use both. However, the more "stable" the
stable side becomes, the more we tend to prefer the former
(comparison with a constant, "i > 0", is an extreme example).
Just do not mix styles in the same part of the code and mimic
existing styles in the neighbourhood.

- There are two schools of thought when it comes to splitting a long
logical line into multiple lines. Some people push the second and
subsequent lines far enough to the right with tabs and align them:

if (the_beginning_of_a_very_long_expression_that_has_to ||
span_more_than_a_single_line_of ||
the_source_text) {
...

while other people prefer to align the second and the subsequent
lines with the column immediately inside the opening parenthesis,
with tabs and spaces, following our "tabstop is always a multiple
of 8" convention:

if (the_beginning_of_a_very_long_expression_that_has_to ||
span_more_than_a_single_line_of ||
the_source_text) {
...

Both are valid, and we use both. Again, just do not mix styles in
the same part of the code and mimic existing styles in the
neighbourhood.

- When splitting a long logical line, some people change line before
a binary operator, so that the result looks like a parse tree when
you turn your head 90-degrees counterclockwise:

if (the_beginning_of_a_very_long_expression_that_has_to
|| span_more_than_a_single_line_of_the_source_text) {

while other people prefer to leave the operator at the end of the
line:

if (the_beginning_of_a_very_long_expression_that_has_to ||
span_more_than_a_single_line_of_the_source_text) {

Both are valid, but we tend to use the latter more, unless the
expression gets fairly complex, in which case the former tends to
be easier to read. Again, just do not mix styles in the same part
of the code and mimic existing styles in the neighbourhood.

- When splitting a long logical line, with everything else being
equal, it is preferable to split after the operator at higher
level in the parse tree. That is, this is more preferable:

if (a_very_long_variable * that_is_used_in +
a_very_long_expression) {
...

than

if (a_very_long_variable *
that_is_used_in + a_very_long_expression) {
...

- Some clever tricks, like using the !! operator with arithmetic
constructs, can be extremely confusing to others. Avoid them,
unless there is a compelling reason to use them.
Expand Down Expand Up @@ -264,6 +404,15 @@ For Python scripts:
documentation for version 2.6 does not mention this prefix, it has
been supported since version 2.6.0.

Error Messages

- Do not end error messages with a full stop.

- Do not capitalize ("unable to open %s", not "Unable to open %s")

- Say what the error is first ("cannot open %s", not "%s: cannot open")


Writing Documentation:

Most (if not all) of the documentation pages are written in the
Expand Down
1 change: 1 addition & 0 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ SP_ARTICLES += howto/recover-corrupted-blob-object
SP_ARTICLES += howto/recover-corrupted-object-harder
SP_ARTICLES += howto/rebuild-from-update-hook
SP_ARTICLES += howto/rebase-from-internal-branch
SP_ARTICLES += howto/keep-canonical-history-correct
SP_ARTICLES += howto/maintain-git
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
SP_ARTICLES += $(API_DOCS)
Expand Down
16 changes: 16 additions & 0 deletions Documentation/RelNotes/1.9.4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Git v1.9.4 Release Notes
========================

Fixes since v1.9.3
------------------

* Commands that take pathspecs on the command line misbehaved when
the pathspec is given as an absolute pathname (which is a
practice not particularly encouraged) that points at a symbolic
link in the working tree.

* An earlier fix to the shell prompt script (in contrib/) for using
the PROMPT_COMMAND interface did not correctly check if the extra
code path needs to trigger, causing the branch name not to appear
when 'promptvars' option is disabled in bash or PROMPT_SUBST is
unset in zsh.
Loading