sort by:
Revision Author Date Message Commit Date
4010f1d Git 2.14.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:51:37 UTC
cef9271 Sync with 2.13.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:50:02 UTC
42e6fde Git 2.13.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:49:24 UTC
1df0306 Sync with 2.12.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:48:08 UTC
9752ad0 Git 2.12.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:47:41 UTC
65c9d4b Sync with 2.11.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:45:30 UTC
39aaab1 Git 2.11.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:44:45 UTC
0a4986d Sync with 2.10.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:43:17 UTC
27dea46 Git 2.10.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 September 2017, 05:42:22 UTC
dca89d4 Merge branch 'jk/safe-pipe-capture' into maint-2.10 22 September 2017, 05:34:34 UTC
6d6e2f8 Merge branch 'jk/cvsimport-quoting' into maint-2.10 22 September 2017, 05:34:34 UTC
31add46 Merge branch 'jc/cvsserver' into maint-2.10 22 September 2017, 05:34:34 UTC
985f59c Merge branch 'jk/git-shell-drop-cvsserver' into maint-2.10 22 September 2017, 05:34:34 UTC
5b4efea cvsimport: shell-quote variable used in backticks We run `git rev-parse` though the shell, and quote its argument only with single-quotes. This prevents most metacharacters from being a problem, but misses the obvious case when $name itself has single-quotes in it. We can fix this by applying the usual shell-quoting formula. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 September 2017, 02:10:22 UTC
8d0fad0 archimport: use safe_pipe_capture for user input Refnames can contain shell metacharacters which need to be passed verbatim to sub-processes. Using safe_pipe_capture skips the shell entirely. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 September 2017, 02:08:15 UTC
9a42c03 shell: drop git-cvsserver support by default The git-cvsserver script is old and largely unmaintained these days. But git-shell allows untrusted users to run it out of the box, significantly increasing its attack surface. Let's drop it from git-shell's list of internal handlers so that it cannot be run by default. This is not backwards compatible. But given the age and development activity on CVS-related parts of Git, this is likely to impact very few users, while helping many more (i.e., anybody who runs git-shell and had no intention of supporting CVS). There's no configuration mechanism in git-shell for us to add a boolean and flip it to "off". But there is a mechanism for adding custom commands, and adding CVS support here is fairly trivial. Let's document it to give guidance to anybody who really is still running cvsserver. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 September 2017, 02:05:58 UTC
46203ac cvsserver: use safe_pipe_capture for `constant commands` as well This is not strictly necessary, but it is a good code hygiene. Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2017, 05:52:29 UTC
27dd738 cvsserver: use safe_pipe_capture instead of backticks This makes the script pass arguments that are derived from end-user input in safer way when invoking subcommands. Reported-by: joernchen <joernchen@phenoelit.de> Signed-off-by: joernchen <joernchen@phenoelit.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2017, 05:52:29 UTC
fce13af cvsserver: move safe_pipe_capture() to the main package As a preparation for replacing `command` with a call to this function from outside GITCVS::updater package, move it to the main package. Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 September 2017, 05:52:29 UTC
94c9fd2 RelNotes: further fixes for 2.14.2 from the master front Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 September 2017, 08:06:09 UTC
60f4851 Merge branch 'jt/doc-pack-objects-fix' into maint Doc updates. * jt/doc-pack-objects-fix: Doc: clarify that pack-objects makes packs, plural 10 September 2017, 08:03:10 UTC
8134746 Merge branch 'jn/vcs-svn-cleanup' into maint Code clean-up. * jn/vcs-svn-cleanup: vcs-svn: move remaining repo_tree functions to fast_export.h vcs-svn: remove repo_delete wrapper function vcs-svn: remove custom mode constants vcs-svn: remove more unused prototypes and declarations 10 September 2017, 08:03:09 UTC
044aa0e Merge branch 'bc/vcs-svn-cleanup' into maint Code clean-up. * bc/vcs-svn-cleanup: vcs-svn: rename repo functions to "svn_repo" vcs-svn: remove unused prototypes 10 September 2017, 08:03:08 UTC
5e03ae4 Merge branch 'jk/doc-the-this' into maint Doc clean-up. * jk/doc-the-this: doc: fix typo in sendemail.identity 10 September 2017, 08:03:07 UTC
02a19e9 Merge branch 'rs/commit-h-single-parent-cleanup' into maint Code clean-up. * rs/commit-h-single-parent-cleanup: commit: remove unused inline function single_parent() 10 September 2017, 08:03:07 UTC
d2ef4be Merge branch 'mg/format-ref-doc-fix' into maint Doc fix. * mg/format-ref-doc-fix: Documentation/git-for-each-ref: clarify peeling of tags for --format Documentation: use proper wording for ref format strings 10 September 2017, 08:03:06 UTC
95d25c4 Merge branch 'sb/submodule-parallel-update' into maint Code clean-up. * sb/submodule-parallel-update: submodule.sh: remove unused variable 10 September 2017, 08:03:06 UTC
b3c2280 Merge branch 'hv/t5526-andand-chain-fix' into maint Test fix. * hv/t5526-andand-chain-fix: t5526: fix some broken && chains 10 September 2017, 08:03:05 UTC
f04f860 Merge branch 'sb/sha1-file-cleanup' into maint Code clean-up. * sb/sha1-file-cleanup: sha1_file: make read_info_alternates static 10 September 2017, 08:03:04 UTC
1a8a328 Merge branch 'rs/t1002-do-not-use-sum' into maint Test simplification. * rs/t1002-do-not-use-sum: t1002: stop using sum(1) 10 September 2017, 08:03:04 UTC
b438722 Merge branch 'ah/doc-empty-string-is-false' into maint Doc update. * ah/doc-empty-string-is-false: doc: clarify "config --bool" behaviour with empty string 10 September 2017, 08:03:03 UTC
afa6608 Merge branch 'rs/merge-microcleanup' into maint Code clean-up. * rs/merge-microcleanup: merge: use skip_prefix() 10 September 2017, 08:03:02 UTC
c580ce1 Merge branch 'rs/find-pack-entry-bisection' into maint Code clean-up. * rs/find-pack-entry-bisection: sha1_file: avoid comparison if no packed hash matches the first byte 10 September 2017, 08:03:02 UTC
c7759cd Merge branch 'rs/apply-lose-prefix-length' into maint Code clean-up. * rs/apply-lose-prefix-length: apply: remove prefix_length member from apply_state 10 September 2017, 08:03:01 UTC
70def2c Merge branch 'rj/add-chmod-error-message' into maint Message fix. * rj/add-chmod-error-message: builtin/add: add detail to a 'cannot chmod' error message 10 September 2017, 08:03:00 UTC
822a4d4 Merge branch 'jk/hashcmp-memcmp' into maint Code clean-up. * jk/hashcmp-memcmp: hashcmp: use memcmp instead of open-coded loop 10 September 2017, 08:02:59 UTC
f35a1d7 Merge branch 'rs/t3700-clean-leftover' into maint A test fix. * rs/t3700-clean-leftover: t3700: fix broken test under !POSIXPERM 10 September 2017, 08:02:58 UTC
8f3d48e Merge branch 'jc/perl-git-comment-typofix' into maint A comment fix. * jc/perl-git-comment-typofix: perl/Git.pm: typofix in a comment 10 September 2017, 08:02:57 UTC
036e127 Merge branch 'mf/no-dashed-subcommands' into maint Code clean-up. * mf/no-dashed-subcommands: scripts: use "git foo" not "git-foo" 10 September 2017, 08:02:56 UTC
1eb539a Merge branch 'ab/ref-filter-no-contains' into maint A test fix. * ab/ref-filter-no-contains: tests: don't give unportable ">" to "test" built-in, use -gt 10 September 2017, 08:02:56 UTC
ea8bf00 Merge branch 'rs/archive-excluded-directory' into maint "git archive" did not work well with pathspecs and the export-ignore attribute. We may want to resurrect the "we don't archive an empty directory" bonus patch, but I do not mind merging the above early to 'next' and leave it as a separate follow-up enhancement. cf. <20170820090629.tumvqwzkromcykjf@sigill.intra.peff.net> * rs/archive-excluded-directory: archive: don't queue excluded directories archive: factor out helper functions for handling attributes t5001: add tests for export-ignore attributes and exclude pathspecs 10 September 2017, 08:02:55 UTC
78ad094 Merge branch 'mg/killed-merge' into maint Killing "git merge --edit" before the editor returns control left the repository in a state with MERGE_MSG but without MERGE_HEAD, which incorrectly tells the subsequent "git commit" that there was a squash merge in progress. This has been fixed. * mg/killed-merge: merge: save merge state earlier merge: split write_merge_state in two merge: clarify call chain Documentation/git-merge: explain --continue 10 September 2017, 08:02:55 UTC
648a50a Merge branch 'tb/apply-with-crlf' into maint "git apply" that is used as a better "patch -p1" failed to apply a taken from a file with CRLF line endings to a file with CRLF line endings. The root cause was because it misused convert_to_git() that tried to do "safe-crlf" processing by looking at the index entry at the same path, which is a nonsense---in that mode, "apply" is not working on the data in (or derived from) the index at all. This has been fixed. * tb/apply-with-crlf: apply: file commited with CRLF should roundtrip diff and apply convert: add SAFE_CRLF_KEEP_CRLF 10 September 2017, 08:02:55 UTC
27015b4 Merge branch 'cc/subprocess-handshake-missing-capabilities' into maint When handshake with a subprocess filter notices that the process asked for an unknown capability, Git did not report what program the offending subprocess was running. This has been corrected. We may want a follow-up fix to tighten the error checking, though. * cc/subprocess-handshake-missing-capabilities: sub-process: print the cmd when a capability is unsupported 10 September 2017, 08:02:55 UTC
f1b64e8 Merge branch 'as/grep-quiet-no-match-exit-code-fix' into maint "git grep -L" and "git grep --quiet -L" reported different exit codes; this has been corrected. * as/grep-quiet-no-match-exit-code-fix: git-grep: correct exit code with --quiet and -L 10 September 2017, 08:02:55 UTC
8388f98 Merge branch 'kd/stash-with-bash-4.4' into maint bash 4.4 or newer gave a warning on NUL byte in command substitution done in "git stash"; this has been squelched. * kd/stash-with-bash-4.4: stash: prevent warning about null bytes in input 10 September 2017, 08:02:54 UTC
fbded00 Merge branch 'rs/win32-syslog-leakfix' into maint Memory leak in an error codepath has been plugged. * rs/win32-syslog-leakfix: win32: plug memory leak on realloc() failure in syslog() 10 September 2017, 08:02:54 UTC
438776e Merge branch 'rs/unpack-entry-leakfix' into maint Memory leak in an error codepath has been plugged. * rs/unpack-entry-leakfix: sha1_file: release delta_stack on error in unpack_entry() 10 September 2017, 08:02:53 UTC
c3b931e Merge branch 'rs/fsck-obj-leakfix' into maint Memory leak in an error codepath has been plugged. * rs/fsck-obj-leakfix: fsck: free buffers on error in fsck_obj() 10 September 2017, 08:02:53 UTC
e0d52ec Merge branch 'ur/svn-local-zone' into maint "git svn" used with "--localtime" option did not compute the tz offset for the timestamp in question and instead always used the current time, which has been corrected. * ur/svn-local-zone: git svn fetch: Create correct commit timestamp when using --localtime 10 September 2017, 08:02:52 UTC
00fd0af Merge branch 'pw/am-signoff' into maint "git am -s" has been taught that some input may end with a trailer block that is not Signed-off-by: and it should refrain from adding an extra blank line before adding a new sign-off in such a case. * pw/am-signoff: am: fix signoff when other trailers are present 10 September 2017, 08:02:51 UTC
0f80fb1 Merge branch 'rs/in-obsd-basename-dirname-take-const' into maint Portability fix. * rs/in-obsd-basename-dirname-take-const: test-path-utils: handle const parameter of basename and dirname 10 September 2017, 08:02:51 UTC
b3a19e0 Merge branch 'rs/t4062-obsd' into maint Test portability fix. * rs/t4062-obsd: t4062: use less than 256 repetitions in regex 10 September 2017, 08:02:51 UTC
c2e1941 Merge branch 'rs/obsd-getcwd-workaround' into maint Test portability fix for BSDs. * rs/obsd-getcwd-workaround: t0001: skip test with restrictive permissions if getpwd(3) respects them 10 September 2017, 08:02:50 UTC
277194a Merge branch 'bw/clone-recursive-quiet' into maint "git clone --recurse-submodules --quiet" did not pass the quiet option down to submodules. * bw/clone-recursive-quiet: clone: teach recursive clones to respect -q 10 September 2017, 08:02:49 UTC
86c726f Merge branch 'pw/sequence-rerere-autoupdate' into maint Commands like "git rebase" accepted the --rerere-autoupdate option from the command line, but did not always use it. This has been fixed. * pw/sequence-rerere-autoupdate: cherry-pick/revert: reject --rerere-autoupdate when continuing cherry-pick/revert: remember --rerere-autoupdate t3504: use test_commit rebase -i: honor --rerere-autoupdate rebase: honor --rerere-autoupdate am: remember --rerere-autoupdate setting 10 September 2017, 08:02:49 UTC
eba2a68 Merge branch 'bw/push-options-recursively-to-submodules' into maint "git push --recurse-submodules $there HEAD:$target" was not propagated down to the submodules, but now it is. * bw/push-options-recursively-to-submodules: submodule--helper: teach push-check to handle HEAD 10 September 2017, 08:02:49 UTC
702239d Merge branch 'ma/pager-per-subcommand-action' into maint The "tag.pager" configuration variable was useless for those who actually create tag objects, as it interfered with the use of an editor. A new mechanism has been introduced for commands to enable pager depending on what operation is being carried out to fix this, and then "git tag -l" is made to run pager by default. If this works out OK, I think there are low-hanging fruits in other commands like "git branch" that outputs long list in one mode while taking input in another. * ma/pager-per-subcommand-action: git.c: ignore pager.* when launching builtin as dashed external tag: change default of `pager.tag` to "on" tag: respect `pager.tag` in list-mode only t7006: add tests for how git tag paginates git.c: provide setup_auto_pager() git.c: let builtins opt for handling `pager.foo` themselves builtin.h: take over documentation from api-builtin.txt 10 September 2017, 08:02:48 UTC
c2a3bb4 Merge branch 'jk/rev-list-empty-input' into maint "git log --tag=no-such-tag" showed log starting from HEAD, which has been fixed---it now shows nothing. * jk/rev-list-empty-input: revision: do not fallback to default when rev_input_given is set rev-list: don't show usage when we see empty ref patterns revision: add rev_input_given flag t6018: flesh out empty input/output rev-list tests 10 September 2017, 08:02:48 UTC
638eb4e Merge branch 'st/lib-gpg-kill-stray-agent' into maint Some versions of GnuPG fails to kill gpg-agent it auto-spawned and such a left-over agent can interfere with a test. Work it around by attempting to kill one before starting a new test. * st/lib-gpg-kill-stray-agent: t: lib-gpg: flush gpg agent on startup 10 September 2017, 08:02:48 UTC
edc74bc Prepare for 2.14.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 21:36:03 UTC
0f41b92 Merge branch 'jt/t1450-fsck-corrupt-packfile' into maint A test update. * jt/t1450-fsck-corrupt-packfile: tests: ensure fsck fails on corrupt packfiles 23 August 2017, 21:33:52 UTC
86bf8e4 Merge branch 'jb/t8008-cleanup' into maint Code clean-up. * jb/t8008-cleanup: t8008: rely on rev-parse'd HEAD instead of sha1 value 23 August 2017, 21:33:52 UTC
df2dd28 Merge branch 'jt/subprocess-handshake' into maint Code cleanup. * jt/subprocess-handshake: sub-process: refactor handshake to common function Documentation: migrate sub-process docs to header convert: add "status=delayed" to filter process protocol convert: refactor capabilities negotiation convert: move multiple file filter error handling to separate function convert: put the flags field before the flag itself for consistent style t0021: write "OUT <size>" only on success t0021: make debug log file name configurable t0021: keep filter log files on comparison 23 August 2017, 21:33:52 UTC
de55703 Merge branch 'dc/fmt-merge-msg-microcleanup' into maint Code cleanup. * dc/fmt-merge-msg-microcleanup: fmt-merge-msg: fix coding style 23 August 2017, 21:33:52 UTC
b55b936 Merge branch 'ah/doc-wserrorhighlight' into maint Doc update. * ah/doc-wserrorhighlight: doc: add missing values "none" and "default" for diff.wsErrorHighlight 23 August 2017, 21:33:51 UTC
d0dffca Merge branch 'cc/ref-is-hidden-microcleanup' into maint Code cleanup. * cc/ref-is-hidden-microcleanup: refs: use skip_prefix() in ref_is_hidden() 23 August 2017, 21:33:50 UTC
0869277 Merge branch 'js/run-process-parallel-api-fix' into maint API fix. * js/run-process-parallel-api-fix: run_processes_parallel: change confusing task_cb convention 23 August 2017, 21:33:49 UTC
e22a48c Merge branch 'rs/pack-objects-pbase-cleanup' into maint Code clean-up. * rs/pack-objects-pbase-cleanup: pack-objects: remove unnecessary NULL check 23 August 2017, 21:33:48 UTC
697f11b Merge branch 'jt/fsck-code-cleanup' into maint Code clean-up. * jt/fsck-code-cleanup: fsck: cleanup unused variable object: remove "used" field from struct object fsck: remove redundant parse_tree() invocation 23 August 2017, 21:33:48 UTC
0d824bc Merge branch 'rs/stat-data-unaligned-reads-fix' into maint Code clean-up. * rs/stat-data-unaligned-reads-fix: dir: support platforms that require aligned reads 23 August 2017, 21:33:48 UTC
d3b7ee0 Merge branch 'rs/move-array' into maint Code clean-up. * rs/move-array: ls-files: don't try to prune an empty index apply: use COPY_ARRAY and MOVE_ARRAY in update_image() use MOVE_ARRAY add MOVE_ARRAY 23 August 2017, 21:33:46 UTC
752732c Merge branch 'rs/bswap-ubsan-fix' into maint Code clean-up. * rs/bswap-ubsan-fix: bswap: convert get_be16, get_be32 and put_be32 to inline functions bswap: convert to unsigned before shifting in get_be32 23 August 2017, 21:33:46 UTC
cdc55aa Merge branch 'dl/credential-cache-socket-in-xdg-cache' into maint A recently added test for the "credential-cache" helper revealed that EOF detection done around the time the connection to the cache daemon is torn down were flaky. This was fixed by reacting to ECONNRESET and behaving as if we got an EOF. * dl/credential-cache-socket-in-xdg-cache: credential-cache: interpret an ECONNRESET as an EOF 23 August 2017, 21:33:45 UTC
b9e56be Merge branch 'hb/gitweb-project-list' into maint When a directory is not readable, "gitweb" fails to build the project list. Work this around by skipping such a directory. It might end up hiding a problem under the rug and a better solution might be to loudly complain to the administrator pointing out the problematic directory, but this will at least make it "work". * hb/gitweb-project-list: gitweb: skip unreadable subdirectories 23 August 2017, 21:33:44 UTC
01ced48 Merge branch 'ks/commit-abort-on-empty-message-fix' into maint "git commit" when seeing an totally empty message said "you did not edit the message", which is clearly wrong. The message has been corrected. * ks/commit-abort-on-empty-message-fix: commit: check for empty message before the check for untouched template 23 August 2017, 21:33:44 UTC
0cb526e Merge branch 'jk/reflog-walk' into maint Numerous bugs in walking of reflogs via "log -g" and friends have been fixed. * jk/reflog-walk: reflog-walk: apply --since/--until to reflog dates reflog-walk: stop using fake parents rev-list: check reflog_info before showing usage get_revision_1(): replace do-while with an early return log: do not free parents when walking reflog log: clarify comment about reflog cycles revision: disallow reflog walking with revs->limited t1414: document some reflog-walk oddities 23 August 2017, 21:33:44 UTC
72140a7 Merge branch 'jc/http-sslkey-and-ssl-cert-are-paths' into maint The http.{sslkey,sslCert} configuration variables are to be interpreted as a pathname that honors "~[username]/" prefix, but weren't, which has been fixed. * jc/http-sslkey-and-ssl-cert-are-paths: http.c: http.sslcert and http.sslkey are both pathnames 23 August 2017, 21:33:43 UTC
447f80f Merge branch 'jk/ref-filter-colors' into maint "%C(color name)" in the pretty print format always produced ANSI color escape codes, which was an early design mistake. They now honor the configuration (e.g. "color.ui = never") and also tty-ness of the output medium. * jk/ref-filter-colors: ref-filter: consult want_color() before emitting colors pretty: respect color settings for %C placeholders rev-list: pass diffopt->use_colors through to pretty-print for-each-ref: load config earlier color: check color.ui in git_default_config() ref-filter: pass ref_format struct to atom parsers ref-filter: factor out the parsing of sorting atoms ref-filter: make parse_ref_filter_atom a private function ref-filter: provide a function for parsing sort options ref-filter: move need_color_reset_at_eol into ref_format ref-filter: abstract ref format into its own struct ref-filter: simplify automatic color reset t: use test_decode_color rather than literal ANSI codes docs/for-each-ref: update pointer to color syntax check return value of verify_ref_format() 23 August 2017, 21:33:42 UTC
f613b25 Merge branch 'js/git-gui-msgfmt-on-windows' into maint Because recent Git for Windows do come with a real msgfmt, the build procedure for git-gui has been updated to use it instead of a hand-rolled substitute. * js/git-gui-msgfmt-on-windows: git-gui (MinGW): make use of MSys2's msgfmt git gui: allow for a long recentrepo list git gui: de-dup selected repo from recentrepo history git gui: cope with duplicates in _get_recentrepo git-gui: remove duplicate entries from .gitconfig's gui.recentrepo 23 August 2017, 21:33:42 UTC
b8f43b1 vcs-svn: move remaining repo_tree functions to fast_export.h These used to be for manipulating the in-memory repo_tree structure, but nowadays they are convenience wrappers to handle a few git-vs-svn mismatches: 1. Git does not track empty directories but Subversion does. When looking up a path in git that Subversion thinks exists and finding nothing, we can safely assume that the path represents a directory. This is needed when a later Subversion revision modifies that directory. 2. Subversion allows deleting a file by copying. In Git fast-import we have to handle that more explicitly as a deletion. These are details of the tool's interaction with git fast-import. Move them to fast_export.c, where other such details are handled. This way the function names do not start with a repo_ prefix that would clash with the repository object introduced in v2.14.0-rc0~38^2~16 (repository: introduce the repository object, 2017-06-22) or an svn_ prefix that would clash with libsvn (in case someone wants to link this code with libsvn some day). Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:41:26 UTC
9b0db33 vcs-svn: remove repo_delete wrapper function Since v1.7.10-rc0~118^2~4^2~4^2~3 (vcs-svn: pass paths through to fast-import, 2010-12-13) this is an alias for fast_export_delete. Remove the unnecessary layer of indirection. No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:41:25 UTC
21c7c2d vcs-svn: remove custom mode constants In the rest of Git, these modes are spelled as S_IFDIR, S_IFREG | 0644, S_IFREG | 0755, and S_IFLNK. Use the same constants in svn-fe for simplicity and consistency. No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:41:24 UTC
4022279 vcs-svn: remove more unused prototypes and declarations I forgot to remove these in v1.7.10-rc0~118^2~4^2~5^2~4 (vcs-svn: eliminate repo_tree structure, 2010-12-10). This finishes what was started in commit 36f63b50 (vcs-svn: remove unused prototypes, 2017-08-21). Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:41:20 UTC
4a4becf Doc: clarify that pack-objects makes packs, plural The documentation for pack-objects describes that it creates "a packed archive of objects", which is confusing because it may create multiple packs if --max-pack-size is set. Update the documentation to clarify this, and explaining in which cases such a feature would be useful. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:39:41 UTC
9d89b35 merge: save merge state earlier If the `git merge` process is killed while waiting for the editor to finish, the merge state is lost but the prepared merge msg and tree is kept. So, a subsequent `git commit` creates a squashed merge even when the user asked for proper merge commit originally. Demonstrate the problem with a test crafted after the in t7502. The test requires EXECKEEPSPID (thus does not run under MINGW). Save the merge state earlier (in the non-squash case) so that it does not get lost. This makes the test pass. Reported-by: hIpPy <hippy2981@gmail.com> Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:35:02 UTC
8e6a6bb merge: split write_merge_state in two write_merge_state() writes out the merge heads, mode, and msg. But we may want to write out heads, mode without the msg. So, split out heads (+mode) into a separate function write_merge_heads() that is called by write_merge_state(). No funtional change so far, except when these non-atomic writes are interrupted: we write heads-mode-msg now when we used to write heads-msg-mode. Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:34:57 UTC
62dc42b merge: clarify call chain prepare_to_commit() cannot be reached in the non-squash case: It is called by merge_trivial() and finish_automerge() only, but the calls to the latter are somewhat hard to track: If option_commit is not set, the code in cmd_merge() uses a fake conflict return code (ret=1) to avoid writing the tree, which also avoids setting automerge_was_ok (just as in the proper ret==1 case), so that finish_automerge() is not called. To ensure that no code change breaks that assumption, safe-guard prepare_to_commit() by a BUG() statement. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2017, 17:34:41 UTC
e2de82f Documentation/git-merge: explain --continue Currently, 'git merge --continue' is mentioned but not explained. Explain it. Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2017, 00:12:44 UTC
15d1d09 vcs-svn: rename repo functions to "svn_repo" There were several functions in the Subversion code that started with "repo_". This namespace is also used by the Git struct repository code. Rename these functions to start with "svn_repo" to avoid any future conflicts. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2017, 03:55:39 UTC
36f63b5 vcs-svn: remove unused prototypes The Subversion code had prototypes for several functions which were not ever defined or used. These functions all had names starting with "repo_", some of which conflict with those in repository.h. To avoid the conflict, remove those unused prototypes. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2017, 03:55:10 UTC
4e36907 doc: fix typo in sendemail.identity Saying "the this" is an obvious typo. But while we're here, let's polish the English on the second half of the sentence, too. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 August 2017, 17:07:06 UTC
c24f3ab apply: file commited with CRLF should roundtrip diff and apply When a file had been commited with CRLF but now .gitattributes say "* text=auto" (or core.autocrlf is true), the following does not roundtrip, `git apply` fails: printf "Added line\r\n" >>file && git diff >patch && git checkout -- . && git apply patch Before applying the patch, the file from working tree is converted into the index format (clean filter, CRLF conversion, ...). Here, when commited with CRLF, the line endings should not be converted. Note that `git apply --index` or `git apply --cache` doesn't call convert_to_git() because the source material is already in index format. Analyze the patch if there is a) any context line with CRLF, or b) if any line with CRLF is to be removed. In this case the patch file `patch` has mixed line endings, for a) it looks like this: diff --git a/one b/one index 533790e..c30dea8 100644 --- a/one +++ b/one @@ -1 +1,2 @@ a\r +b\r And for b) it looks like this: diff --git a/one b/one index 533790e..485540d 100644 --- a/one +++ b/one @@ -1 +1 @@ -a\r +b\r If `git apply` detects that the patch itself has CRLF, (look at the line " a\r" or "-a\r" above), the new flag crlf_in_old is set in "struct patch" and two things will happen: - read_old_data() will not convert CRLF into LF by calling convert_to_git(..., SAFE_CRLF_KEEP_CRLF); - The WS_CR_AT_EOL bit is set in the "white space rule", CRLF are no longer treated as white space. While at there, make it clear that read_old_data() in apply.c knows what it wants convert_to_git() to do with respect to CRLF. In fact, this codepath is about applying a patch to a file in the filesystem, which may not exist in the index, or may exist but may not match what is recorded in the index, or in the extreme case, we may not even be in a Git repository. If convert_to_git() peeked at the index while doing its work, it *would* be a bug. Pass NULL instead of &the_index to convert_to_git() to make sure we catch future bugs to clarify this. Update the test in t4124: split one test case into 3: - Detect the " a\r" line in the patch - Detect the "-a\r" line in the patch - Use LF in repo and CLRF in the worktree. Reported-by: Anthony Sottile <asottile@umich.edu> Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 August 2017, 16:29:25 UTC
24da8a2 commit: remove unused inline function single_parent() 53b2c823f6 (revision walker: mini clean-up) added the function in 2007, but it was never used, so we should be able to get rid of it now. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 August 2017, 16:24:05 UTC
5ff247a archive: don't queue excluded directories Reject directories with the attribute export-ignore already while queuing them. This prevents read_tree_recursive() from descending into them and this avoids write_archive_entry() rejecting them later on, which queue_or_write_archive_entry() is not prepared for. Borrow the existing strbuf to build the full path to avoid string copies and extra allocations; just make sure we restore the original value before moving on. Keep checking any other attributes in write_archive_entry() as before, but avoid checking them twice. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 August 2017, 07:40:25 UTC
c6c08f7 archive: factor out helper functions for handling attributes Add helpers for accessing attributes that encapsulate the details of how to retrieve their values. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 August 2017, 07:40:23 UTC
bed69a6 t5001: add tests for export-ignore attributes and exclude pathspecs Demonstrate mishandling of the attribute export-ignore by git archive when used together with pathspecs. Wildcard pathspecs can even cause it to abort. And a directory excluded without a wildcard is still included as an empty folder in the archive. Test-case-by: David Adam <zanchey@ucc.gu.uwa.edu.au> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 August 2017, 07:40:22 UTC
794b7e1 Documentation/git-for-each-ref: clarify peeling of tags for --format `*` in format strings means peeling of tag objects so that object field names refer to the object that the tag object points at, instead of the tag object itself. Currently, this is documented using grammar that is clearly inspired by classical latin, though missing more than an article in order to be classical english. Try and straighten that explanation out a bit. Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2017, 16:54:10 UTC
e4933ce Documentation: use proper wording for ref format strings Various commands list refs and allow to use a format string for the output that interpolates from the ref as well as the object it points at (for-each-ref; branch and tag in list mode). Currently, the documentation talks about interpolating from the object. This is confusing because a ref points to an object but not vice versa, so the object cannot possible know %(refname), for example. Thus, this is wrong independent of refs being objects (one day, maybe) or not. Change the wording to make this clearer (and distinguish it from formats for the log family). Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2017, 16:54:09 UTC
e1f68c6 git-grep: correct exit code with --quiet and -L The handling of `status_only` no longer interferes with the handling of `unmatch_name_only`. `--quiet` no longer affects the exit code when using `-L`/`--files-without-match`. Signed-off-by: Anthony Sottile <asottile@umich.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2017, 02:02:23 UTC
back to top