Skip to content

Merging rebase to v2.1.2 #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 194 commits into from
Oct 13, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
7cefd34
l10n: Fix more typos in the Swedish translations
nafmo Jun 24, 2014
ae18165
revision: drop useless string offset when parsing "--pretty"
peff Jul 29, 2014
c75e7ad
pretty: treat "--format=" as an empty userformat
peff Jul 29, 2014
b9c7d6e
pretty: make empty userformats truly empty
peff Jul 29, 2014
642c7fa
l10n: Updated Bulgarian translation of git (2228t,0f,0u)
alshopov Jun 27, 2014
c099f8c
l10n: Updated Bulgarian translation of git (2247t,0f,0u)
alshopov Aug 3, 2014
fe05e19
l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)
jiangxin Aug 4, 2014
6d0081a
Merge remote-tracking branch 'sv/nafmo/master'
jiangxin Aug 4, 2014
afc344c
Merge commit 'bg/alshopov/master'
jiangxin Aug 4, 2014
6acbf03
l10n: zh_CN: translations for git v2.1.0-rc0
jiangxin Aug 4, 2014
aafbee8
l10n: Updated Bulgarian translation of git (2257t,0f,0u)
alshopov Aug 3, 2014
8d38823
l10n: vi.po (2257t): Update translation
vnwildman Aug 5, 2014
dc4a1ba
l10n: sv.po: Update Swedish translation (2257t0f0u)
nafmo Aug 5, 2014
4b71297
Merge branch 'master' of github.com:alshopov/git-po
jiangxin Aug 5, 2014
b9e343e
Merge remote-tracking branch 'l10n/vi/vnwildman/master'
jiangxin Aug 5, 2014
a789ca7
config: teach "git -c" to recognize an empty string
gitster Aug 4, 2014
f7fbc35
l10n: fr.po (2257t) update for version 2.1.0
jnavila Aug 5, 2014
d487b0b
apply: use the right attribute for paths in non-Git patches
gitster Aug 6, 2014
3ee2ad1
apply: hoist use_patch() helper for path exclusion up
gitster Aug 6, 2014
477a08a
apply: omit ws check for excluded paths
gitster Aug 6, 2014
2c8544a
bundle: fix exclusion of annotated tags
Aug 2, 2014
ccad42d
read-cache: check for leading symlinks when refreshing index
rscharfe Aug 9, 2014
f7f9108
pack-objects: turn off bitmaps when we see --shallow lines
peff Aug 12, 2014
2d26d53
Documentation/git-rebase.txt: -f forces a rebase that would otherwise…
sorganov Aug 11, 2014
0ecd180
unpack-trees: simplify 'all other failures' case
stefanbeller Aug 12, 2014
6c1db1b
unpack-trees: use 'cuddled' style for if-else cascade
jrn Aug 13, 2014
1991006
fetch: convert argv_gc_auto to struct argv_array
pclouds Aug 16, 2014
6fceed3
fetch: silence git-gc if --quiet is given
pclouds Aug 16, 2014
c846664
make config --add behave correctly for empty and NULL values
tanayabh Aug 18, 2014
93b5393
Makefile: make perf tests optional for profile build
peff Aug 19, 2014
e09867f
intersect_paths: respect mode in git's tree-sort
peff Aug 20, 2014
6c71f8b
upload-pack: keep poll(2)'s timeout to -1
ethomson Aug 22, 2014
0082d82
l10n: Add Catalan translation
alexhenrie Aug 23, 2014
47abf17
po/TEAMS: Add Catalan team
alexhenrie Aug 23, 2014
795b9ff
l10n: de.po: fix typo
ralfth Jun 11, 2014
869951b
l10n: de.po: improve message when switching branches
ralfth Jun 12, 2014
afd11d3
pack-refs: prune top-level refs like "refs/foo"
peff Aug 23, 2014
3c078b9
fast-import: clean up pack_data pointer in end_packfile
peff Aug 23, 2014
c252785
fast-import: fix buffer overflow in dump_tags
peff Aug 23, 2014
0fa7f01
git-prompt: do not look for refs/stash in $GIT_DIR
peff Aug 23, 2014
c285171
Merge git://github.com/git-l10n/git-po
gitster Aug 25, 2014
6a143aa
checkout -m: attempt merge when deletion of path was staged
jrn Aug 13, 2014
212d781
Merge branch 'jk/fix-profile-feedback-build'
gitster Aug 26, 2014
a3d54f9
Merge branch 'jk/pack-shallow-always-without-bitmap'
gitster Aug 26, 2014
4109c28
Merge branch 'jk/diff-tree-t-fix'
gitster Aug 26, 2014
26be19b
send-pack: take refspecs over stdin
peff Aug 21, 2014
5d146f7
Document LF appearing in shallow command during send-pack/receive-pack
spearce Aug 27, 2014
d35ea4d
l10n: de.po: translate 38 new messages
ralfth Jun 20, 2014
782ac53
po/TEAMS: add new members to German translation team
ralfth Aug 26, 2014
96db324
Merge git://github.com/git-l10n/git-po
gitster Aug 29, 2014
8d30d8a
t9300: test filedelete command
satori Aug 29, 2014
2668d69
fast-import: fix segfault in store_tree()
satori Aug 29, 2014
ab791dd
index-pack: fix race condition with duplicate bases
peff Aug 29, 2014
c40fdd0
reachable.c: add HEAD to reachability starting commits
max630 Sep 3, 2014
2e770fe
fsck: exit with non-zero status upon error from fsck_obj()
peff Aug 29, 2014
c1063be
config: avoid a funny sentinel value "a^"
peff Aug 19, 2014
30d1038
fsck: return non-zero status on missing ref tips
peff Sep 12, 2014
2da1f36
mailinfo: make ">From" in-body header check more robust
peff Sep 14, 2014
95c6826
Documentation/git-rebase.txt: <upstream> must be given to specify <br…
sorganov Aug 29, 2014
723361a
Merge branch 'jk/pretty-empty-format' into maint
gitster Sep 19, 2014
04cd47f
Merge branch 'jk/command-line-config-empty-string' into maint
gitster Sep 19, 2014
bb6ac5e
Merge branch 'jc/apply-ws-prefix' into maint
gitster Sep 19, 2014
ffe41f8
Merge branch 'lf/bundle-exclusion' into maint
gitster Sep 19, 2014
92ea1ac
Merge branch 'rs/refresh-beyond-symlink' into maint
gitster Sep 19, 2014
8ec959f
Merge branch 'jk/prompt-stash-could-be-packed' into maint
gitster Sep 19, 2014
f715334
Merge branch 'sp/pack-protocol-doc-on-shallow' into maint
gitster Sep 19, 2014
a28e876
Merge branch 'jn/unpack-trees-checkout-m-carry-deletion' into maint
gitster Sep 19, 2014
0448134
Merge branch 'jk/fast-import-fixes' into maint
gitster Sep 19, 2014
fb6f843
Merge branch 'jk/prune-top-level-refs-after-packing' into maint
gitster Sep 19, 2014
08fd8a0
Merge branch 'nd/fetch-pass-quiet-to-gc-child-process' into maint
gitster Sep 19, 2014
b8f7239
Merge branch 'et/spell-poll-infinite-with-minus-one-only' into maint
gitster Sep 19, 2014
349cb50
Git 2.1.1
gitster Sep 19, 2014
85de86a
mailinfo: work around -Wstring-plus-int warning
sunshineco Sep 21, 2014
89a0ead
po/TEAMS: add new member to German translation team
ralfth Sep 5, 2014
f51ccda
l10n: de.po: change Email to E-Mail
PhillipSz Sep 20, 2014
061540f
l10n: de.po: use comma before "um"
PhillipSz Sep 23, 2014
62b553c
Merge branch 'maint' of git://github.com/git-l10n/git-po into maint
gitster Sep 28, 2014
e7867e8
Merge branch 'so/rebase-doc' into maint
gitster Sep 30, 2014
0605170
Merge branch 'jk/send-pack-many-refspecs' into maint
gitster Sep 30, 2014
46092eb
Merge branch 'jk/index-pack-threading-races' into maint
gitster Sep 30, 2014
5b830a8
Merge branch 'mb/fast-import-delete-root' into maint
gitster Sep 30, 2014
421ec4f
Merge branch 'mk/reachable-protect-detached-head' into maint
gitster Sep 30, 2014
102edda
Merge branch 'ta/config-add-to-empty-or-true-fix' into maint
gitster Sep 30, 2014
46c8f85
Merge branch 'jk/fsck-exit-code-fix' into maint
gitster Sep 30, 2014
80b616d
Git 2.1.2
gitster Sep 30, 2014
eeff891
git-tag.txt: Add a missing hyphen to `-s`
mineo Oct 4, 2014
b6e8269
Merge branch 'jk/mbox-from-line' into maint
gitster Oct 7, 2014
9181365
Merge branch 'maint-1.8.5' into maint-1.9
gitster Oct 7, 2014
76f8611
Merge branch 'maint-1.9' into maint-2.0
gitster Oct 7, 2014
3c2dc76
Merge branch 'maint-2.0' into maint
gitster Oct 7, 2014
3fa02b8
Start the merging-rebase to junio/maint
t-b Oct 13, 2014
750ca3a
Makefile: do not depend on curl-config
kusma Apr 28, 2014
a1cecde
Unicode file name support (gitk and git-gui)
kblees Feb 4, 2012
87ea955
core.hidedotfiles: hide '.git' dir by default
kusma Dec 16, 2009
b54a698
When initializing .git/, record the current setting of core.hideDotFiles
dscho Jan 9, 2010
b164090
mingw: add tests for the hidden attribute on the git directory
patthoyts Mar 18, 2010
510e07a
git am: ignore dirty submodules
dscho May 29, 2010
07f87b9
criss cross rename failure workaround
j6t Sep 16, 2009
d5ddd84
Add a few more values for receive.denyCurrentBranch
dscho Feb 16, 2009
ed2eb2a
Let deny.currentBranch=updateInstead ignore submodules
dscho Oct 23, 2010
7fa0af0
Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
hvoigt Feb 18, 2010
ce06bdd
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
4d44fb5
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
f8d79bf
Work around the command line limit on Windows
dscho Aug 11, 2009
53ec268
Fix another invocation of git from gitk with an overly long command-line
FauxFaux Jul 25, 2010
0e393d1
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
9df56e2
gitweb: Allow line number toggling with Javascript
dscho Sep 7, 2010
9ae3d87
Gitweb: make line number toggling work for Firefox and Safari
dscho Sep 7, 2010
b6d3d9d
Gitweb: add support for Alex Gorbatchev's SyntaxHighlighter in Javasc…
dscho Sep 25, 2011
351800b
Only switch on the line number toggle when highlighting is activated
dscho Sep 25, 2011
0a805a2
gitweb (SyntaxHighlighter): interpret #l<line-number>
dscho Sep 26, 2011
5dbc1a6
t0302: check helper can handle empty credentials
jberezanski Jun 26, 2013
6c4d164
wincred: handle empty username/password correctly
jberezanski Jun 26, 2013
b48f2dc
Teach 'git pull' to handle --rebase=interactive
dscho Oct 22, 2011
60de9a1
Handle the branch.<name>.rebase value 'interactive'
dscho Oct 22, 2011
fde3d4e
Teach 'git remote' that the config var branch.*.rebase can be 'intera…
dscho Feb 3, 2012
7b084ae
submodule: Fix t7400, t7405, t7406 for msysGit
sschuberth Apr 27, 2011
7a6f69d
am: Use cat instead of echo to avoid DOS line-endings (fixes t4150)
sschuberth Mar 23, 2012
843c22a
Windows: make sure that merge-octopus only outputs LF line endings
dscho Apr 10, 2012
a4514d0
Push the NATIVE_CRLF Makefile variable to C and added a test for native.
patthoyts Nov 26, 2012
731ea66
MinGW: Update tests to handle a native eol of crlf
Aug 16, 2013
d90812f
work around misdetection of stdin attached to a tty
hvoigt Jun 16, 2010
e4396c5
Handle new t1501 test case properly with MinGW
dscho Jan 8, 2011
a036c0a
t3102: Windows filesystems may not use a literal asterisk in filenames.
patthoyts Apr 26, 2011
88df603
t9350: point out that refs are not updated correctly
SRabbelier Jul 24, 2011
19064f5
t1050: Fix invalid call to dd(1)
dscho May 23, 2012
c840b4e
Work around a problem identified by BuildHive
dscho May 29, 2012
a2dd747
t0008: avoid absolute path on Windows as colon is used in the tests
patthoyts May 30, 2013
863cc2e
t800[12]: work around MSys limitation
kblees Sep 10, 2013
bdc37b7
tests: turn off git-daemon tests if FIFOs are not available
kasal May 29, 2014
12305d0
fast-export: do not refer to non-existing marks
dscho Jul 23, 2011
a49d513
transport-helper: add trailing --
SRabbelier Aug 29, 2010
d5ee0e7
remote-helper: check helper status after import/export
SRabbelier Jul 23, 2011
c782ae3
Always auto-gc after calling a fast-import transport
dscho Apr 9, 2012
6e1688f
Handle http.* config variables pointing to files gracefully on Windows
dscho Jul 26, 2009
c4e6b77
Fixed wrong path delimiter in exe finding
Sep 29, 2011
74ea978
Fix launching of externals from Unicode paths
aroben Jun 5, 2012
fe56854
Make non-.exe externals work again
aroben Jun 5, 2012
3f1b12b
help: correct behavior for is_executable on Windows
hvoigt Jun 22, 2012
28441fa
Add a README.md
dscho Jan 10, 2014
4b04f46
Config option to disable side-band-64k for transport
t-b May 8, 2014
9233472
Revert "test: fix t7001 cp to use POSIX options"
kasal May 14, 2014
33a1078
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
58300dd
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
04daa4d
Win32: Make the dirent implementation pluggable
kblees Sep 8, 2013
56cb254
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
74f168c
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
07e8f3a
Win32: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
a9d97f2
fscache: load directories only once
kblees Jun 24, 2014
b2d06e4
Add a test demonstrating a problem with long submodule paths
vangdfang Jan 9, 2014
db2f8a3
Win32: support long paths
kblees Feb 11, 2014
15166c5
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
584641d
Merge 'refs/rewritten/junio/notyet' into HEAD
t-b Oct 13, 2014
3075a93
Merge 'unicode' into HEAD
t-b Oct 13, 2014
411e946
Merge 'hide-dotgit' into HEAD
t-b Oct 13, 2014
e16decf
Merge 'am-submodules' into HEAD
t-b Oct 13, 2014
d82080f
Merge 'criss-cross-merge' into HEAD
t-b Oct 13, 2014
90f2fa8
Merge 'deny-current-branch' into HEAD
t-b Oct 13, 2014
a3f4eb9
Merge 'git-gui' into HEAD
t-b Oct 13, 2014
0603942
Merge 'gitk' into HEAD
t-b Oct 13, 2014
ddd114f
Merge 'gitweb-syntax' into HEAD
t-b Oct 13, 2014
abbd349
Merge 'jberezanski/wincred-sso-r2' into HEAD
t-b Oct 13, 2014
9d5839d
Merge 'pull-rebase-interactive' into HEAD
t-b Oct 13, 2014
88cae58
Merge branch 'some-CR-fixes'
t-b Oct 13, 2014
d8ce1ae
Merge 'win-tests-fixes' into HEAD
t-b Oct 13, 2014
01c5df7
Merge 'remote-hg-prerequisites' into HEAD
t-b Oct 13, 2014
167d538
Merge 'http-msys-paths' into HEAD
t-b Oct 13, 2014
99a5639
Merge 'fix-externals' into HEAD
t-b Oct 13, 2014
3d7d03e
Merge 'fix-is-exe' into HEAD
t-b Oct 13, 2014
0ac7ef0
Merge pull request #115 from msysgit/tip4commit
t-b Oct 13, 2014
6c55145
Merge remote-tracking branch 't-b/sideband-bug'
t-b Oct 13, 2014
c9ff21b
Merge pull request #181 from kasal/tests-no-posix
t-b Oct 13, 2014
52591b9
Merge remote-tracking branch 'kblees/kb/fscache-v4-tentative-1.8.5' i…
t-b Oct 13, 2014
53ee2b9
Merge pull request #122 from kblees/kb/long-paths-v2
t-b Oct 13, 2014
672abff
Merge pull request #231 from kblees/kb/msysgit-2.1.0
t-b Oct 13, 2014
d0243ad
git-gui/gitk: Do not use a Cygwin-specific kill flag on Windows
sschuberth Aug 29, 2014
7d0d5cf
Merge pull request #239 from sschuberth/taskkill
t-b Oct 13, 2014
895849c
MinGW: Use MakeMaker to build the Perl libraries
sschuberth Aug 29, 2013
0f2f245
Makefile: Set htmldir to match the default HTML docs location under MSYS
sschuberth Sep 4, 2013
ccb6a7a
Merge pull request #1 from t-b/new-sdk-fixes
t-b Oct 13, 2014
0f77827
t9300: use test_cmp_bin instead of test_cmp to compare binary files
j6t Sep 12, 2014
c3051df
Merge pull request #2 from t-b/tb_more_use_of_test_cmp_bin
t-b Oct 13, 2014
232ce5f
t5000: Fix CRLF vs LF issue
t-b May 16, 2014
5a37902
t2025: Tell tail explicitly to read from stdin
t-b Sep 24, 2014
0c03fcc
t5503: Mark flaky tests as known breakages
t-b Sep 25, 2014
1e0473a
t1508: Be more clever than msys path substitution
t-b Sep 24, 2014
06e8ed3
Merge pull request #3 from t-b/test-fixes-again
t-b Oct 13, 2014
e14cea7
t0027: Disable test on MINGW
t-b Oct 2, 2014
60959dd
Enable support for perl regular expressions (LIBPCRE)
t-b Sep 3, 2014
817347c
Merge pull request #5 from t-b/dont_execute_test_which_errors_out
t-b Oct 13, 2014
cdfea26
t0027: Tests for core.eol=native, eol=lf, eol=crlf
tboegi Aug 16, 2014
217da4a
Merge pull request #4 from t-b/use-libpcre
t-b Oct 13, 2014
8cc203c
Mark t0027-auto-crlf as cheap enough for MinGW
dscho Oct 8, 2014
d69ba23
Merge pull request #7 from dscho/mingw-tests
t-b Oct 13, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions Documentation/RelNotes/2.1.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Git v2.1.1 Release Notes
========================

