]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/RelNotes/1.7.6.txt
Merge branch 'cb/fsmonitor-intfix' into maint
[thirdparty/git.git] / Documentation / RelNotes / 1.7.6.txt
CommitLineData
f696543d 1Git v1.7.6 Release Notes
e839fe6c
JH
2========================
3
4Updates since v1.7.5
5--------------------
6
7 * Various git-svn updates.
8
665b051b
JH
9 * Updates the way content tags are handled in gitweb. Also adds
10 a UI to choose common timezone for displaying the dates.
dbe9c5ad 11
11bc3e92
JH
12 * Similar to branch names, tagnames that begin with "-" are now
13 disallowed.
14
0b9deecf
JH
15 * Clean-up of the C part of i18n (but not l10n---please wait)
16 continues.
17
5df3e2b3
JH
18 * The scripting part of the codebase is getting prepared for i18n/l10n.
19
665b051b
JH
20 * Pushing and pulling from a repository with large number of refs that
21 point to identical commits are optimized by not listing the same commit
22 during the common ancestor negotiation exchange with the other side.
23
24 * Adding a file larger than core.bigfilethreshold (defaults to 1/2 Gig)
25 using "git add" will send the contents straight to a packfile without
26 having to hold it and its compressed representation both at the same
27 time in memory.
28
4e3aa87d
JH
29 * Processes spawned by "[alias] <name> = !process" in the configuration
30 can inspect GIT_PREFIX environment variable to learn where in the
31 working tree the original command was invoked.
32
5df3e2b3
JH
33 * A magic pathspec ":/" tells a command that limits its operation to
34 the current directory when ran from a subdirectory to work on the
35 entire working tree. In general, ":/path/to/file" would be relative
36 to the root of the working tree hierarchy.
37
38 After "git reset --hard; edit Makefile; cd t/", "git add -u" would
39 be a no-op, but "git add -u :/" would add the updated contents of
40 the Makefile at the top level. If you want to name a path in the
41 current subdirectory whose unusual name begins with ":/", you can
42 name it by "./:/that/path" or by "\:/that/path".
43
e839fe6c
JH
44 * "git blame" learned "--abbrev[=<n>]" option to control the minimum
45 number of hexdigits shown for commit object names.
46
5df3e2b3
JH
47 * "git blame" learned "--line-porcelain" that is less efficient but is
48 easier to parse.
49
b602ed7d 50 * Aborting "git commit --interactive" discards updates to the index
2cbd969b 51 made during the interactive session.
b602ed7d
JH
52
53 * "git commit" learned a "--patch" option to directly jump to the
54 per-hunk selection UI of the interactive mode.
55
2de58b39
JH
56 * "git diff" and its family of commands learned --dirstat=0 to show
57 directories that contribute less than 0.1% of changes.
58
59 * "git diff" and its family of commands learned --dirstat=lines mode to
60 assess damage to the directory based on number of lines in the patch
61 output, not based on the similarity numbers.
62
e839fe6c
JH
63 * "git format-patch" learned "--quiet" option to suppress the output of
64 the names of generated files.
65
4e3aa87d
JH
66 * "git format-patch" quotes people's names when it has RFC822 special
67 characters in it, e.g. "Junio C. Hamano" <jch@example.com>. Earlier
68 it was up to the user to do this when using its output.
69
090a1a5d
JH
70 * "git format-patch" can take an empty --subject-prefix now.
71
2cbd969b
JH
72 * "git grep" learned the "-P" option to take pcre regular expressions.
73
0b9deecf
JH
74 * "git log" and friends learned a new "--notes" option to replace the
75 "--show-notes" option. Unlike "--show-notes", "--notes=<ref>" does
76 not imply showing the default notes.
77
665b051b
JH
78 * They also learned a log.abbrevCommit configuration variable to augment
79 the --abbrev-commit command line option.
80
5df3e2b3
JH
81 * "git ls-remote" learned "--exit-code" option to consider it a
82 different kind of error when no remote ref to be shown.
83
e839fe6c
JH
84 * "git merge" learned "-" as a short-hand for "the previous branch", just
85 like the way "git checkout -" works.
86
b602ed7d
JH
87 * "git merge" uses "merge.ff" configuration variable to decide to always
88 create a merge commit (i.e. --no-ff, aka merge.ff=no), refuse to create
89 a merge commit (i.e. --ff-only, aka merge.ff=only). Setting merge.ff=yes
90 (or not setting it at all) restores the default behaviour of allowing
91 fast-forward to happen when possible.
92
11bc3e92
JH
93 * p4-import (from contrib) learned a new option --preserve-user.
94
090a1a5d
JH
95 * "git read-tree -m" learned "--dry-run" option that reports if a merge
96 would fail without touching the index nor the working tree.
97
dbe9c5ad
JH
98 * "git rebase" that does not specify on top of which branch to rebase
99 the current branch now uses @{upstream} of the current branch.
4e3aa87d 100
090a1a5d
JH
101 * "git rebase" finished either normally or with --abort did not
102 update the reflog for HEAD to record the event to come back to
103 where it started from.
104
105 * "git remote add -t only-this-branch --mirror=fetch" is now allowed. Earlier
106 a fetch-mode mirror meant mirror everything, but now it only means refs are
107 not renamed.
108
505a138c
JH
109 * "git rev-list --count" used with "--cherry-mark" counts the cherry-picked
110 commits separately, producing more a useful output.
e839fe6c 111
0b9deecf
JH
112 * "git submodule update" learned "--force" option to get rid of local
113 changes in submodules and replace them with the up-to-date version.
114
11bc3e92
JH
115 * "git status" and friends ignore .gitmodules file while the file is
116 still in a conflicted state during a merge, to avoid using information
117 that is not final and possibly corrupt with conflict markers.
118
4e3aa87d
JH
119Also contains various documentation updates and minor miscellaneous
120changes.
e839fe6c
JH
121
122
123Fixes since v1.7.5
124------------------
125
126Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are
127included in this release.
128
e839fe6c
JH
129 * "git config" used to choke with an insanely long line.
130 (merge ef/maint-strbuf-init later)
131
2cbd969b
JH
132 * "git diff --quiet" did not work well with --diff-filter.
133 (merge jk/diff-not-so-quick later)
134
135 * "git status -z" did not default to --porcelain output format.
136 (merge bc/maint-status-z-to-use-porcelain later)