What's cooking (2013/09 #02)

Junio C Hamano committed Sep 9, 2013 at 15:33 UTC 188f62fcae648718a1ea293a1aa09f0fdadbcf29
1 file changed +903 -851
whats-cooking.txt
+903 -851
@@ -1,35 +1,17 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2013, #01; Tue, 3)
4 -X-master-at: 0a41de8f81d8fa39fa17943cd1ed5e0274fef187
5 -X-next-at: 91af5188d5bdbdf006c601a997f25c618050dcee
3 +Subject: What's cooking in git.git (Sep 2013, #02; Mon, 9)
4 +X-master-at: bb80ee09974667a1db6bbc5e33574ed869b76a88
5 +X-next-at: 117d2e3ab92364a7d246c98cc5b71f2b751600e6
6
7 -What's cooking in git.git (Sep 2013, #01; Tue, 3)
7 +What's cooking in git.git (Sep 2013, #02; Mon, 9)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -The tip of 'next' has been rewound. I ejected a handful of topics
15 -that have been cooking there while rebuilding it, but it is not
16 -because I found anything in them problematic, but merely because
17 -they were young and I wanted to give their authors a chance to tweak
18 -with a reroll instead of a set of follow-up patches. Unless I hear
19 -otherwise in a few days, they will be merged back to 'next'.
20 -
21 -By the way, the push that overrides the usual "must fast-forward"
22 -was done using the "force-with-lease" option that has been cooking
23 -in next, like so:
24 -
25 - $ git fetch ko next
26 - $ anchor=$(git rev-parse --verify FETCH_HEAD)
27 - $ for remote in ko repo gph github2
28 - do
29 - git push --force-with-lease=refs/heads/next:$anchor $remote next
30 - done
31 -
32 -I used to do this with just --force.
14 +The second batch of topics are now in 'master'.
15
16 You can find the changes described here in the integration branches
17 of the repositories listed at
@@ -39,392 +21,469 @@ of the repositories listed at
21 --------------------------------------------------
22 [Graduated to "master"]
23
42 -* bc/completion-for-bash-3.0 (2013-08-22) 3 commits
43 - (merged to 'next' on 2013-08-28 at fb87a84)
44 - + contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
45 - + t9902-completion.sh: old Bash still does not support array+=('') notation
46 - + git-completion.bash: use correct Bash/Zsh array length syntax
47 -
48 - Originally merged to 'next' on 2013-08-22
49 -
50 - Some people still use rather old versions of bash, which cannot
51 - grok some constructs like 'printf -v varname' the prompt and
52 - completion code started to use recently.
24 +* aj/p4-symlink-lose-nl (2013-08-12) 1 commit
25 + (merged to 'next' on 2013-08-28 at 5ce9ceb)
26 + + git-p4: Fix occasional truncation of symlink contents.
27
28 + Originally merged to 'next' on 2013-08-14
29
55 -* hv/config-from-blob (2013-08-26) 1 commit
56 - (merged to 'next' on 2013-08-28 at 189c6c1)
57 - + config: do not use C function names as struct members
30
59 - Portability fix.
31 +* ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit
32 + (merged to 'next' on 2013-08-28 at 9bfc430)
33 + + remote-hg: fix path when cloning with tilde expansion
34
61 - Need to apply to 1.8.4.x maintenance track.
35 + Originally merged to 'next' on 2013-08-14
36
37
64 -* mb/docs-favor-en-us (2013-08-01) 1 commit
65 - (merged to 'next' on 2013-08-28 at 82910e5)
66 - + Provide some linguistic guidance for the documentation.
38 +* bc/unuse-packfile (2013-08-02) 2 commits
39 + (merged to 'next' on 2013-08-28 at 9029801)
40 + + Don't close pack fd when free'ing pack windows
41 + + sha1_file: introduce close_one_pack() to close packs on fd pressure
42
43 Originally merged to 'next' on 2013-08-06
44
70 - Declare that the official grammar & spelling of the source of this
71 - project is en_US, but strongly discourage patches only to "fix"
72 - existing en_UK strings to avoid unnecessary churns.
45 + Handle memory pressure and file descriptor pressure separately when
46 + deciding to release pack windows to honor resource limits.
47
48
75 -* mm/war-on-whatchanged (2013-08-13) 2 commits
76 - (merged to 'next' on 2013-08-28 at 25e9c18)
77 - + whatchanged: document its historical nature
78 - + core-tutorial: trim the section on Inspecting Changes
49 +* da/darwin (2013-08-05) 3 commits
50 + (merged to 'next' on 2013-08-28 at 6e4c5ae)
51 + + OS X: Fix redeclaration of die warning
52 + + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
53 + + imap-send: use Apple's Security framework for base64 encoding
54
80 - Originally merged to 'next' on 2013-08-14
55 + Originally merged to 'next' on 2013-08-05
56
57
83 -* nd/fetch-pack-shallow-fix (2013-08-25) 1 commit
84 - (merged to 'next' on 2013-08-28 at 6f5ed42)
85 - + fetch-pack: do not remove .git/shallow file when --depth is not specified
58 +* db/http-savecookies (2013-08-05) 2 commits
59 + (merged to 'next' on 2013-08-28 at 22a8464)
60 + + t5551: Remove header from curl cookie file
61 + + http: add http.savecookies option to write out HTTP cookies
62
87 - Originally merged to 'next' on 2013-08-27
63 + Originally merged to 'next' on 2013-08-05
64
89 - Recent "short-cut clone connectivity check" topic broke a shallow
90 - repository when a fetch operation tries to auto-follow tags.
65
92 - Need to apply to 1.8.4.x maintenance track.
66 +* es/blame-L-more (2013-08-05) 11 commits
67 + (merged to 'next' on 2013-08-28 at b73cdc9)
68 + + blame: reject empty ranges -L,+0 and -L,-0
69 + + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
70 + + blame: reject empty ranges -LX,+0 and -LX,-0
71 + + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
72 + + log: fix -L bounds checking bug
73 + + t4211: retire soon-to-be unimplementable tests
74 + + t4211: log: demonstrate -L bounds checking bug
75 + + blame: fix -L bounds checking bug
76 + + t8001/t8002: blame: add empty file & partial-line tests
77 + + t8001/t8002: blame: demonstrate -L bounds checking bug
78 + + t8001/t8002: blame: decompose overly-large test
79 + (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)
80
81 + Originally merged to 'next' on 2013-08-06
82
95 -* rj/doc-rev-parse (2013-07-22) 2 commits
96 - (merged to 'next' on 2013-08-28 at 0fce928)
97 - + rev-parse(1): logically group options
98 - + rev-parse: remove restrictions on some options
83 + More fixes to the code to parse the "-L" option in "log" and "blame".
84
100 - Originally merged to 'next' on 2013-07-22
85
86 +* es/blame-L-twice (2013-08-06) 16 commits
87 + (merged to 'next' on 2013-08-28 at e83ae2e)
88 + + line-range: reject -L line numbers less than 1
89 + + t8001/t8002: blame: add tests of -L line numbers less than 1
90 + + line-range: teach -L^:RE to search from start of file
91 + + line-range: teach -L:RE to search from end of previous -L range
92 + + line-range: teach -L^/RE/ to search from start of file
93 + + line-range-format.txt: document -L/RE/ relative search
94 + + log: teach -L/RE/ to search from end of previous -L range
95 + + blame: teach -L/RE/ to search from end of previous -L range
96 + + line-range: teach -L/RE/ to search relative to anchor point
97 + + blame: document multiple -L support
98 + + t8001/t8002: blame: add tests of multiple -L options
99 + + blame: accept multiple -L ranges
100 + + blame: inline one-line function into its lone caller
101 + + range-set: publish API for re-use by git-blame -L
102 + + line-range-format.txt: clarify -L:regex usage form
103 + + git-log.txt: place each -L option variation on its own line
104 + (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)
105
103 -* rt/doc-merge-file-diff3 (2013-08-09) 1 commit
104 - (merged to 'next' on 2013-08-28 at d6b8006)
105 - + Documentation/git-merge-file: document option "--diff3"
106 + Originally merged to 'next' on 2013-08-08
107
107 - Originally merged to 'next' on 2013-08-14
108 + Teaches "git blame" to take more than one -L ranges.
109
110
110 -* sp/doc-smart-http (2013-08-21) 1 commit
111 - (merged to 'next' on 2013-08-28 at 20a6877)
112 - + Document the HTTP transport protocols
111 +* es/contacts-blame-L-multi (2013-08-13) 3 commits
112 + (merged to 'next' on 2013-08-28 at 24ff8b4)
113 + + contacts: reduce git-blame invocations
114 + + contacts: gather all blame sources prior to invoking git-blame
115 + + contacts: validate hunk length earlier
116 + (this branch uses es/blame-L-more and es/blame-L-twice.)
117
114 - Originally merged to 'next' on 2013-08-22
118 + Originally merged to 'next' on 2013-08-14
119
116 ---------------------------------------------------
117 -[New Topics]
120
119 -* fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
120 - - contrib/remote-helpers: quote variable references in redirection targets
121 - - contrib/remote-helpers: style updates for test scripts
122 - - remote-hg: use notes to keep track of Hg revisions
123 - - remote-helpers: cleanup more global variables
124 - - remote-helpers: trivial style fixes
125 - - remote-hg: improve basic test
126 - - remote-hg: add missing &&s in the test
127 - - remote-hg: fix test
128 - - remote-bzr: make bzr branches configurable per-repo
129 - - remote-bzr: fix export of utf-8 authors
121 +* fc/remote-hg-shared-setup (2013-08-11) 2 commits
122 + (merged to 'next' on 2013-08-28 at 41ee3fe)
123 + + remote-hg: add shared repo upgrade
124 + + remote-hg: ensure shared repo is initialized
125
131 - Will merge to 'next'.
126 + Originally merged to 'next' on 2013-08-14
127
128
134 -* jc/pager-configuration-doc (2013-08-29) 1 commit
135 - - config: rewrite core.pager documentation
129 +* fc/unpack-trees-leakfix (2013-08-13) 1 commit
130 + (merged to 'next' on 2013-08-28 at 3ad1f21)
131 + + unpack-trees: plug a memory leak
132
137 - Will merge to 'next'.
133 + Originally merged to 'next' on 2013-08-14
134
135
140 -* np/pack-v4 (2013-09-03) 24 commits
141 - - Document pack v4 format
142 - - initial pack index v3 support on the read side
143 - - pack v4: add progress display
144 - - pack v4: normalize pack name to properly generate the pack index file name
145 - - pack index v3
146 - - pack v4: relax commit parsing a bit
147 - - pack v4: honor pack.compression config option
148 - - pack v4: load delta candidate for encoding tree objects
149 - - pack v4: tree object delta encoding
150 - - pack v4: object writing
151 - - pack v4: object data copy
152 - - pack v4: object headers
153 - - pack v4: creation code
154 - - pack v4: dictionary table output
155 - - pack v4: tree object encoding
156 - - pack v4: commit object encoding
157 - - pack v4: basic references encoding
158 - - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry
159 - - pack v4: split the object list and dictionary creation
160 - - pack v4: add commit object parsing
161 - - pack v4: add tree entry mode support to dictionary entries
162 - - pack v4: scan tree objects
163 - - export packed_object_info()
164 - - pack v4: initial pack dictionary structure and code
136 +* jc/check-x-z (2013-07-11) 4 commits
137 + (merged to 'next' on 2013-08-28 at a7670ce)
138 + + check-attr -z: a single -z should apply to both input and output
139 + + check-ignore -z: a single -z should apply to both input and output
140 + + check-attr: the name of the character is NUL, not NULL
141 + + check-ignore: the name of the character is NUL, not NULL
142
143 + Originally merged to 'next' on 2013-07-15
144
167 -* jk/free-tree-buffer (2013-06-06) 1 commit
168 - - clear parsed flag when we free tree buffers
145 + "git check-ignore -z" applied the NUL termination to both its input
146 + (with --stdin) and its output, but "git check-attr -z" ignored the
147 + option on the output side.
148
170 - Will merge to 'next'.
149 + This is potentially a backward incompatible fix. Let's see if
150 + anybody screams before deciding if we want to do anything to help
151 + existing users (there may be none).
152
153
173 -* jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
174 - - has_sha1_file: re-check pack directory before giving up
154 +* jc/diff-filter-negation (2013-07-19) 6 commits
155 + (merged to 'next' on 2013-08-28 at 5cc7720)
156 + + diff: deprecate -q option to diff-files
157 + + diff: allow lowercase letter to specify what change class to exclude
158 + + diff: reject unknown change class given to --diff-filter
159 + + diff: preparse --diff-filter string argument
160 + + diff: factor out match_filter()
161 + + diff: pass the whole diff_options to diffcore_apply_filter()
162 + (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)
163
176 - Will merge to 'next'.
164 + Originally merged to 'next' on 2013-07-22
165
166 + Teach "git diff --diff-filter" to express "I do not want to see
167 + these classes of changes" more directly by listing only the
168 + unwanted ones in lowercase (e.g. "--diff-filter=d" will show
169 + everything but deletion) and deprecate "diff-files -q" which did
170 + the same thing as "--diff-filter=d".
171
179 -* ab/gitweb-author-initials (2013-08-30) 1 commit
180 - - gitweb: Fix the author initials in blame for non-ASCII names
172
182 - Will merge to 'next'.
173 +* jc/parseopt-command-modes (2013-07-30) 2 commits
174 + (merged to 'next' on 2013-08-28 at 738b399)
175 + + tag: use OPT_CMDMODE
176 + + parse-options: add OPT_CMDMODE()
177 + (this branch is used by sb/parseopt-boolean-removal.)
178
179 + Many commands use --dashed-option as a operation mode selector
180 + (e.g. "git tag --delete") that the user can use at most one
181 + (e.g. "git tag --delete --verify" is a nonsense) and you cannot
182 + negate (e.g. "git tag --no-delete" is a nonsense). Make it easier
183 + for users of parse_options() to enforce these restrictions.
184
185 -* bk/refs-multi-update (2013-08-30) 8 commits
186 - - update-ref: add test cases covering --stdin signature
187 - - update-ref: support multiple simultaneous updates
188 - - refs: add update_refs for multiple simultaneous updates
189 - - refs: add function to repack without multiple refs
190 - - refs: factor delete_ref loose ref step into a helper
191 - - refs: factor update_ref steps into helpers
192 - - refs: report ref type from lock_any_ref_for_update
193 - - reset: rename update_refs to reset_refs
185
186 +* jc/push-cas (2013-08-02) 9 commits
187 + (merged to 'next' on 2013-08-28 at 784281f)
188 + + push: teach --force-with-lease to smart-http transport
189 + + send-pack: fix parsing of --force-with-lease option
190 + + t5540/5541: smart-http does not support "--force-with-lease"
191 + + t5533: test "push --force-with-lease"
192 + + push --force-with-lease: tie it all together
193 + + push --force-with-lease: implement logic to populate old_sha1_expect[]
194 + + remote.c: add command line option parser for "--force-with-lease"
195 + + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
196 + + cache.h: move remote/connect API out of it
197
196 -* fc/at-head (2013-09-03) 2 commits
197 - - Add new @ shortcut for HEAD
198 - - sha1-name: pass len argument to interpret_branch_name()
198 + Originally merged to 'next' on 2013-08-05
199
200 - Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
201 - a genuine code improvement, but identifying cases where "@" means
202 - HEAD seems to be harder than it seems---the tip one does not yet
203 - get it right.
200 + Allow a safer "rewind of the remote tip" push than blind "--force",
201 + by requiring that the overwritten remote ref to be unchanged since
202 + the new history to replace it was prepared.
203
204 + The machinery is more or less ready. The "--force" option is again
205 + the big red button to override any safety, thanks to J6t's sanity
206 + (the original round allowed --lockref to defeat --force).
207
206 -* fc/fast-export (2013-09-03) 2 commits
207 - - fast-export: refactor get_tags_and_duplicates()
208 - - fast-export: make extra_refs global
208 + The logic to choose the default implemented here is fragile
209 + (e.g. "git fetch" after seeing a failure will update the
210 + remote-tracking branch and will make the next "push" pass,
211 + defeating the safety pretty easily). It is suitable only for the
212 + simplest workflows, and it may hurt users more than it helps them.
213
210 - Code simpification.
214
212 - Will merge to 'next'.
215 +* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits
216 + (merged to 'next' on 2013-08-29 at f88a6da)
217 + + builtin/fetch.c: Fix a sparse warning
218 + (merged to 'next' on 2013-08-28 at 2ed86df)
219 + + fetch: work around "transport-take-over" hack
220 + + fetch: refactor code that fetches leftover tags
221 + + fetch: refactor code that prepares a transport
222 + + fetch: rename file-scope global "transport" to "gtransport"
223 + + t5802: add test for connect helper
224
225 + Originally merged to 'next' on 2013-08-20
226
215 -* fc/rev-parse-test-updates (2013-09-03) 4 commits
216 - - rev-parse test: use standard test functions for setup
217 - - rev-parse test: use test_cmp instead of "test" builtin
218 - - rev-parse test: use test_must_fail, not "if <command>; then false; fi"
219 - - rev-parse test: modernize quoting and whitespace
227 + The auto-tag-following code in "git fetch" tries to reuse the same
228 + transport twice when the serving end does not cooperate and does
229 + not give tags that point to commits that are asked for as part of
230 + the primary transfer. Unfortunately, Git-aware transport helper
231 + interface is not designed to be used more than once, hence this
232 + does not work over smart-http transfer.
233
221 - Modernize tests.
234
223 - Will merge to 'next'.
235 +* jc/url-match (2013-08-09) 7 commits
236 + (merged to 'next' on 2013-08-28 at 2a9fd23)
237 + + builtin/config.c: compilation fix
238 + + config: "git config --get-urlmatch" parses section.<url>.key
239 + + builtin/config: refactor collect_config()
240 + + config: parse http.<url>.<variable> using urlmatch
241 + + config: add generic callback wrapper to parse section.<url>.key
242 + + config: add helper to normalize and match URLs
243 + + http.c: fix parsing of http.sslCertPasswordProtected variable
244
245 + Originally merged to 'next' on 2013-08-12
246
226 -* fc/t3200-fixes (2013-09-03) 3 commits
227 - - t: branch: fix broken && chains
228 - - t: branch: fix typo
229 - - t: branch: trivial style fix
247 + Allow section.<urlpattern>.var configuration variables to be
248 + treated as a "virtual" section.var given a URL, and use the
249 + mechanism to enhance http.* configuration variables.
250
231 - Will merge to 'next'.
251 + This is a reroll of Kyle J. McKay's work.
252
253
234 -* fc/trivial (2013-09-03) 5 commits
235 - - branch: use $curr_branch_short more
236 - - add: trivial style cleanup
237 - - reset: trivial style cleanup
238 - - branch: trivial style fix
239 - - reset: trivial refactoring
254 +* jk/cat-file-batch-optim (2013-08-05) 1 commit
255 + (merged to 'next' on 2013-08-28 at 624e60d)
256 + + cat-file: only split on whitespace when %(rest) is used
257
241 - Will merge to 'next'.
258 + Originally merged to 'next' on 2013-08-06
259
260 + Rework the reverted change to `cat-file --batch-check`.
261
244 -* jc/ref-excludes (2013-09-03) 2 commits
245 - - document --exclude option
246 - - revision: introduce --exclude=<glob> to tame wildcards
262
263 +* jk/fast-import-empty-ls (2013-06-23) 4 commits
264 + (merged to 'next' on 2013-08-28 at 876a39d)
265 + + fast-import: allow moving the root tree
266 + + fast-import: allow ls or filecopy of the root tree
267 + + fast-import: set valid mode on root tree in "ls"
268 + + t9300: document fast-import empty path issues
269
249 -* jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
250 - - pager: turn on "cat" optimization for DEFAULT_PAGER
270 + Originally merged to 'next' on 2013-07-22
271
252 - If a build-time fallback is set to "cat" instead of "less", we
253 - should apply the same "no subprocess or pipe" optimization as we
254 - apply to user-supplied GIT_PAGER=cat.
272
256 - Will merge to 'next'.
273 +* jk/mailmap-incomplete-line (2013-08-28) 1 commit
274 + (merged to 'next' on 2013-09-04 at e77e887)
275 + + mailmap: handle mailmap blobs without trailing newlines
276
277 + Will merge later to 'maint'.
278
259 -* nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
260 - - Make setup_git_env() resolve .git file when $GIT_DIR is not specified
279
262 - We made sure that we notice the user-supplied GIT_DIR is actually a
263 - gitfile, but failed to do so when the default ".git" is a gitfile.
280 +* jl/some-submodule-config-are-not-boolean (2013-08-19) 1 commit
281 + (merged to 'next' on 2013-08-28 at 7fabc3e)
282 + + avoid segfault on submodule.*.path set to an empty "true"
283
265 - Will merge to 'next'.
284 + Originally merged to 'next' on 2013-08-20
285
286
268 -* nr/git-cd-to-a-directory (2013-09-03) 1 commit
269 - - git: run in a directory given with -C option
287 +* jl/submodule-mv (2013-08-06) 5 commits
288 + (merged to 'next' on 2013-08-28 at 4ec6b41)
289 + + rm: delete .gitmodules entry of submodules removed from the work tree
290 + + mv: update the path entry in .gitmodules for moved submodules
291 + + submodule.c: add .gitmodules staging helper functions
292 + + mv: move submodules using a gitfile
293 + + mv: move submodules together with their work trees
294 + (this branch is tangled with nd/magic-pathspec.)
295
271 - Just like "make -C <directory>", make "git -C <directory> ..." to
272 - go there before doing anything else.
296 + Originally merged to 'next' on 2013-08-08
297
298 + "git mv A B" when moving a submodule A does "the right thing",
299 + inclusing relocating its working tree and adjusting the paths in
300 + the .gitmodules file.
301
275 -* rh/peeling-tag-to-tag (2013-09-03) 2 commits
276 - - peel_onion: do not assume length of x_type globals
277 - - peel_onion(): add support for <rev>^{tag}
302
279 - Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
280 - "foo" is not a tag.
303 +* km/svn-1.8-serf-only (2013-07-18) 3 commits
304 + (merged to 'next' on 2013-08-28 at 1119134)
305 + + Git.pm: revert _temp_cache use of temp_is_locked
306 + + git-svn: allow git-svn fetching to work using serf
307 + + Git.pm: add new temp_is_locked function
308
282 ---------------------------------------------------
283 -[Stalled]
309 + Originally merged to 'next' on 2013-07-19
310
285 -* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
286 - - git-send-email: Cache generated message-ids, use them when prompting
287 - - git-send-email: add optional 'choices' parameter to the ask sub
311 + Subversion 1.8.0 that was recently released breaks older subversion
312 + clients coming over http/https in various ways.
313
314
290 -* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
291 - - ### DONTMERGE: needs better explanation on what config they need
292 - - pack-refs.c: Add missing call to git_config()
293 - - show-ref.c: Add missing call to git_config()
315 +* mm/no-shell-escape-in-die-message (2013-08-07) 1 commit
316 + (merged to 'next' on 2013-08-28 at 86b300f)
317 + + die_with_status: use "printf '%s\n'", not "echo"
318
295 - The changes themselves are probably good, but it is unclear what
296 - basic setting needs to be read for which exact operation.
319 + Originally merged to 'next' on 2013-08-08
320
298 - Waiting for clarification.
299 - $gmane/228294
321 + Fixes a minor bug in "git rebase -i" (there could be others, as the
322 + root cause is pretty generic) where the code feeds a random, data
323 + dependeant string to 'echo' and expects it to come out literally.
324
325
302 -* jh/shorten-refname (2013-05-07) 4 commits
303 - - t1514: refname shortening is done after dereferencing symbolic refs
304 - - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
305 - - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
306 - - t1514: Add tests of shortening refnames in strict/loose mode
326 +* ms/fetch-prune-configuration (2013-07-18) 1 commit
327 + (merged to 'next' on 2013-08-28 at fa6ffc7)
328 + + fetch: make --prune configurable
329
308 - When remotes/origin/HEAD is not a symbolic ref, "rev-parse
309 - --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
310 - "origin/HEAD", which is fixed with this series (if it is a symbolic
311 - ref that points at remotes/origin/something, then it should show
312 - "origin/something" and it already does).
330 + Originally merged to 'next' on 2013-07-21
331
314 - Expecting a reroll, as an early part of a larger series.
315 - $gmane/225137
332 + Allow fetch.prune and remote.*.prune configuration variables to be set,
333 + and "git fetch" to behave as if "--prune" is given.
334
335 + "git fetch" that honors remote.*.prune is fine, but I wonder if we
336 + should somehow make "git push" aware of it as well. Perhaps
337 + remote.*.prune should not be just a boolean, but a 4-way "none",
338 + "push", "fetch", "both"?
339
318 -* mg/more-textconv (2013-05-10) 7 commits
319 - - grep: honor --textconv for the case rev:path
320 - - grep: allow to use textconv filters
321 - - t7008: demonstrate behavior of grep with textconv
322 - - cat-file: do not die on --textconv without textconv filters
323 - - show: honor --textconv for blobs
324 - - diff_opt: track whether flags have been set explicitly
325 - - t4030: demonstrate behavior of show with textconv
340
327 - Make "git grep" and "git show" pay attention to --textconv when
328 - dealing with blob objects.
341 +* nd/clone-connectivity-shortcut (2013-07-23) 1 commit
342 + (merged to 'next' on 2013-08-28 at d227f9f)
343 + + smart http: use the same connectivity check on cloning
344
330 - I thought this was pretty well designed and executed, but it seems
331 - there are some doubts on the list; kicked back to 'pu'.
345 + Originally merged to 'next' on 2013-07-30
346
347
334 -* jc/format-patch (2013-04-22) 2 commits
335 - - format-patch: --inline-single
336 - - format-patch: rename "no_inline" field
348 +* nd/gc-lock-against-each-other (2013-08-09) 1 commit
349 + (merged to 'next' on 2013-08-28 at 46e072b)
350 + + gc: reject if another gc is running, unless --force is given
351
338 - A new option to send a single patch to the standard output to be
339 - appended at the bottom of a message. I personally have no need for
340 - this, but it was easy enough to cobble together. Tests, docs and
341 - stripping out more MIMEy stuff are left as exercises to interested
342 - parties.
352 + Originally merged to 'next' on 2013-08-14
353
344 - Not ready for inclusion.
354
346 - Will discard unless we hear from anybody who is interested in
347 - tying its loose ends.
355 +* nd/magic-pathspec (2013-09-05) 50 commits
356 + (merged to 'next' on 2013-09-05 at b832b8d)
357 + + add: lift the pathspec magic restriction on "add -p"
358 + + pathspec: catch prepending :(prefix) on pathspec with short magic
359 + (merged to 'next' on 2013-08-28 at 305c6e9)
360 + + rm: do not set a variable twice without intermediate reading.
361 + + t6131 - skip tests if on case-insensitive file system
362 + + parse_pathspec: accept :(icase)path syntax
363 + + pathspec: support :(glob) syntax
364 + + pathspec: make --literal-pathspecs disable pathspec magic
365 + + pathspec: support :(literal) syntax for noglob pathspec
366 + + kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
367 + + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
368 + + parse_pathspec: make sure the prefix part is wildcard-free
369 + + rename field "raw" to "_raw" in struct pathspec
370 + + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
371 + + remove match_pathspec() in favor of match_pathspec_depth()
372 + + remove init_pathspec() in favor of parse_pathspec()
373 + + remove diff_tree_{setup,release}_paths
374 + + convert common_prefix() to use struct pathspec
375 + + convert add_files_to_cache to take struct pathspec
376 + + convert {read,fill}_directory to take struct pathspec
377 + + convert refresh_index to take struct pathspec
378 + + convert report_path_error to take struct pathspec
379 + + checkout: convert read_tree_some to take struct pathspec
380 + + convert unmerge_cache to take struct pathspec
381 + + convert run_add_interactive to use struct pathspec
382 + + convert read_cache_preload() to take struct pathspec
383 + + line-log: convert to use parse_pathspec
384 + + reset: convert to use parse_pathspec
385 + + add: convert to use parse_pathspec
386 + + check-ignore: convert to use parse_pathspec
387 + + archive: convert to use parse_pathspec
388 + + ls-files: convert to use parse_pathspec
389 + + rm: convert to use parse_pathspec
390 + + checkout: convert to use parse_pathspec
391 + + rerere: convert to use parse_pathspec
392 + + status: convert to use parse_pathspec
393 + + commit: convert to use parse_pathspec
394 + + clean: convert to use parse_pathspec
395 + + guard against new pathspec magic in pathspec matching code
396 + + parse_pathspec: support prefixing original patterns
397 + + parse_pathspec: support stripping/checking submodule paths
398 + + parse_pathspec: support stripping submodule trailing slashes
399 + + parse_pathspec: add special flag for max_depth feature
400 + + convert some get_pathspec() calls to parse_pathspec()
401 + + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
402 + + parse_pathspec: save original pathspec for reporting
403 + + add parse_pathspec() that converts cmdline args to struct pathspec
404 + + pathspec: add copy_pathspec
405 + + pathspec: i18n-ize error strings in pathspec parsing code
406 + + move struct pathspec and related functions to pathspec.[ch]
407 + + clean: remove unused variable "seen"
408 + (this branch is tangled with jl/submodule-mv.)
409
410 + Originally merged to 'next' on 2013-07-23
411
350 -* jk/gitweb-utf8 (2013-04-08) 4 commits
351 - - gitweb: Fix broken blob action parameters on blob/commitdiff pages
352 - - gitweb: Don't append ';js=(0|1)' to external links
353 - - gitweb: Make feed title valid utf8
354 - - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
412 + Use "struct pathspec" interface in more places, instead of array of
413 + characters, the latter of which cannot express magic pathspecs
414 + (e.g. ":(icase)makefile" that matches both Makefile and makefile).
415
356 - Various fixes to gitweb.
416
358 - Drew Northup volunteered to take a look into this.
359 - $gmane/226216
417 +* nd/sq-quote-buf (2013-07-30) 3 commits
418 + (merged to 'next' on 2013-08-28 at d0ffd55)
419 + + quote: remove sq_quote_print()
420 + + tar-tree: remove dependency on sq_quote_print()
421 + + for-each-ref, quote: convert *_quote_print -> *_quote_buf
422
423 + Originally merged to 'next' on 2013-08-01
424
362 -* jc/show-branch (2013-06-07) 5 commits
363 - - show-branch: use commit slab to represent bitflags of arbitrary width
364 - - show-branch.c: remove "all_mask"
365 - - show-branch.c: abstract out "flags" operation
366 - - show-branch.c: lift all_mask/all_revs to a global static
367 - - show-branch.c: update comment style
425 + Code simplification as a preparatory step to something larger.
426
369 - Waiting for the final step to lift the hard-limit before sending it out.
427
371 ---------------------------------------------------
372 -[Cooking]
428 +* rr/feed-real-path-to-editor (2013-07-29) 1 commit
429 + (merged to 'next' on 2013-08-28 at 7458fa4)
430 + + editor: use canonicalized absolute path
431
374 -* cc/replace-with-the-same-type (2013-08-27) 5 commits
375 - - Documentation/replace: add Creating Replacement Objects section
376 - - t6050-replace: add test to clean up all the replace refs
377 - - t6050-replace: test that objects are of the same type
378 - - Documentation/replace: state that objects must be of the same type
379 - - replace: forbid replacing an object with one of a different type
432 + Originally merged to 'next' on 2013-07-30
433
381 - Using the replace mechanism to swap an object with another object
382 - of a different type can introduce inconsistency (e.g. a tree
383 - expects an object name to refer to a blob, but the blob object can
384 - be mistakenly or maliciously replaced with an object with a
385 - different type). Attempt to forbid such.
434
387 - This may need to be given an escape hatch "--force", though.
435 +* sb/diff-delta-remove-needless-comparison (2013-08-18) 1 commit
436 + (merged to 'next' on 2013-08-28 at ba09c3f)
437 + + create_delta_index: simplify condition always evaluating to true
438
439 + Originally merged to 'next' on 2013-08-20
440
390 -* jx/clean-interactive (2013-08-28) 1 commit
391 - - documentation: clarify notes for clean.requireForce
441
393 - Finishing touches to update the document to adjust to a new option
394 - "git clean" learned recently.
442 +* sb/misc-cleanup (2013-08-09) 3 commits
443 + (merged to 'next' on 2013-08-28 at bc2045b)
444 + + rm: remove unneeded null pointer check
445 + + diff: fix a possible null pointer dereference
446 + + diff: remove ternary operator evaluating always to true
447
396 - Will merge to 'next'.
448 + Originally merged to 'next' on 2013-08-14
449
450
399 -* mm/status-without-comment-char (2013-08-29) 5 commits
400 - - status: introduce status.displayCommentChar to disable display of #
401 - - SQUASH: do not fprintf() random strings
402 - - get rid of "git submodule summary --for-status"
403 - - wt-status: use argv_array API
404 - - builtin/stripspace.c: fix broken indentation
451 +* sb/parseopt-boolean-removal (2013-08-07) 9 commits
452 + (merged to 'next' on 2013-08-28 at 2f3f21f)
453 + + revert: use the OPT_CMDMODE for parsing, reducing code
454 + + checkout-index: fix negations of even numbers of -n
455 + + config parsing options: allow one flag multiple times
456 + + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
457 + + branch, commit, name-rev: ease up boolean conditions
458 + + checkout: remove superfluous local variable
459 + + log, format-patch: parsing uses OPT__QUIET
460 + + Replace deprecated OPT_BOOLEAN by OPT_BOOL
461 + + Remove deprecated OPTION_BOOLEAN for parsing arguments
462 + (this branch uses jc/parseopt-command-modes.)
463
406 - Allow "git status" to omit the prefix to make its output a comment
407 - in a commit log editor, which is not necessary for human
408 - consumption.
464 + Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
465 + OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
466 + remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary.
467
468
411 -* js/xread-in-full (2013-08-20) 1 commit
412 - - stream_to_pack: xread does not guarantee to read all requested bytes
469 +* sg/bash-prompt-lf-in-cwd-test (2013-08-18) 1 commit
470 + (merged to 'next' on 2013-08-28 at eb449b5)
471 + + bash prompt: test the prompt with newline in repository path
472
473 Originally merged to 'next' on 2013-08-20
474
416 - A call to xread() was used without a loop around to cope with short
417 - read in the codepath to stream new contents to a pack.
418 -
419 - Will merge to 'next'.
420 -
475
422 -* sb/mailmap-freeing-NULL-is-ok (2013-08-20) 1 commit
423 - - mailmap: remove redundant check for freeing memory
476 +* sp/clip-read-write-to-8mb (2013-08-20) 2 commits
477 + (merged to 'next' on 2013-08-28 at c9840d7)
478 + + Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
479 + + xread, xwrite: limit size of IO to 8MB
480
425 - Originally merged to 'next' on 2013-08-20
481 + Originally merged to 'next' on 2013-08-22
482
427 - Will merge to 'next'.
483 + Send a large request to read(2)/write(2) as a smaller but still
484 + reasonably large chunks, which would improve the latency when the
485 + operation needs to be killed and incidentally works around broken
486 + 64-bit systems that cannot take a 2GB write or read in one go.
487
488
489 * tg/index-struct-sizes (2013-08-20) 1 commit
@@ -436,799 +495,828 @@ of the repositories listed at
495 The code that reads from a region that mmaps an on-disk index
496 assumed that "int"/"short" are always 32/16 bits.
497
439 - Will merge to 'master' in the second batch.
498
499 +* tr/fd-gotcha-fixes (2013-08-06) 1 commit
500 + (merged to 'next' on 2013-08-28 at 5305271)
501 + + t0070: test that git_mkstemps correctly checks return value of open()
502 +
503 + Originally merged to 'next' on 2013-08-08
504 +
505 + Finishing touches to an earlier fix already in 'master'.
506 +
507 +
508 +* tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits
509 + (merged to 'next' on 2013-08-28 at e86ec11)
510 + + log: use true parents for diff when walking reflogs
511 + + log: use true parents for diff even when rewriting
512 +
513 + Originally merged to 'next' on 2013-08-08
514 +
515 + Output from "git log --full-diff -- <pathspec>" looked strange,
516 + because comparison was done with the previous ancestor that touched
517 + the specified <pathspec>, causing the patches for paths outside the
518 + pathspec to show more than the single commit has changed.
519 +
520 + Tweak "git reflog -p" for the same reason using the same mechanism.
521 +
522 +--------------------------------------------------
523 +[New Topics]
524
442 -* bc/submodule-status-ignored (2013-09-03) 2 commits
443 - . submodule: don't print status output with ignore=all
444 - . submodule: fix confusing variable name
525 +* js/add-i-mingw (2013-09-04) 1 commit
526 + - add--interactive: fix external command invocation on Windows
527
446 - Originally merged to 'next' on 2013-08-22
528 + The implementation of "add -i" has a crippling code to work around
529 + ActiveState Perl limitation but it by mistake also triggered on Git
530 + for Windows where MSYS perl is used.
531
448 - On hold; this conflicts and breaks tests when used with
449 - mm/status-without-comment-char.
532 + Will merge to 'next'.
533
534
452 -* jk/config-int-range-check (2013-08-21) 2 commits
453 - - teach git-config to output large integers
454 - - config: properly range-check integer values
535 +* rh/ishes-doc (2013-09-04) 7 commits
536 + - glossary: fix and clarify the definition of 'ref'
537 + - revisions.txt: fix and clarify <rev>^{<type>}
538 + - glossary: more precise definition of tree-ish (a.k.a. treeish)
539 + - use 'commit-ish' instead of 'committish'
540 + - use 'tree-ish' instead of 'treeish'
541 + - glossary: define commit-ish (a.k.a. committish)
542 + - glossary: mention 'treeish' as an alternative to 'tree-ish'
543
456 - Originally merged to 'next' on 2013-08-22
544 + We liberally use "committish" and "commit-ish" (and "treeish" and
545 + "tree-ish"); as these are non-words, let's unify these terms to
546 + their dashed form. More importantly, clarify the documentation on
547 + object peeling using these terms.
548
458 - "git config --int section.var 3g" should somehow diagnose that the
459 - number does not fit in "int" (on 32-bit platforms anyway) but it
460 - did not.
549 + Will merge to 'next'.
550
551
463 -* jk/duplicate-objects-in-packs (2013-08-24) 6 commits
464 - - default pack.indexDuplicates to false
465 - - index-pack: optionally reject packs with duplicate objects
466 - - test index-pack on packs with recoverable delta cycles
467 - - add tests for indexing packs with delta cycles
468 - - sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
469 - - test-sha1: add a binary output mode
552 +* jc/commit-is-spelled-with-two-ems (2013-09-05) 2 commits
553 + (merged to 'next' on 2013-09-05 at 982aef2)
554 + + typofix: cherry is spelled with two ars
555 + + typofix: commit is spelled with two ems
556
471 - A packfile that stores the same object more than once is broken and
472 - will be rejected.
557 + Will merge to 'master'.
558
474 - Will merge to 'next'.
559
560 +* bc/http-backend-allow-405 (2013-09-09) 1 commit
561 + - http-backend: provide Allow header for 405
562
477 -* mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
478 - - git-remote-mediawiki: no need to update private ref in non-dumb push
479 - - git-remote-mediawiki: use no-private-update capability on dumb push
480 - - transport-helper: add no-private-update capability
481 - - git-remote-mediawiki: add test and check Makefile targets
563 + When the webserver responds with "405 Method Not Allowed", it
564 + should tell the client what methods are allowed with the "Allow"
565 + header.
566
567 Will merge to 'next'.
568
569
486 -* rt/rebase-p-no-merge-summary (2013-08-21) 1 commit
487 - - rebase --preserve-merges: ignore "merge.log" config
570 +* dw/check-ignore-sans-index (2013-09-05) 2 commits
571 + - SQUASH??? do not let --no-index squat on short-and-sweet -i for now
572 + - check-ignore: Add option to ignore index contents
573
489 - Originally merged to 'next' on 2013-08-22
574 + "git check-ignore" follows the same rule as "git add" and "git
575 + status" in that the ignore/exclude mechanism does not take effect
576 + on paths that are already tracked. With "--no-index" option, it
577 + can be used to diagnose which paths that should have been ignored
578 + have been mistakenly added to the index.
579
491 - "git rebase -p" internally used the merge machinery, but when
492 - rebasing, there should not be a need for merge summary.
580 + Will squash the tip in and merge to 'next'.
581
494 - Will merge to 'next'.
582
583 +* hu/cherry-pick-previous-branch (2013-09-09) 1 commit
584 + - cherry-pick: allow "-" as abbreviation of '@{-1}'
585
497 -* sp/clip-read-write-to-8mb (2013-08-20) 2 commits
498 - (merged to 'next' on 2013-08-28 at c9840d7)
499 - + Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
500 - + xread, xwrite: limit size of IO to 8MB
586 + Just like "git checkout -" knows to check out and "git merge -"
587 + knows to merge the branch you were previously on, teach "git
588 + cherry-pick" to understand "-" as the previous branch.
589
502 - Originally merged to 'next' on 2013-08-22
590 + Will merge to 'next'.
591
504 - Send a large request to read(2)/write(2) as a smaller but still
505 - reasonably large chunks, which would improve the latency when the
506 - operation needs to be killed and incidentally works around broken
507 - 64-bit systems that cannot take a 2GB write or read in one go.
592
509 - Will merge to 'master' in the second batch.
593 +* jh/checkout-auto-tracking (2013-09-09) 5 commits
594 + - branch.c: Relax unnecessary requirement on upstream's remote ref name
595 + - t3200: Add test demonstrating minor regression in 41c21f2
596 + - Refer to branch.<name>.remote/merge when documenting --track
597 + - t3200: Minor fix when preparing for tracking failure
598 + - t2024: Fix &&-chaining and a couple of typos
599
600 + Fix a minor regression in v1.8.3.2 and later that made it
601 + impossible to base your local work on anything but a local branch
602 + of the upstream repository you are tracking from.
603
512 -* dw/diff-no-index-doc (2013-08-28) 2 commits
513 - - diff --no-index: describe in a separate paragraph
514 - - diff --no-index: clarify operation when not inside a repository
604 + Will merge to 'next'.
605
516 - When the user types "git diff" outside a working tree, thinking he
517 - is inside one, the current error message that is a single-liner
518 - "usage: git diff --no-index <path> <path>" may not be sufficient to
519 - make him realize the mistake. Add "Not a git repository" to the
520 - error message when we fell into the "--no-index" mode without an
521 - explicit command line option to instruct us to do so.
606
607 +* jk/remove-remote-helpers-in-python (2013-09-09) 1 commit
608 + - git_remote_helpers: remove little used Python library
609
524 -* sb/repack-in-c (2013-08-30) 2 commits
525 - - repack: retain the return value of pack-objects
526 - - repack: rewrite the shell script in C
610 + Remove now disused remote-helpers framework for helpers written in
611 + Python.
612
528 - Any further reviews?
613 + Will merge to 'next'.
614
615
531 -* ap/commit-author-mailmap (2013-08-24) 1 commit
532 - - commit: search author pattern against mailmap
616 +* jk/upload-pack-keepalive (2013-09-09) 2 commits
617 + - upload-pack: bump keepalive default to 5 seconds
618 + - upload-pack: send keepalive packets during pack computation
619
534 - "git commit --author=$name", when $name is not in the canonical
535 - "A. U. Thor <au.thor@example.xz>" format, looks for a matching name
536 - from existing history, but did not consult mailmap to grab the
537 - preferred author name.
620 + When running "fetch -q", a long silence while the sender side
621 + computes the set of objects to send can be mistaken by proxies as
622 + dropped connection.
623
624 Will merge to 'next'.
625
626
542 -* jk/mailmap-incomplete-line (2013-08-28) 1 commit
543 - - mailmap: handle mailmap blobs without trailing newlines
544 -
545 - Will merge to 'next' and later to 'master' and 'maint'.
546 -
547 -
548 -* jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
549 - - write_index: optionally allow broken null sha1s
627 +* mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit
628 + - rebase: fix run_specific_rebase's use of "return" on FreeBSD
629
551 - Earlier we started rejecting an attempt to add 0{40} object name to
552 - the index and to tree objects, but it sometimes is necessary to
553 - allow so to be able to use tools like filter-branch to correct such
554 - broken tree objects.
630 + Work around a bug in FreeBSD shell that caused a regression to "git
631 + rebase" in v1.8.4. It would be lovely to hear from FreeBSD folks a
632 + success report to make sure we didn't miss any other use of a bare
633 + "return" from dot-sourced script.
634
635 Will merge to 'next'.
636
637
559 -* kk/tests-with-no-perl (2013-08-24) 4 commits
560 - - reset test: modernize style
561 - - t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
562 - - add -i test: use skip_all instead of repeated PERL prerequisite
563 - - Make test "using invalid commit with -C" more strict
638 +* ss/doclinks (2013-09-06) 1 commit
639 + - Documentation: make AsciiDoc links always point to HTML files
640
565 - Some tests were not skipped under NO_PERL build.
641 + When we converted many documents that were traditionally text-only
642 + to be formatted to AsciiDoc, we did not update links that point at
643 + them to refer to the formatted HTML files.
644
645 Will merge to 'next'.
646
647
570 -* mm/fast-import-feature-doc (2013-08-25) 1 commit
571 - - Documentation/fast-import: clarify summary for `feature` command
648 +* uh/git-svn-serf-fix (2013-09-06) 1 commit
649 + - git-svn: fix termination issues for remote svn connections
650
573 - Will merge to 'next'.
651 + "git-svn" used with SVN 1.8.0 when talking over https:// connection
652 + dumped core due to a bug in the serf library that SVN uses. Work
653 + it around on our side, even though the SVN side is being fixed.
654
655 +--------------------------------------------------
656 +[Stalled]
657
576 -* mm/remote-helpers-doc (2013-08-26) 1 commit
577 - - Documentation/remote-helpers: document common use-case for private ref
658 +* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
659 + - git-send-email: Cache generated message-ids, use them when prompting
660 + - git-send-email: add optional 'choices' parameter to the ask sub
661
579 - Will merge to 'next'.
662
663 +* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
664 + - ### DONTMERGE: needs better explanation on what config they need
665 + - pack-refs.c: Add missing call to git_config()
666 + - show-ref.c: Add missing call to git_config()
667
582 -* mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit
583 - - remove dead pastebin link from pack-heuristics document
668 + The changes themselves are probably good, but it is unclear what
669 + basic setting needs to be read for which exact operation.
670
585 - Will merge to 'next'.
671 + Waiting for clarification.
672 + $gmane/228294
673
674
588 -* ta/user-manual (2013-08-27) 11 commits
589 - - "git prune" is safe
590 - - Remove irrelevant reference from "Tying it all together"
591 - - Remove unnecessary historical note from "Object storage format"
592 - - Improve section "Merging multiple trees"
593 - - Improve section "Manipulating branches"
594 - - Simplify "How to make a commit"
595 - - Fix some typos and improve wording
596 - - Use "git merge" instead of "git pull ."
597 - - Use current output for "git repack"
598 - - Use current "detached HEAD" message
599 - - Call it "Git User Manual" and remove reference to very old Git version
675 +* jh/shorten-refname (2013-05-07) 4 commits
676 + - t1514: refname shortening is done after dereferencing symbolic refs
677 + - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
678 + - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
679 + - t1514: Add tests of shortening refnames in strict/loose mode
680
601 - Update the user's manual to more recent versions of Git.
681 + When remotes/origin/HEAD is not a symbolic ref, "rev-parse
682 + --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
683 + "origin/HEAD", which is fixed with this series (if it is a symbolic
684 + ref that points at remotes/origin/something, then it should show
685 + "origin/something" and it already does).
686
687 + Expecting a reroll, as an early part of a larger series.
688 + $gmane/225137
689
604 -* tb/precompose-autodetect-fix (2013-08-27) 1 commit
605 - - Set core.precomposeunicode to true on e.g. HFS+
690
607 - Will merge to 'next'.
691 +* mg/more-textconv (2013-05-10) 7 commits
692 + - grep: honor --textconv for the case rev:path
693 + - grep: allow to use textconv filters
694 + - t7008: demonstrate behavior of grep with textconv
695 + - cat-file: do not die on --textconv without textconv filters
696 + - show: honor --textconv for blobs
697 + - diff_opt: track whether flags have been set explicitly
698 + - t4030: demonstrate behavior of show with textconv
699
700 + Make "git grep" and "git show" pay attention to --textconv when
701 + dealing with blob objects.
702
610 -* tf/gitweb-ss-tweak (2013-08-20) 4 commits
611 - - gitweb: make search help link less ugly
612 - - gitweb: omit the repository owner when it is unset
613 - - gitweb: vertically centre contents of page footer
614 - - gitweb: ensure OPML text fits inside its box
703 + I thought this was pretty well designed and executed, but it seems
704 + there are some doubts on the list; kicked back to 'pu'.
705
616 - Originally merged to 'next' on 2013-08-22
706
618 - Tweak Gitweb CSS to layout some elements better.
707 +* jc/format-patch (2013-04-22) 2 commits
708 + - format-patch: --inline-single
709 + - format-patch: rename "no_inline" field
710
620 - Will merge to 'next'.
711 + A new option to send a single patch to the standard output to be
712 + appended at the bottom of a message. I personally have no need for
713 + this, but it was easy enough to cobble together. Tests, docs and
714 + stripping out more MIMEy stuff are left as exercises to interested
715 + parties.
716
717 + Not ready for inclusion.
718
623 -* es/rebase-i-respect-core-commentchar (2013-08-18) 1 commit
624 - - rebase -i: fix cases ignoring core.commentchar
719 + Will discard unless we hear from anybody who is interested in
720 + tying its loose ends.
721
626 - Originally merged to 'next' on 2013-08-20
722
628 - Will merge to 'next'.
723 +* jk/gitweb-utf8 (2013-04-08) 4 commits
724 + - gitweb: Fix broken blob action parameters on blob/commitdiff pages
725 + - gitweb: Don't append ';js=(0|1)' to external links
726 + - gitweb: Make feed title valid utf8
727 + - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
728
729 + Various fixes to gitweb.
730
631 -* jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits
632 - - status: always show tracking branch even no change
633 - - branch: report invalid tracking branch as gone
731 + Drew Northup volunteered to take a look into this.
732 + $gmane/226216
733
635 - "git branch -v -v" (and "git status") did not distinguish among a
636 - branch that does not build on any other branch, a branch that is in
637 - sync with the branch it builds on, and a branch that is configured
638 - to build on some other branch that no longer exists.
734
640 - Am I waiting for another reroll?
735 +* jc/show-branch (2013-06-07) 5 commits
736 + - show-branch: use commit slab to represent bitflags of arbitrary width
737 + - show-branch.c: remove "all_mask"
738 + - show-branch.c: abstract out "flags" operation
739 + - show-branch.c: lift all_mask/all_revs to a global static
740 + - show-branch.c: update comment style
741
742 + Waiting for the final step to lift the hard-limit before sending it out.
743
643 -* nd/fetch-into-shallow (2013-08-28) 7 commits
644 - - Add testcase for needless objects during a shallow fetch
645 - - list-objects: mark more commits as edges in mark_edges_uninteresting
646 - - list-objects: reduce one argument in mark_edges_uninteresting
647 - - upload-pack: delegate rev walking in shallow fetch to pack-objects
648 - - shallow: add setup_temporary_shallow()
649 - - shallow: only add shallow graft points to new shallow file
650 - - move setup_alternate_shallow and write_shallow_commits to shallow.c
744 +--------------------------------------------------
745 +[Cooking]
746
652 - When there is no sufficient overlap between old and new history
653 - during a fetch into a shallow repository, we unnecessarily sent
654 - objects the sending side knows the receiving end has.
747 +* fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
748 + - contrib/remote-helpers: quote variable references in redirection targets
749 + - contrib/remote-helpers: style updates for test scripts
750 + - remote-hg: use notes to keep track of Hg revisions
751 + - remote-helpers: cleanup more global variables
752 + - remote-helpers: trivial style fixes
753 + - remote-hg: improve basic test
754 + - remote-hg: add missing &&s in the test
755 + - remote-hg: fix test
756 + - remote-bzr: make bzr branches configurable per-repo
757 + - remote-bzr: fix export of utf-8 authors
758
759 Will merge to 'next'.
760
761
659 -* sb/diff-delta-remove-needless-comparison (2013-08-18) 1 commit
660 - (merged to 'next' on 2013-08-28 at ba09c3f)
661 - + create_delta_index: simplify condition always evaluating to true
762 +* jc/pager-configuration-doc (2013-08-29) 1 commit
763 + (merged to 'next' on 2013-09-05 at 3169083)
764 + + config: rewrite core.pager documentation
765
663 - Originally merged to 'next' on 2013-08-20
766 + It was unclear in the documentation how various configurations and
767 + environment variables determine which pager is eventually used.
768
769 Will merge to 'master'.
770
771
668 -* sg/bash-prompt-lf-in-cwd-test (2013-08-18) 1 commit
669 - (merged to 'next' on 2013-08-28 at eb449b5)
670 - + bash prompt: test the prompt with newline in repository path
772 +* np/pack-v4 (2013-09-03) 24 commits
773 + - Document pack v4 format
774 + - initial pack index v3 support on the read side
775 + - pack v4: add progress display
776 + - pack v4: normalize pack name to properly generate the pack index file name
777 + - pack index v3
778 + - pack v4: relax commit parsing a bit
779 + - pack v4: honor pack.compression config option
780 + - pack v4: load delta candidate for encoding tree objects
781 + - pack v4: tree object delta encoding
782 + - pack v4: object writing
783 + - pack v4: object data copy
784 + - pack v4: object headers
785 + - pack v4: creation code
786 + - pack v4: dictionary table output
787 + - pack v4: tree object encoding
788 + - pack v4: commit object encoding
789 + - pack v4: basic references encoding
790 + - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry
791 + - pack v4: split the object list and dictionary creation
792 + - pack v4: add commit object parsing
793 + - pack v4: add tree entry mode support to dictionary entries
794 + - pack v4: scan tree objects
795 + - export packed_object_info()
796 + - pack v4: initial pack dictionary structure and code
797
672 - Originally merged to 'next' on 2013-08-20
798 + Will replace with a newer version of the series.
799
674 - Will merge to 'master'.
800
801 +* jk/free-tree-buffer (2013-06-06) 1 commit
802 + (merged to 'next' on 2013-09-09 at 3576189)
803 + + clear parsed flag when we free tree buffers
804
677 -* jl/some-submodule-config-are-not-boolean (2013-08-19) 1 commit
678 - (merged to 'next' on 2013-08-28 at 7fabc3e)
679 - + avoid segfault on submodule.*.path set to an empty "true"
805 + Will merge to 'master'.
806
681 - Originally merged to 'next' on 2013-08-20
807
683 - Will merge to 'master'.
808 +* jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
809 + (merged to 'next' on 2013-09-09 at fc42e9b)
810 + + has_sha1_file: re-check pack directory before giving up
811
812 + When an object is not found after checking the packfiles and then
813 + loose object directory, read_sha1_file() re-checks the packfiles to
814 + prevent racing with a concurrent repacker; teach the same logic to
815 + has_sha1_file().
816
686 -* jc/ls-files-killed-optim (2013-08-23) 4 commits
687 - - dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
688 - - t3010: update to demonstrate "ls-files -k" optimization pitfalls
689 - - ls-files -k: a directory only can be killed if the index has a non-directory
690 - - dir.c: use the cache_* macro to access the current index
817 + Will merge to 'master'.
818
692 - Originally merged to 'next' on 2013-08-27
819
694 - "git ls-files -k" needs to crawl only the part of the working tree
695 - that may overlap the paths in the index to find killed files, but
696 - shared code with the logic to find all the untracked files, which
697 - made it unnecessarily inefficient.
820 +* ab/gitweb-author-initials (2013-08-30) 1 commit
821 + (merged to 'next' on 2013-09-09 at ecb924d)
822 + + gitweb: Fix the author initials in blame for non-ASCII names
823
699 - Will merge to 'next'.
824 + Will merge to 'master'.
825
826
702 -* es/blame-L-twice (2013-08-06) 16 commits
703 - (merged to 'next' on 2013-08-28 at e83ae2e)
704 - + line-range: reject -L line numbers less than 1
705 - + t8001/t8002: blame: add tests of -L line numbers less than 1
706 - + line-range: teach -L^:RE to search from start of file
707 - + line-range: teach -L:RE to search from end of previous -L range
708 - + line-range: teach -L^/RE/ to search from start of file
709 - + line-range-format.txt: document -L/RE/ relative search
710 - + log: teach -L/RE/ to search from end of previous -L range
711 - + blame: teach -L/RE/ to search from end of previous -L range
712 - + line-range: teach -L/RE/ to search relative to anchor point
713 - + blame: document multiple -L support
714 - + t8001/t8002: blame: add tests of multiple -L options
715 - + blame: accept multiple -L ranges
716 - + blame: inline one-line function into its lone caller
717 - + range-set: publish API for re-use by git-blame -L
718 - + line-range-format.txt: clarify -L:regex usage form
719 - + git-log.txt: place each -L option variation on its own line
720 - (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)
827 +* bk/refs-multi-update (2013-09-09) 8 commits
828 + - update-ref: add test cases covering --stdin signature
829 + - update-ref: support multiple simultaneous updates
830 + - refs: add update_refs for multiple simultaneous updates
831 + - refs: add function to repack without multiple refs
832 + - refs: factor delete_ref loose ref step into a helper
833 + - refs: factor update_ref steps into helpers
834 + - refs: report ref type from lock_any_ref_for_update
835 + - reset: rename update_refs to reset_refs
836
722 - Originally merged to 'next' on 2013-08-08
837 + Give "update-refs" a "--stdin" option to read multiple update
838 + requests and perform them in an all-or-none fashion.
839
724 - Teaches "git blame" to take more than one -L ranges.
840 + Comments?
841
726 - Will merge to 'master' in the second batch.
842
843 +* fc/at-head (2013-09-09) 3 commits
844 + - SQUASH??? fixup
845 + - Add new @ shortcut for HEAD
846 + - sha1-name: pass len argument to interpret_branch_name()
847
729 -* mm/no-shell-escape-in-die-message (2013-08-07) 1 commit
730 - (merged to 'next' on 2013-08-28 at 86b300f)
731 - + die_with_status: use "printf '%s\n'", not "echo"
848 + Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
849 + a genuine code improvement, but identifying cases where "@" means
850 + HEAD were harder than it should have been. I think the result of
851 + squashing the tip one in covers all the necessary cases.
852
733 - Originally merged to 'next' on 2013-08-08
853 + Will squash the tip in and merge to 'next'.
854
735 - Fixes a minor bug in "git rebase -i" (there could be others, as the
736 - root cause is pretty generic) where the code feeds a random, data
737 - dependeant string to 'echo' and expects it to come out literally.
855
739 - Will merge to 'master'.
856 +* fc/fast-export (2013-09-03) 2 commits
857 + (merged to 'next' on 2013-09-09 at 8d5d396)
858 + + fast-export: refactor get_tags_and_duplicates()
859 + + fast-export: make extra_refs global
860
861 + Code simpification.
862
742 -* tr/fd-gotcha-fixes (2013-08-06) 1 commit
743 - (merged to 'next' on 2013-08-28 at 5305271)
744 - + t0070: test that git_mkstemps correctly checks return value of open()
863 + Will merge to 'master'.
864
746 - Originally merged to 'next' on 2013-08-08
865
748 - Finishing touches to an earlier fix already in 'master'.
866 +* fc/rev-parse-test-updates (2013-09-03) 4 commits
867 + (merged to 'next' on 2013-09-09 at 92c51ef)
868 + + rev-parse test: use standard test functions for setup
869 + + rev-parse test: use test_cmp instead of "test" builtin
870 + + rev-parse test: use test_must_fail, not "if <command>; then false; fi"
871 + + rev-parse test: modernize quoting and whitespace
872 +
873 + Modernize tests.
874
875 Will merge to 'master'.
876
877
753 -* ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit
754 - (merged to 'next' on 2013-08-28 at 9bfc430)
755 - + remote-hg: fix path when cloning with tilde expansion
878 +* fc/t3200-fixes (2013-09-03) 3 commits
879 + (merged to 'next' on 2013-09-09 at 3626363)
880 + + t: branch: fix broken && chains
881 + + t: branch: fix typo
882 + + t: branch: trivial style fix
883
757 - Originally merged to 'next' on 2013-08-14
884 + Will merge to 'master'.
885 +
886 +
887 +* fc/trivial (2013-09-08) 5 commits
888 + (merged to 'next' on 2013-09-09 at a8ad2e1)
889 + + pull: use $curr_branch_short more
890 + + add: trivial style cleanup
891 + + reset: trivial style cleanup
892 + + branch: trivial style fix
893 + + reset: trivial refactoring
894
895 Will merge to 'master'.
896
897
762 -* es/rebase-i-no-abbrev (2013-08-25) 3 commits
763 - - rebase -i: fix short SHA-1 collision
764 - - t3404: rebase -i: demonstrate short SHA-1 collision
765 - - t3404: make tests more self-contained
898 +* jc/ref-excludes (2013-09-03) 2 commits
899 + - document --exclude option
900 + - revision: introduce --exclude=<glob> to tame wildcards
901
767 - Originally merged to 'next' on 2013-08-26
902 + People often wished a way to tell "git log --branches" (and "git
903 + log --remotes --not --branches") to exclude some local branches
904 + from the expansion of "--branches" (similarly for "--tags", "--all"
905 + and "--glob=<pattern>"). Now they have one.
906
907 Will merge to 'next'.
908
909
772 -* fc/remote-hg-shared-setup (2013-08-11) 2 commits
773 - (merged to 'next' on 2013-08-28 at 41ee3fe)
774 - + remote-hg: add shared repo upgrade
775 - + remote-hg: ensure shared repo is initialized
910 +* jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
911 + (merged to 'next' on 2013-09-09 at c9cfbaa)
912 + + pager: turn on "cat" optimization for DEFAULT_PAGER
913
777 - Originally merged to 'next' on 2013-08-14
914 + If a build-time fallback is set to "cat" instead of "less", we
915 + should apply the same "no subprocess or pipe" optimization as we
916 + apply to user-supplied GIT_PAGER=cat.
917
918 Will merge to 'master'.
919
920
782 -* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits
783 - (merged to 'next' on 2013-08-29 at f88a6da)
784 - + builtin/fetch.c: Fix a sparse warning
785 - (merged to 'next' on 2013-08-28 at 2ed86df)
786 - + fetch: work around "transport-take-over" hack
787 - + fetch: refactor code that fetches leftover tags
788 - + fetch: refactor code that prepares a transport
789 - + fetch: rename file-scope global "transport" to "gtransport"
790 - + t5802: add test for connect helper
791 -
792 - Originally merged to 'next' on 2013-08-20
921 +* nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
922 + (merged to 'next' on 2013-09-09 at 5b0a4bf)
923 + + Make setup_git_env() resolve .git file when $GIT_DIR is not specified
924
794 - The auto-tag-following code in "git fetch" tries to reuse the same
795 - transport twice when the serving end does not cooperate and does
796 - not give tags that point to commits that are asked for as part of
797 - the primary transfer. Unfortunately, Git-aware transport helper
798 - interface is not designed to be used more than once, hence this
799 - does not work over smart-http transfer.
925 + We made sure that we notice the user-supplied GIT_DIR is actually a
926 + gitfile, but failed to do so when the default ".git" is a gitfile.
927
801 - Will merge to 'master' in the second batch.
928 + Will merge to 'master'.
929
930
804 -* ks/p4-view-spec (2013-09-03) 2 commits
805 - - git p4: implement view spec wildcards with "p4 where"
806 - - git p4 test: sanitize P4CHARSET
931 +* nr/git-cd-to-a-directory (2013-09-09) 1 commit
932 + - git: run in a directory given with -C option
933
808 - Replaced with a reroll that was whitespace damaged.
934 + Just like "make -C <directory>", make "git -C <directory> ..." to
935 + go there before doing anything else.
936
810 - Waiting for the final Ack.
937 + Will merge to 'next'.
938
939
813 -* nd/gc-lock-against-each-other (2013-08-09) 1 commit
814 - (merged to 'next' on 2013-08-28 at 46e072b)
815 - + gc: reject if another gc is running, unless --force is given
940 +* rh/peeling-tag-to-tag (2013-09-03) 2 commits
941 + - peel_onion: do not assume length of x_type globals
942 + - peel_onion(): add support for <rev>^{tag}
943
817 - Originally merged to 'next' on 2013-08-14
944 + Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
945 + "foo" is not a tag.
946
819 - Will merge to 'master'.
947 + Will merge to 'next'.
948
949
822 -* sb/misc-cleanup (2013-08-09) 3 commits
823 - (merged to 'next' on 2013-08-28 at bc2045b)
824 - + rm: remove unneeded null pointer check
825 - + diff: fix a possible null pointer dereference
826 - + diff: remove ternary operator evaluating always to true
950 +* cc/replace-with-the-same-type (2013-09-09) 8 commits
951 + - Doc: 'replace' merge and non-merge commits
952 + - t6050-replace: use some long option names
953 + - replace: allow long option names
954 + - Documentation/replace: add Creating Replacement Objects section
955 + - t6050-replace: add test to clean up all the replace refs
956 + - t6050-replace: test that objects are of the same type
957 + - Documentation/replace: state that objects must be of the same type
958 + - replace: forbid replacing an object with one of a different type
959
828 - Originally merged to 'next' on 2013-08-14
960 + Using the replace mechanism to swap an object with another object
961 + of a different type can introduce inconsistency (e.g. a tree
962 + expects an object name to refer to a blob, but the blob object can
963 + be mistakenly or maliciously replaced with an object with a
964 + different type). Attempt to forbid such.
965
830 - Will merge to 'master'.
966 + Will merge to 'next'.
967
968
833 -* aj/p4-symlink-lose-nl (2013-08-12) 1 commit
834 - (merged to 'next' on 2013-08-28 at 5ce9ceb)
835 - + git-p4: Fix occasional truncation of symlink contents.
969 +* jx/clean-interactive (2013-08-28) 1 commit
970 + (merged to 'next' on 2013-09-09 at 477fec6)
971 + + documentation: clarify notes for clean.requireForce
972
837 - Originally merged to 'next' on 2013-08-14
973 + Finishing touches to update the document to adjust to a new option
974 + "git clean" learned recently.
975
976 Will merge to 'master'.
977
978
842 -* es/contacts-blame-L-multi (2013-08-13) 3 commits
843 - (merged to 'next' on 2013-08-28 at 24ff8b4)
844 - + contacts: reduce git-blame invocations
845 - + contacts: gather all blame sources prior to invoking git-blame
846 - + contacts: validate hunk length earlier
847 - (this branch uses es/blame-L-more and es/blame-L-twice.)
979 +* mm/status-without-comment-char (2013-09-06) 6 commits
980 + - status: add missing blank line after list of "other" files
981 + - tests: don't set status.displayCommentPrefix file-wide
982 + - status: disable display of '#' comment prefix by default
983 + - submodule summary: ignore --for-status option
984 + - wt-status: use argv_array API
985 + - builtin/stripspace.c: fix broken indentation
986
849 - Originally merged to 'next' on 2013-08-14
987 + Allow "git status" to omit the prefix to make its output a comment
988 + in a commit log editor, which is not necessary for human
989 + consumption.
990
851 - Will merge to 'master' in the second batch.
991 + We may want to tighten the output to omit unnecessary trailing
992 + blank lines, but that does not have to be in the scope of this
993 + series.
994
995 + Will merge to 'next'.
996
854 -* fc/unpack-trees-leakfix (2013-08-13) 1 commit
855 - (merged to 'next' on 2013-08-28 at 3ad1f21)
856 - + unpack-trees: plug a memory leak
997
858 - Originally merged to 'next' on 2013-08-14
998 +* js/xread-in-full (2013-08-20) 1 commit
999 + (merged to 'next' on 2013-09-04 at 5bfb049)
1000 + + stream_to_pack: xread does not guarantee to read all requested bytes
1001
860 - Will merge to 'master'.
1002 + Originally merged to 'next' on 2013-08-20
1003 +
1004 + A call to xread() was used without a loop around to cope with short
1005 + read in the codepath to stream new contents to a pack.
1006
1007 + Will merge to 'master' in the third batch.
1008
863 -* nd/push-no-thin (2013-08-13) 1 commit
864 - - push: respect --no-thin
1009
866 - Originally merged to 'next' on 2013-08-14
1010 +* sb/mailmap-freeing-NULL-is-ok (2013-08-20) 1 commit
1011 + (merged to 'next' on 2013-09-04 at c831015)
1012 + + mailmap: remove redundant check for freeing memory
1013
868 - Will merge to 'next'.
1014 + Originally merged to 'next' on 2013-08-20
1015
1016 + Will merge to 'master' in the third batch.
1017
871 -* sh/pull-rebase-preserve (2013-08-13) 1 commit
872 - - pull: Allow pull to preserve merges when rebasing.
1018
874 - Originally merged to 'next' on 2013-08-14
1019 +* bc/submodule-status-ignored (2013-09-04) 2 commits
1020 + - submodule: don't print status output with ignore=all
1021 + - submodule: fix confusing variable name
1022 +
1023 + Originally merged to 'next' on 2013-08-22
1024
1025 Will merge to 'next'.
1026
1027
879 -* es/blame-L-more (2013-08-05) 11 commits
880 - (merged to 'next' on 2013-08-28 at b73cdc9)
881 - + blame: reject empty ranges -L,+0 and -L,-0
882 - + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
883 - + blame: reject empty ranges -LX,+0 and -LX,-0
884 - + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
885 - + log: fix -L bounds checking bug
886 - + t4211: retire soon-to-be unimplementable tests
887 - + t4211: log: demonstrate -L bounds checking bug
888 - + blame: fix -L bounds checking bug
889 - + t8001/t8002: blame: add empty file & partial-line tests
890 - + t8001/t8002: blame: demonstrate -L bounds checking bug
891 - + t8001/t8002: blame: decompose overly-large test
892 - (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)
1028 +* jk/config-int-range-check (2013-09-09) 5 commits
1029 + (merged to 'next' on 2013-09-09 at 9ab779d)
1030 + + git-config: always treat --int as 64-bit internally
1031 + + config: make numeric parsing errors more clear
1032 + + config: set errno in numeric git_parse_* functions
1033 + + config: properly range-check integer values
1034 + + config: factor out integer parsing from range checks
1035
894 - Originally merged to 'next' on 2013-08-06
1036 + Originally merged to 'next' on 2013-08-22
1037
896 - More fixes to the code to parse the "-L" option in "log" and "blame".
1038 + "git config --int section.var 3g" should somehow diagnose that the
1039 + number does not fit in "int" (on 32-bit platforms anyway) but it
1040 + did not.
1041
898 - Will merge to 'master' in the second batch.
1042 + Will merge to 'master'.
1043
1044
901 -* jk/cat-file-batch-optim (2013-08-05) 1 commit
902 - (merged to 'next' on 2013-08-28 at 624e60d)
903 - + cat-file: only split on whitespace when %(rest) is used
1045 +* jk/duplicate-objects-in-packs (2013-09-04) 5 commits
1046 + (merged to 'next' on 2013-09-09 at 72f2c3d)
1047 + + t5308: check that index-pack --strict detects duplicate objects
1048 + + test index-pack on packs with recoverable delta cycles
1049 + + add tests for indexing packs with delta cycles
1050 + + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
1051 + + test-sha1: add a binary output mode
1052
905 - Originally merged to 'next' on 2013-08-06
1053 + A packfile that stores the same object more than once is broken and
1054 + will be rejected.
1055
907 - Rework the reverted change to `cat-file --batch-check`.
1056 + Will merge to 'master'.
1057
909 - Will merge to 'master' in the second batch.
1058
1059 +* mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
1060 + (merged to 'next' on 2013-09-05 at f8313f4)
1061 + + git-remote-mediawiki: no need to update private ref in non-dumb push
1062 + + git-remote-mediawiki: use no-private-update capability on dumb push
1063 + + transport-helper: add no-private-update capability
1064 + + git-remote-mediawiki: add test and check Makefile targets
1065
912 -* jn/post-receive-utf8 (2013-08-05) 3 commits
913 - - hooks/post-receive-email: set declared encoding to utf-8
914 - - hooks/post-receive-email: force log messages in UTF-8
915 - - hooks/post-receive-email: use plumbing instead of git log/show
1066 + Will merge to 'master'.
1067
917 - Originally merged to 'next' on 2013-08-20
1068
919 - Update post-receive-email script to make sure the message contents
920 - and pathnames are encoded consistently in UTF-8.
1069 +* rt/rebase-p-no-merge-summary (2013-08-21) 1 commit
1070 + (merged to 'next' on 2013-09-04 at d8d89ee)
1071 + + rebase --preserve-merges: ignore "merge.log" config
1072
922 - I have a feeling that it is a lost cause to solve the issue the
923 - topic tries to address in general, because the patch text can have
924 - payload in any encodings that are different from either the
925 - pathnames or the log message. Patches that touch paths that use an
926 - encoding that conflicts with the encoding of the payload and/or the
927 - log message could be transferred with core.quotepath set and patch
928 - generated as all binary, but that would be pretty much useless.
1073 + Originally merged to 'next' on 2013-08-22
1074
930 - Will merge to 'next'.
1075 + "git rebase -p" internally used the merge machinery, but when
1076 + rebasing, there should not be a need for merge summary.
1077
1078 + Will merge to 'master' in the third batch.
1079
933 -* sb/parseopt-boolean-removal (2013-08-07) 9 commits
934 - (merged to 'next' on 2013-08-28 at 2f3f21f)
935 - + revert: use the OPT_CMDMODE for parsing, reducing code
936 - + checkout-index: fix negations of even numbers of -n
937 - + config parsing options: allow one flag multiple times
938 - + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
939 - + branch, commit, name-rev: ease up boolean conditions
940 - + checkout: remove superfluous local variable
941 - + log, format-patch: parsing uses OPT__QUIET
942 - + Replace deprecated OPT_BOOLEAN by OPT_BOOL
943 - + Remove deprecated OPTION_BOOLEAN for parsing arguments
944 - (this branch uses jc/parseopt-command-modes.)
1080
946 - Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
947 - OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
948 - remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary.
1081 +* dw/diff-no-index-doc (2013-08-28) 2 commits
1082 + - diff --no-index: describe in a separate paragraph
1083 + - diff --no-index: clarify operation when not inside a repository
1084
950 - Will merge to 'master'.
1085 + When the user types "git diff" outside a working tree, thinking he
1086 + is inside one, the current error message that is a single-liner
1087 + "usage: git diff --no-index <path> <path>" may not be sufficient to
1088 + make him realize the mistake. Add "Not a git repository" to the
1089 + error message when we fell into the "--no-index" mode without an
1090 + explicit command line option to instruct us to do so.
1091
1092 + Will merge to 'next'.
1093
953 -* jc/parseopt-command-modes (2013-07-30) 2 commits
954 - (merged to 'next' on 2013-08-28 at 738b399)
955 - + tag: use OPT_CMDMODE
956 - + parse-options: add OPT_CMDMODE()
957 - (this branch is used by sb/parseopt-boolean-removal.)
1094
959 - Many commands use --dashed-option as a operation mode selector
960 - (e.g. "git tag --delete") that the user can use at most one
961 - (e.g. "git tag --delete --verify" is a nonsense) and you cannot
962 - negate (e.g. "git tag --no-delete" is a nonsense). Make it easier
963 - for users of parse_options() to enforce these restrictions.
1095 +* sb/repack-in-c (2013-08-30) 2 commits
1096 + - repack: retain the return value of pack-objects
1097 + - repack: rewrite the shell script in C
1098
965 - Will merge to 'master'.
1099 + Any further reviews?
1100
1101
968 -* tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits
969 - (merged to 'next' on 2013-08-28 at e86ec11)
970 - + log: use true parents for diff when walking reflogs
971 - + log: use true parents for diff even when rewriting
1102 +* ap/commit-author-mailmap (2013-08-24) 1 commit
1103 + (merged to 'next' on 2013-09-09 at 79d5a20)
1104 + + commit: search author pattern against mailmap
1105
973 - Originally merged to 'next' on 2013-08-08
1106 + "git commit --author=$name", when $name is not in the canonical
1107 + "A. U. Thor <au.thor@example.xz>" format, looks for a matching name
1108 + from existing history, but did not consult mailmap to grab the
1109 + preferred author name.
1110
975 - Output from "git log --full-diff -- <pathspec>" looked strange,
976 - because comparison was done with the previous ancestor that touched
977 - the specified <pathspec>, causing the patches for paths outside the
978 - pathspec to show more than the single commit has changed.
1111 + Will merge to 'master'.
1112
980 - Tweak "git reflog -p" for the same reason using the same mechanism.
1113
982 - Will merge to 'master' in the second batch.
1114 +* jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
1115 + (merged to 'next' on 2013-09-09 at 6953f27)
1116 + + write_index: optionally allow broken null sha1s
1117
1118 + Earlier we started rejecting an attempt to add 0{40} object name to
1119 + the index and to tree objects, but it sometimes is necessary to
1120 + allow so to be able to use tools like filter-branch to correct such
1121 + broken tree objects.
1122
985 -* bc/unuse-packfile (2013-08-02) 2 commits
986 - (merged to 'next' on 2013-08-28 at 9029801)
987 - + Don't close pack fd when free'ing pack windows
988 - + sha1_file: introduce close_one_pack() to close packs on fd pressure
1123 + Will merge to 'master'.
1124
990 - Originally merged to 'next' on 2013-08-06
1125
992 - Handle memory pressure and file descriptor pressure separately when
993 - deciding to release pack windows to honor resource limits.
1126 +* kk/tests-with-no-perl (2013-08-24) 4 commits
1127 + (merged to 'next' on 2013-09-09 at 67510b1)
1128 + + reset test: modernize style
1129 + + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
1130 + + add -i test: use skip_all instead of repeated PERL prerequisite
1131 + + Make test "using invalid commit with -C" more strict
1132
995 - Will merge to 'master'.
1133 + Some tests were not skipped under NO_PERL build.
1134
1135 + Will merge to 'master'.
1136
998 -* da/darwin (2013-08-05) 3 commits
999 - (merged to 'next' on 2013-08-28 at 6e4c5ae)
1000 - + OS X: Fix redeclaration of die warning
1001 - + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
1002 - + imap-send: use Apple's Security framework for base64 encoding
1137
1004 - Originally merged to 'next' on 2013-08-05
1138 +* mm/fast-import-feature-doc (2013-08-25) 1 commit
1139 + (merged to 'next' on 2013-09-05 at 83802e2)
1140 + + Documentation/fast-import: clarify summary for `feature` command
1141
1142 Will merge to 'master'.
1143
1144
1009 -* nd/sq-quote-buf (2013-07-30) 3 commits
1010 - (merged to 'next' on 2013-08-28 at d0ffd55)
1011 - + quote: remove sq_quote_print()
1012 - + tar-tree: remove dependency on sq_quote_print()
1013 - + for-each-ref, quote: convert *_quote_print -> *_quote_buf
1145 +* mm/remote-helpers-doc (2013-08-26) 1 commit
1146 + (merged to 'next' on 2013-09-05 at c181b35)
1147 + + Documentation/remote-helpers: document common use-case for private ref
1148
1015 - Originally merged to 'next' on 2013-08-01
1149 + Will merge to 'master'.
1150
1017 - Code simplification as a preparatory step to something larger.
1151
1019 - Will merge to 'master'.
1152 +* mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit
1153 + (merged to 'next' on 2013-09-05 at 5caecec)
1154 + + remove dead pastebin link from pack-heuristics document
1155
1156 + Will merge to 'master'.
1157
1022 -* jc/url-match (2013-08-09) 7 commits
1023 - (merged to 'next' on 2013-08-28 at 2a9fd23)
1024 - + builtin/config.c: compilation fix
1025 - + config: "git config --get-urlmatch" parses section.<url>.key
1026 - + builtin/config: refactor collect_config()
1027 - + config: parse http.<url>.<variable> using urlmatch
1028 - + config: add generic callback wrapper to parse section.<url>.key
1029 - + config: add helper to normalize and match URLs
1030 - + http.c: fix parsing of http.sslCertPasswordProtected variable
1158
1032 - Originally merged to 'next' on 2013-08-12
1159 +* ta/user-manual (2013-08-27) 11 commits
1160 + - "git prune" is safe
1161 + - Remove irrelevant reference from "Tying it all together"
1162 + - Remove unnecessary historical note from "Object storage format"
1163 + - Improve section "Merging multiple trees"
1164 + - Improve section "Manipulating branches"
1165 + - Simplify "How to make a commit"
1166 + - Fix some typos and improve wording
1167 + - Use "git merge" instead of "git pull ."
1168 + - Use current output for "git repack"
1169 + - Use current "detached HEAD" message
1170 + - Call it "Git User Manual" and remove reference to very old Git version
1171
1034 - Allow section.<urlpattern>.var configuration variables to be
1035 - treated as a "virtual" section.var given a URL, and use the
1036 - mechanism to enhance http.* configuration variables.
1172 + Update the user's manual to more recent versions of Git.
1173
1038 - This is a reroll of Kyle J. McKay's work.
1174 + Will merge to 'next'.
1175
1040 - Will merge to 'master' in the second batch.
1176
1177 +* tb/precompose-autodetect-fix (2013-08-27) 1 commit
1178 + (merged to 'next' on 2013-09-09 at 9bfdac1)
1179 + + Set core.precomposeunicode to true on e.g. HFS+
1180
1043 -* jl/submodule-mv (2013-08-06) 5 commits
1044 - (merged to 'next' on 2013-08-28 at 4ec6b41)
1045 - + rm: delete .gitmodules entry of submodules removed from the work tree
1046 - + mv: update the path entry in .gitmodules for moved submodules
1047 - + submodule.c: add .gitmodules staging helper functions
1048 - + mv: move submodules using a gitfile
1049 - + mv: move submodules together with their work trees
1050 - (this branch uses nd/magic-pathspec.)
1181 + On MacOS X, we detected if the filesystem needs the "pre-composed
1182 + unicode strings" workaround, but did not automatically enable it.
1183 + Now we do.
1184
1052 - Originally merged to 'next' on 2013-08-08
1185 + Will merge to 'master'.
1186
1054 - "git mv A B" when moving a submodule A does "the right thing",
1055 - inclusing relocating its working tree and adjusting the paths in
1056 - the .gitmodules file.
1187
1058 - Will merge to 'master' in the second batch.
1188 +* tf/gitweb-ss-tweak (2013-08-20) 4 commits
1189 + (merged to 'next' on 2013-09-04 at 774bfbe)
1190 + + gitweb: make search help link less ugly
1191 + + gitweb: omit the repository owner when it is unset
1192 + + gitweb: vertically centre contents of page footer
1193 + + gitweb: ensure OPML text fits inside its box
1194
1195 + Originally merged to 'next' on 2013-08-22
1196
1061 -* nd/clone-connectivity-shortcut (2013-07-23) 1 commit
1062 - (merged to 'next' on 2013-08-28 at d227f9f)
1063 - + smart http: use the same connectivity check on cloning
1197 + Tweak Gitweb CSS to layout some elements better.
1198
1065 - Originally merged to 'next' on 2013-07-30
1199 + Will merge to 'master' in the third batch.
1200
1067 - Will merge to 'master' in the second batch.
1201
1202 +* es/rebase-i-respect-core-commentchar (2013-08-18) 1 commit
1203 + (merged to 'next' on 2013-09-04 at 8c1ce68)
1204 + + rebase -i: fix cases ignoring core.commentchar
1205
1070 -* db/http-savecookies (2013-08-05) 2 commits
1071 - (merged to 'next' on 2013-08-28 at 22a8464)
1072 - + t5551: Remove header from curl cookie file
1073 - + http: add http.savecookies option to write out HTTP cookies
1206 + Originally merged to 'next' on 2013-08-20
1207
1075 - Originally merged to 'next' on 2013-08-05
1208 + "rebase -i" forgot that the comment character can be configurable
1209 + while reading its insn sheet.
1210
1077 - Will merge to 'master' in the second batch.
1211 + Will merge to 'master' in the third batch.
1212
1213
1080 -* rr/feed-real-path-to-editor (2013-07-29) 1 commit
1081 - (merged to 'next' on 2013-08-28 at 7458fa4)
1082 - + editor: use canonicalized absolute path
1214 +* jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits
1215 + - status: always show tracking branch even no change
1216 + - branch: report invalid tracking branch as gone
1217
1084 - Originally merged to 'next' on 2013-07-30
1218 + "git branch -v -v" (and "git status") did not distinguish among a
1219 + branch that does not build on any other branch, a branch that is in
1220 + sync with the branch it builds on, and a branch that is configured
1221 + to build on some other branch that no longer exists.
1222
1086 - Will merge to 'master'.
1223 + Will merge to 'next'.
1224
1225
1089 -* jk/fast-import-empty-ls (2013-06-23) 4 commits
1090 - (merged to 'next' on 2013-08-28 at 876a39d)
1091 - + fast-import: allow moving the root tree
1092 - + fast-import: allow ls or filecopy of the root tree
1093 - + fast-import: set valid mode on root tree in "ls"
1094 - + t9300: document fast-import empty path issues
1226 +* nd/fetch-into-shallow (2013-08-28) 7 commits
1227 + (merged to 'next' on 2013-09-09 at 87a3b99)
1228 + + Add testcase for needless objects during a shallow fetch
1229 + + list-objects: mark more commits as edges in mark_edges_uninteresting
1230 + + list-objects: reduce one argument in mark_edges_uninteresting
1231 + + upload-pack: delegate rev walking in shallow fetch to pack-objects
1232 + + shallow: add setup_temporary_shallow()
1233 + + shallow: only add shallow graft points to new shallow file
1234 + + move setup_alternate_shallow and write_shallow_commits to shallow.c
1235
1096 - Originally merged to 'next' on 2013-07-22
1236 + When there is no sufficient overlap between old and new history
1237 + during a fetch into a shallow repository, we unnecessarily sent
1238 + objects the sending side knows the receiving end has.
1239
1240 Will merge to 'master'.
1241
1242
1101 -* jc/diff-filter-negation (2013-07-19) 6 commits
1102 - (merged to 'next' on 2013-08-28 at 5cc7720)
1103 - + diff: deprecate -q option to diff-files
1104 - + diff: allow lowercase letter to specify what change class to exclude
1105 - + diff: reject unknown change class given to --diff-filter
1106 - + diff: preparse --diff-filter string argument
1107 - + diff: factor out match_filter()
1108 - + diff: pass the whole diff_options to diffcore_apply_filter()
1109 - (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)
1243 +* jc/ls-files-killed-optim (2013-08-23) 4 commits
1244 + (merged to 'next' on 2013-09-04 at 20c2304)
1245 + + dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
1246 + + t3010: update to demonstrate "ls-files -k" optimization pitfalls
1247 + + ls-files -k: a directory only can be killed if the index has a non-directory
1248 + + dir.c: use the cache_* macro to access the current index
1249
1111 - Originally merged to 'next' on 2013-07-22
1250 + Originally merged to 'next' on 2013-08-27
1251
1113 - Teach "git diff --diff-filter" to express "I do not want to see
1114 - these classes of changes" more directly by listing only the
1115 - unwanted ones in lowercase (e.g. "--diff-filter=d" will show
1116 - everything but deletion) and deprecate "diff-files -q" which did
1117 - the same thing as "--diff-filter=d".
1252 + "git ls-files -k" needs to crawl only the part of the working tree
1253 + that may overlap the paths in the index to find killed files, but
1254 + shared code with the logic to find all the untracked files, which
1255 + made it unnecessarily inefficient.
1256
1119 - Will merge to 'master' in the second batch.
1257 + Will merge to 'master' in the third batch.
1258
1259
1122 -* nd/magic-pathspec (2013-07-23) 48 commits
1123 - (merged to 'next' on 2013-08-28 at 305c6e9)
1124 - + rm: do not set a variable twice without intermediate reading.
1125 - + t6131 - skip tests if on case-insensitive file system
1126 - + parse_pathspec: accept :(icase)path syntax
1127 - + pathspec: support :(glob) syntax
1128 - + pathspec: make --literal-pathspecs disable pathspec magic
1129 - + pathspec: support :(literal) syntax for noglob pathspec
1130 - + kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
1131 - + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
1132 - + parse_pathspec: make sure the prefix part is wildcard-free
1133 - + rename field "raw" to "_raw" in struct pathspec
1134 - + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
1135 - + remove match_pathspec() in favor of match_pathspec_depth()
1136 - + remove init_pathspec() in favor of parse_pathspec()
1137 - + remove diff_tree_{setup,release}_paths
1138 - + convert common_prefix() to use struct pathspec
1139 - + convert add_files_to_cache to take struct pathspec
1140 - + convert {read,fill}_directory to take struct pathspec
1141 - + convert refresh_index to take struct pathspec
1142 - + convert report_path_error to take struct pathspec
1143 - + checkout: convert read_tree_some to take struct pathspec
1144 - + convert unmerge_cache to take struct pathspec
1145 - + convert run_add_interactive to use struct pathspec
1146 - + convert read_cache_preload() to take struct pathspec
1147 - + line-log: convert to use parse_pathspec
1148 - + reset: convert to use parse_pathspec
1149 - + add: convert to use parse_pathspec
1150 - + check-ignore: convert to use parse_pathspec
1151 - + archive: convert to use parse_pathspec
1152 - + ls-files: convert to use parse_pathspec
1153 - + rm: convert to use parse_pathspec
1154 - + checkout: convert to use parse_pathspec
1155 - + rerere: convert to use parse_pathspec
1156 - + status: convert to use parse_pathspec
1157 - + commit: convert to use parse_pathspec
1158 - + clean: convert to use parse_pathspec
1159 - + guard against new pathspec magic in pathspec matching code
1160 - + parse_pathspec: support prefixing original patterns
1161 - + parse_pathspec: support stripping/checking submodule paths
1162 - + parse_pathspec: support stripping submodule trailing slashes
1163 - + parse_pathspec: add special flag for max_depth feature
1164 - + convert some get_pathspec() calls to parse_pathspec()
1165 - + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
1166 - + parse_pathspec: save original pathspec for reporting
1167 - + add parse_pathspec() that converts cmdline args to struct pathspec
1168 - + pathspec: add copy_pathspec
1169 - + pathspec: i18n-ize error strings in pathspec parsing code
1170 - + move struct pathspec and related functions to pathspec.[ch]
1171 - + clean: remove unused variable "seen"
1172 - (this branch is used by jl/submodule-mv.)
1260 +* es/rebase-i-no-abbrev (2013-08-25) 3 commits
1261 + (merged to 'next' on 2013-09-04 at 6027805)
1262 + + rebase -i: fix short SHA-1 collision
1263 + + t3404: rebase -i: demonstrate short SHA-1 collision
1264 + + t3404: make tests more self-contained
1265
1174 - Originally merged to 'next' on 2013-07-23
1266 + Originally merged to 'next' on 2013-08-26
1267
1176 - Use "struct pathspec" interface in more places, instead of array of
1177 - characters, the latter of which cannot express magic pathspecs
1178 - (e.g. ":(icase)makefile" that matches both Makefile and makefile).
1268 + The commit object names in the insn sheet that was prepared at the
1269 + beginning of "rebase -i" session can become ambiguous as the
1270 + rebasing progresses and the repository gains more commits. Make
1271 + sure the internal record is kept with full 40-hex object names.
1272
1180 - Will merge to 'master' in the second batch.
1273 + Will merge to 'master' in the third batch.
1274
1275
1183 -* jc/check-x-z (2013-07-11) 4 commits
1184 - (merged to 'next' on 2013-08-28 at a7670ce)
1185 - + check-attr -z: a single -z should apply to both input and output
1186 - + check-ignore -z: a single -z should apply to both input and output
1187 - + check-attr: the name of the character is NUL, not NULL
1188 - + check-ignore: the name of the character is NUL, not NULL
1276 +* ks/p4-view-spec (2013-09-03) 2 commits
1277 + - git p4: implement view spec wildcards with "p4 where"
1278 + - git p4 test: sanitize P4CHARSET
1279
1190 - Originally merged to 'next' on 2013-07-15
1280 + Replaced with a reroll that was whitespace damaged.
1281
1192 - "git check-ignore -z" applied the NUL termination to both its input
1193 - (with --stdin) and its output, but "git check-attr -z" ignored the
1194 - option on the output side.
1282 + Waiting for the final Ack.
1283
1196 - This is potentially a backward incompatible fix. Let's see if
1197 - anybody screams before deciding if we want to do anything to help
1198 - existing users (there may be none).
1284
1200 - Will merge to 'master'.
1285 +* nd/push-no-thin (2013-08-13) 1 commit
1286 + (merged to 'next' on 2013-09-04 at faa8c02)
1287 + + push: respect --no-thin
1288
1289 + Originally merged to 'next' on 2013-08-14
1290
1203 -* ms/fetch-prune-configuration (2013-07-18) 1 commit
1204 - (merged to 'next' on 2013-08-28 at fa6ffc7)
1205 - + fetch: make --prune configurable
1291 + "git push --no-thin" was a no-op by mistake.
1292
1207 - Originally merged to 'next' on 2013-07-21
1293 + Will merge to 'master' in the third batch.
1294
1209 - Allow fetch.prune and remote.*.prune configuration variables to be set,
1210 - and "git fetch" to behave as if "--prune" is given.
1295
1212 - "git fetch" that honors remote.*.prune is fine, but I wonder if we
1213 - should somehow make "git push" aware of it as well. Perhaps
1214 - remote.*.prune should not be just a boolean, but a 4-way "none",
1215 - "push", "fetch", "both"?
1296 +* sh/pull-rebase-preserve (2013-09-04) 1 commit
1297 + (merged to 'next' on 2013-09-04 at 32a93bb)
1298 + + pull: allow pull to preserve merges when rebasing
1299
1217 - Will merge to 'master' in the second batch.
1300 + Originally merged to 'next' on 2013-08-14
1301
1302 + "git pull --rebase" always flattened the history; pull.rebase can
1303 + now be set to "preserve" to invoke "rebase --preserve-merges".
1304
1220 -* km/svn-1.8-serf-only (2013-07-18) 3 commits
1221 - (merged to 'next' on 2013-08-28 at 1119134)
1222 - + Git.pm: revert _temp_cache use of temp_is_locked
1223 - + git-svn: allow git-svn fetching to work using serf
1224 - + Git.pm: add new temp_is_locked function
1305 + Will merge to 'master' in the third batch.
1306
1226 - Originally merged to 'next' on 2013-07-19
1307
1228 - Subversion 1.8.0 that was recently released breaks older subversion
1229 - clients coming over http/https in various ways.
1308 +* jn/post-receive-utf8 (2013-08-05) 3 commits
1309 + (merged to 'next' on 2013-09-04 at 3a3f480)
1310 + + hooks/post-receive-email: set declared encoding to utf-8
1311 + + hooks/post-receive-email: force log messages in UTF-8
1312 + + hooks/post-receive-email: use plumbing instead of git log/show
1313
1231 - Will merge to 'master'.
1314 + Originally merged to 'next' on 2013-08-20
1315 +
1316 + Update post-receive-email script to make sure the message contents
1317 + and pathnames are encoded consistently in UTF-8.
1318 +
1319 + Will merge to 'master' in the third batch.
1320
1321
1322 * tr/merge-recursive-index-only (2013-07-07) 3 commits
@@ -1239,37 +1327,6 @@ of the repositories listed at
1327 Will hold, until we get any user.
1328
1329
1242 -* jc/push-cas (2013-08-02) 9 commits
1243 - (merged to 'next' on 2013-08-28 at 784281f)
1244 - + push: teach --force-with-lease to smart-http transport
1245 - + send-pack: fix parsing of --force-with-lease option
1246 - + t5540/5541: smart-http does not support "--force-with-lease"
1247 - + t5533: test "push --force-with-lease"
1248 - + push --force-with-lease: tie it all together
1249 - + push --force-with-lease: implement logic to populate old_sha1_expect[]
1250 - + remote.c: add command line option parser for "--force-with-lease"
1251 - + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
1252 - + cache.h: move remote/connect API out of it
1253 -
1254 - Originally merged to 'next' on 2013-08-05
1255 -
1256 - Allow a safer "rewind of the remote tip" push than blind "--force",
1257 - by requiring that the overwritten remote ref to be unchanged since
1258 - the new history to replace it was prepared.
1259 -
1260 - The machinery is more or less ready. The "--force" option is again
1261 - the big red button to override any safety, thanks to J6t's sanity
1262 - (the original round allowed --lockref to defeat --force).
1263 -
1264 - The logic to choose the default implemented here is fragile
1265 - (e.g. "git fetch" after seeing a failure will update the
1266 - remote-tracking branch and will make the next "push" pass,
1267 - defeating the safety pretty easily). It is suitable only for the
1268 - simplest workflows, and it may hurt users more than it helps them.
1269 -
1270 - Will merge to 'master' in the second batch.
1271 -
1272 -
1330 * jc/pull-training-wheel (2013-07-19) 1 commit
1331 (merged to 'next' on 2013-08-28 at c39bd15)
1332 + pull: require choice between rebase/merge on non-fast-forward pull
@@ -1280,14 +1337,10 @@ of the repositories listed at
1337 integrate from where) refuse with "it does not fast forward; choose
1338 between 'pull --merge' and 'pull --rebase'".
1339
1283 - See
1284 -
1285 - http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=225326
1286 - http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=229221
1287 -
1288 - for full discussion.
1340 + Will revert the merge, wait for the discussion to settle and
1341 + produce a replacement to queue again.
1342
1290 - Will merge to 'master' in the second batch.
1343 + http://thread.gmane.org/gmane.comp.version-control.git/233554/focus=234375
1344
1345
1346 * jc/reflog-doc (2013-06-19) 1 commit
@@ -1328,6 +1381,5 @@ of the repositories listed at
1381
1382 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
1383 - diff: remove "diff-files -q" in a version of Git in a distant future
1331 - (this branch uses jc/diff-filter-negation.)
1384
1385 Will cook in 'next' until a distant future.