* Git 2.0 had a regression where "git fetch" into a shallowly
cloned repository from a repository with bitmap object index
enabled did not work correctly. This has been corrected.

* Git 2.0 had a regression which broke (rarely used) "git diff-tree
-t". This has been corrected.

* "git log --pretty/format=" with an empty format string did not
mean the more obvious "No output whatsoever" but "Use default
format", which was counterintuitive. Now it means "nothing shown
for the log message part".

* "git -c section.var command" and "git -c section.var= command"
should pass the configuration differently (the former should be a
boolean true, the latter should be an empty string), but they
didn't work that way. Now it does.

* Applying a patch not generated by Git in a subdirectory used to
check the whitespace breakage using the attributes for incorrect
paths. Also whitespace checks were performed even for paths
excluded via "git apply --exclude=<path>" mechanism.

* "git bundle create" with date-range specification were meant to
exclude tags outside the range, but it did not work correctly.

* "git add x" where x that used to be a directory has become a
symbolic link to a directory misbehaved.

* The prompt script checked $GIT_DIR/ref/stash file to see if there
is a stash, which was a no-no.

* "git checkout -m" did not switch to another branch while carrying
the local changes forward when a path was deleted from the index.

* With sufficiently long refnames, fast-import could have overflown
an on-stack buffer.

* After "pack-refs --prune" packed refs at the top-level, it failed
to prune them.

* "git gc --auto" triggered from "git fetch --quiet" was not quiet.
20 changes: 20 additions & 0 deletions Documentation/RelNotes/2.1.2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Git v2.1.2 Release Notes
========================

* "git push" over HTTP transport had an artificial limit on number of
refs that can be pushed imposed by the command line length.

* When receiving an invalid pack stream that records the same object
twice, multiple threads got confused due to a race.

* An attempt to remove the entire tree in the "git fast-import" input
stream caused it to misbehave.

* Reachability check (used in "git prune" and friends) did not add a
detached HEAD as a starting point to traverse objects still in use.

* "git config --add section.var val" used to lose existing
section.var whose value was an empty string.

* "git fsck" failed to report that it found corrupt objects via its
exit status in some cases.
9 changes: 3 additions & 6 deletions Documentation/git-rebase.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
[<upstream>] [<branch>]
[<upstream> [<branch>]]
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
--root [<branch>]
'git rebase' --continue | --skip | --abort | --edit-todo
Expand Down Expand Up @@ -316,11 +316,8 @@ which makes little sense.

-f::
--force-rebase::
Force the rebase even if the current branch is a descendant
of the commit you are rebasing onto. Normally non-interactive rebase will
exit with the message "Current branch is up to date" in such a
situation.
Incompatible with the --interactive option.
Force a rebase even if the current branch is up-to-date and
the command without `--force` would return without doing anything.
+
You may find this (or --no-ff with an interactive rebase) helpful after
reverting a topic branch merge, as this option recreates the topic branch with
Expand Down
13 changes: 12 additions & 1 deletion Documentation/git-send-pack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ OPTIONS
Instead of explicitly specifying which refs to update,
update all heads that locally exist.

--stdin::
Take the list of refs from stdin, one per line. If there
are refs specified on the command line in addition to this
option, then the refs from stdin are processed after those
on the command line.
+
If '--stateless-rpc' is specified together with this option then
the list of refs must be in packet format (pkt-line). Each ref must
be in a separate packet, and the list must end with a flush packet.

--dry-run::
Do everything except actually send the updates.

Expand Down Expand Up @@ -77,7 +87,8 @@ this flag.
Without '--all' and without any '<ref>', the heads that exist
both on the local side and on the remote side are updated.

When one or more '<ref>' are specified explicitly, it can be either a
When one or more '<ref>' are specified explicitly (whether on the
command line or via `--stdin`), it can be either a
single pattern, or a pair of such pattern separated by a colon
":" (this means that a ref name cannot have a colon in it). A
single pattern '<name>' is just a shorthand for '<name>:<name>'.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-tag.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ committer identity for the current user is used to find the
GnuPG key for signing. The configuration variable `gpg.program`
is used to specify custom GnuPG binary.

Tag objects (created with `-a`, `s`, or `-u`) are called "annotated"
Tag objects (created with `-a`, `-s`, or `-u`) are called "annotated"
tags; they contain a creation date, the tagger name and e-mail, a
tagging message, and an optional GnuPG signature. Whereas a
"lightweight" tag is simply a name for an object (usually a commit
Expand Down
9 changes: 8 additions & 1 deletion Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,11 @@ unreleased) version of Git, that is available from the 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:

* link:v2.1.0/git.html[documentation for release 2.1]
* link:v2.1.2/git.html[documentation for release 2.1.2]

* release notes for
link:RelNotes/2.1.2.txt[2.1.2],
link:RelNotes/2.1.1.txt[2.1.1],
link:RelNotes/2.1.0.txt[2.1].

* link:v2.0.4/git.html[documentation for release 2.0.4]
Expand Down Expand Up @@ -452,6 +454,11 @@ example the following invocations are equivalent:
given will override values from configuration files.
The <name> is expected in the same format as listed by
'git config' (subkeys separated by dots).
+
Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets
`foo.bar` to the boolean true value (just like `[foo]bar` would in a
config file). Including the equals but with an empty value (like `git -c
foo.bar= ...`) sets `foo.bar` to the empty string.

--exec-path[=<path>]::
Path to wherever your core Git programs are installed.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/technical/pack-protocol.txt
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ references.
----
update-request = *shallow command-list [pack-file]

shallow = PKT-LINE("shallow" SP obj-id)
shallow = PKT-LINE("shallow" SP obj-id LF)

command-list = PKT-LINE(command NUL capability-list LF)
*PKT-LINE(command LF)
Expand Down
2 changes: 1 addition & 1 deletion GIT-VERSION-GEN
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

GVF=GIT-VERSION-FILE
DEF_VER=v2.1.0
DEF_VER=v2.1.2

LF='
'
Expand Down
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1660,7 +1660,11 @@ endif
profile:: profile-clean
$(MAKE) PROFILE=GEN all
$(MAKE) PROFILE=GEN -j1 test
$(MAKE) PROFILE=GEN -j1 perf
@if test -n "$$GIT_PERF_REPO" || test -d .git; then \
$(MAKE) PROFILE=GEN -j1 perf; \
else \
echo "Skipping profile of perf tests..."; \
fi
$(MAKE) PROFILE=USE all

profile-fast: profile-clean
Expand Down
2 changes: 1 addition & 1 deletion RelNotes
131 changes: 68 additions & 63 deletions builtin/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -1920,6 +1920,66 @@ static int parse_binary(char *buffer, unsigned long size, struct patch *patch)
return used;
}

static void prefix_one(char **name)
{
char *old_name = *name;
if (!old_name)
return;
*name = xstrdup(prefix_filename(prefix, prefix_length, *name));
free(old_name);
}

static void prefix_patch(struct patch *p)
{
if (!prefix || p->is_toplevel_relative)
return;
prefix_one(&p->new_name);
prefix_one(&p->old_name);
}

/*
* include/exclude
*/

static struct string_list limit_by_name;
static int has_include;
static void add_name_limit(const char *name, int exclude)
{
struct string_list_item *it;

it = string_list_append(&limit_by_name, name);
it->util = exclude ? NULL : (void *) 1;
}

static int use_patch(struct patch *p)
{
const char *pathname = p->new_name ? p->new_name : p->old_name;
int i;

/* Paths outside are not touched regardless of "--include" */
if (0 < prefix_length) {
int pathlen = strlen(pathname);
if (pathlen <= prefix_length ||
memcmp(prefix, pathname, prefix_length))
return 0;
}

/* See if it matches any of exclude/include rule */
for (i = 0; i < limit_by_name.nr; i++) {
struct string_list_item *it = &limit_by_name.items[i];
if (!wildmatch(it->string, pathname, 0, NULL))
return (it->util != NULL);
}

/*
* If we had any include, a path that does not match any rule is
* not used. Otherwise, we saw bunch of exclude rules (or none)
* and such a path is used.
*/
return !has_include;
}


/*
* Read the patch text in "buffer" that extends for "size" bytes; stop
* reading after seeing a single patch (i.e. changes to a single file).
Expand All @@ -1935,9 +1995,14 @@ static int parse_chunk(char *buffer, unsigned long size, struct patch *patch)
if (offset < 0)
return offset;

patch->ws_rule = whitespace_rule(patch->new_name
? patch->new_name
: patch->old_name);
prefix_patch(patch);

if (!use_patch(patch))
patch->ws_rule = 0;
else
patch->ws_rule = whitespace_rule(patch->new_name
? patch->new_name
: patch->old_name);

patchsize = parse_single_patch(buffer + offset + hdrsize,
size - offset - hdrsize, patch);
Expand Down Expand Up @@ -4127,64 +4192,6 @@ static int write_out_results(struct patch *list)

static struct lock_file lock_file;

static struct string_list limit_by_name;
static int has_include;
static void add_name_limit(const char *name, int exclude)
{
struct string_list_item *it;

it = string_list_append(&limit_by_name, name);
it->util = exclude ? NULL : (void *) 1;
}

static int use_patch(struct patch *p)
{
const char *pathname = p->new_name ? p->new_name : p->old_name;
int i;

/* Paths outside are not touched regardless of "--include" */
if (0 < prefix_length) {
int pathlen = strlen(pathname);
if (pathlen <= prefix_length ||
memcmp(prefix, pathname, prefix_length))
return 0;
}

/* See if it matches any of exclude/include rule */
for (i = 0; i < limit_by_name.nr; i++) {
struct string_list_item *it = &limit_by_name.items[i];
if (!wildmatch(it->string, pathname, 0, NULL))
return (it->util != NULL);
}

/*
* If we had any include, a path that does not match any rule is
* not used. Otherwise, we saw bunch of exclude rules (or none)
* and such a path is used.
*/
return !has_include;
}


static void prefix_one(char **name)
{
char *old_name = *name;
if (!old_name)
return;
*name = xstrdup(prefix_filename(prefix, prefix_length, *name));
free(old_name);
}

static void prefix_patches(struct patch *p)
{
if (!prefix || p->is_toplevel_relative)
return;
for ( ; p; p = p->next) {
prefix_one(&p->new_name);
prefix_one(&p->old_name);
}
}

#define INACCURATE_EOF (1<<0)
#define RECOUNT (1<<1)

Expand All @@ -4210,8 +4217,6 @@ static int apply_patch(int fd, const char *filename, int options)
break;
if (apply_in_reverse)
reverse_patches(patch);
if (prefix)
prefix_patches(patch);
if (use_patch(patch)) {
patch_stats(patch);
*listp = patch;
Expand Down
3 changes: 2 additions & 1 deletion builtin/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
check_argc(argc, 2, 2);
value = normalize_value(argv[0], argv[1]);
return git_config_set_multivar_in_file(given_config_source.file,
argv[0], value, "^$", 0);
argv[0], value,
CONFIG_REGEX_NONE, 0);
}
else if (actions == ACTION_REPLACE_ALL) {
check_write();
Expand Down
10 changes: 6 additions & 4 deletions builtin/fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -1110,9 +1110,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
struct string_list list = STRING_LIST_INIT_NODUP;
struct remote *remote;
int result = 0;
static const char *argv_gc_auto[] = {
"gc", "--auto", NULL,
};
struct argv_array argv_gc_auto = ARGV_ARRAY_INIT;

packet_trace_identity("fetch");

Expand Down Expand Up @@ -1198,7 +1196,11 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
list.strdup_strings = 1;
string_list_clear(&list, 0);

run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
if (verbosity < 0)
argv_array_push(&argv_gc_auto, "--quiet");
run_command_v_opt(argv_gc_auto.argv, RUN_GIT_CMD);
argv_array_clear(&argv_gc_auto);

return result;
}
Loading