Age | Commit message (Collapse) | Author | Files | Lines |
|
Update of "git submodule" to move pieces of logic to C continues.
* sb/submodule-init:
submodule init: redirect stdout to stderr
submodule--helper update-clone: abort gracefully on missing .gitmodules
submodule init: fail gracefully with a missing .gitmodules file
submodule: port init from shell to C
submodule: port resolve_relative_url from shell to C
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* sb/submodule-module-list-pathspec-fix:
submodule deinit test: fix broken && chain in subshell
|
|
"git commit-tree" plumbing command required the user to always sign
its result when the user sets the commit.gpgsign configuration
variable, which was an ancient mistake. Rework "git rebase" that
relied on this mistake so that it reads commit.gpgsign and pass (or
not pass) the -S option to "git commit-tree" to keep the end-user
expectation the same, while teaching "git commit-tree" to ignore
the configuration variable. This will stop requiring the users to
sign commit objects used internally as an implementation detail of
"git stash".
* jc/commit-tree-ignore-commit-gpgsign:
commit-tree: do not pay attention to commit.gpgsign
|
|
The changes are described in CHANGES.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* 'svn/bad-ref' of git://bogomips.org/git-svn:
Git/SVN: die when there is no commit metadata
|
|
Some multi-byte encoding can have a backslash byte as a later part
of one letter, which would confuse "highlight" filter used in
gitweb.
* sk/gitweb-highlight-encoding:
gitweb: apply fallback encoding before highlight
|
|
* sb/clean-test-fix:
t7300: mark test with SANITY
|
|
* rn/glossary-typofix:
Documentation: fix typo 'In such these cases'
|
|
* ls/travis-submitting-patches:
Documentation: add setup instructions for Travis CI
|
|
* js/close-packs-before-gc:
t5510: run auto-gc in the foreground
|
|
* ew/normal-to-e:
.mailmap: update to my shorter email address
|
|
Recent update to Git LFS broke "git p4" by changing the output from
its "lfs pointer" subcommand.
* ls/p4-lfs:
git-p4: fix Git LFS pointer parsing
travis-ci: express Linux/OS X dependency versions more clearly
travis-ci: update Git-LFS and P4 to the latest version
|
|
* sb/misc-cleanups:
submodule-config: don't shadow `cache`
config.c: drop local variable
|
|
Doc update.
* ew/doc-split-pack-disables-bitmap:
pack-objects: warn on split packs disabling bitmaps
|
|
When passing a bad --trunk option to `git svn clone`, like for example the
same URL that we are cloning:
C:\Windows\system32>git svn clone
https://mycompany.svn.beanstalkapp.com/myproject --no-metadata -A
c:\temp\svn_to_git_users.txt
--trunk=https://mycompany.svn.beanstalkapp.com/myproject
--tags=https://mycompany.svn.beanstalkapp.com/myproject/tags
--branches=https://mycompany.svn.beanstalkapp.com/myproject/branches
c:\code\Git_myproject
One gets an "Use of uninitialized value $u in substitution (s///)" error:
[...]
W: +empty_dir: branches/20080918_DBDEPLOY/vendor/src/csharp/MS WCSF
Contrib/src/Services
W: +empty_dir: branches/20080918_DBDEPLOY/vendor/src/csharp/RealWorldControls/References
r530 = c276e3b039d8e38759c6fb17443349732552d7a2 (refs/remotes/origin/trunk)
Found possible branch point:
https://mycompany.svn.beanstalkapp.com/myproject/trunk =>
https://mycompany.svn.beanstalkapp.com/myproject/branches/20080918_DBDEPLOY,
529
Use of uninitialized value $u in substitution (s///) at
/mingw32/share/perl5/site_perl/Git/SVN.pm line 101.
Use of uninitialized value $u in concatenation (.) or string at
/mingw32/share/perl5/site_perl/Git/SVN.pm line 101.
refs/remotes/origin/trunk:
'https://mycompany.svn.beanstalkapp.com/myproject' not found in ''
C:\Windows\system32>
Let's fix that by just die()ing when we have an uninitialized value because we
cannot get commit metadata from a ref.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Eric Wong <e@80x24.org>
|
|
* maint:
Almost ready for 2.8.3
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
"git submodule" reports the paths of submodules the command
recurses into, but this was incorrect when the command was not run
from the root level of the superproject.
* sb/submodule-path-misc-bugs:
t7407: make expectation as clear as possible
submodule update: test recursive path reporting from subdirectory
submodule update: align reporting path for custom command execution
submodule status: correct path handling in recursive submodules
submodule update --init: correct path handling in recursive submodules
submodule foreach: correct path display in recursive submodules
|
|
Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs
we use in imap-send, which has been adjusted for the change.
* ky/imap-send-openssl-1.1.0:
configure: remove checking for HMAC_CTX_cleanup
imap-send: avoid deprecated TLSv1_method()
imap-send: check NULL return of SSL_CTX_new()
imap-send: use HMAC() function provided by OpenSSL
|
|
"git replace -e" did not honour "core.editor" configuration.
* js/replace-edit-use-editor-configuration:
replace --edit: respect core.editor
|
|
Minor code clean-up.
* cc/apply:
builtin/apply: free patch when parse_chunk() fails
builtin/apply: handle parse_binary() failure
apply: remove unused call to free() in gitdiff_{old,new}name()
builtin/apply: get rid of useless 'name' variable
|
|
A minor documentation update.
* kn/for-each-tag-branch:
for-each-ref: fix description of '--contains' in manpage
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Patch output from "git diff" and friends has been tweaked to be
more readable by using a blank line as a strong hint that the
contents before and after it belong to a logically separate unit.
* jk/diff-compact-heuristic:
diff: undocument the compaction heuristic knobs for experimentation
xdiff: implement empty line chunk heuristic
xdiff: add recs_match helper function
|
|
Fix a broken test.
* ls/p4-lfs-test-fix-2.7.0:
t9824: fix wrong reference value
t9824: fix broken &&-chain in a subshell
|
|
Move from unsigned char[20] to struct object_id continues.
* bc/object-id:
match-trees: convert several leaf functions to use struct object_id
tree-walk: convert tree_entry_extract() to use struct object_id
struct name_entry: use struct object_id instead of unsigned char sha1[20]
match-trees: convert shift_tree() and shift_tree_by() to use object_id
test-match-trees: convert to use struct object_id
sha1-name: introduce a get_oid() function
|
|
"git rebase -m" could be asked to rebase an entire branch starting
from the root, but failed by assuming that there always is a parent
commit to the first commit on the branch.
* bw/rebase-merge-entire-branch:
git-rebase--merge: don't include absent parent as a base
|
|
As nobody maintains our in-tree git.spec.in and distros use their
own spec file, we stopped pretending that we support "make rpm".
* jc/drop-git-spec-in:
Makefile: remove dependency on git.spec
Makefile: stop pretending to support rpmbuild
|
|
HTTP transport clients learned to throw extra HTTP headers at the
server, specified via http.extraHeader configuration variable.
* js/http-custom-headers:
http: support sending custom HTTP headers
|
|
"git clone" learned "--shallow-submodules" option.
* sb/clone-shallow-passthru:
clone: add `--shallow-submodules` flag
|
|
The test scripts for "git p4" (but not "git p4" implementation
itself) has been updated so that they would work even on a system
where the installed version of Python is python 3.
* ld/p4-test-py3:
git-p4 tests: time_in_seconds should use $PYTHON_PATH
git-p4 tests: work with python3 as well as python2
git-p4 tests: cd to / before running python
|
|
Doc update.
* sb/config-exit-status-list:
config doc: improve exit code listing
|
|
* maint:
git-multimail: update to release 1.3.0
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
UI consistency improvements.
* nf/mergetool-prompt:
difftool/mergetool: make the form of yes/no questions consistent
|
|
A question by "git send-email" to ask the identity of the sender
has been updated.
* jd/send-email-to-whom:
send-email: fix grammo in the prompt that asks e-mail recipients
|
|
Code cleanup.
* rt/string-list-lookup-cleanup:
string_list: use string-list API in unsorted_string_list_lookup()
|
|
Code fixup.
* jk/fix-attribute-macro-in-2.5:
remote.c: spell __attribute__ correctly
|
|
Code cleanup.
* sg/test-lib-simplify-expr-away:
test-lib: simplify '--option=value' parsing
|
|
Code cleanup.
* nd/remove-unused:
wrapper.c: delete dead function git_mkstemps()
dir.c: remove dead function fnmatch_icase()
|
|
"git describe --contains" often made a hard-to-justify choice of
tag to give name to a given commit, because it tried to come up
with a name with smallest number of hops from a tag, causing an old
commit whose close descendant that is recently tagged were not
described with respect to an old tag but with a newer tag. It did
not help that its computation of "hop" count was further tweaked to
penalize being on a side branch of a merge. The logic has been
updated to favor using the tag with the oldest tagger date, which
is a lot easier to explain to the end users: "We describe a commit
in terms of the (chronologically) oldest tag that contains the
commit."
* js/name-rev-use-oldest-ref:
name-rev: include taggerdate in considering the best name
|
|
"git p4" learned to record P4 jobs in Git commit that imports from
the history in Perforce.
* jd/p4-jobs-in-commit:
git-p4: add P4 jobs to git commit message
git-p4: clean-up code style in tests
|
|
"merge-recursive" strategy incorrectly checked if a path that is
involved in its internal merge exists in the working tree.
* en/merge-fixes:
merge-recursive: do not check working copy when creating a virtual merge base
merge-recursive: remove duplicate code
|
|
The changes are described in CHANGES.
Contributions-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Contributions-by: Stefan Tatschner <rumpelsepp@sevenbyte.org>
Contributions-by: Simon P <simon.git@le-huit.fr>
Contributions-by: Leander Hasty <leander@1stplayable.com>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
The test runs `chmod 0` on a file to test a case where Git fails to
read it, but that would not work if it is run as root.
Reported-by: Jan Keromnes <janx@linux.com>
Fix-proposed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Some multi-byte character encodings (such as Shift_JIS and GBK) have
characters whose final bytes is an ASCII '\' (0x5c), and they
will be displayed as funny-characters even if $fallback_encoding is
correct. This is because `highlight` command always expects UTF-8
encoded strings from STDIN.
$ echo 'my $v = "申";' | highlight --syntax perl | w3m -T text/html -dump
my $v = "申";
$ echo 'my $v = "申";' | iconv -f UTF-8 -t Shift_JIS | highlight \
--syntax perl | iconv -f Shift_JIS -t UTF-8 | w3m -T text/html -dump
iconv: (stdin):9:135: cannot convert
my $v = "
This patch prepare git blob objects to be encoded into UTF-8 before
highlighting in the manner of `to_utf8` subroutine.
Signed-off-by: Shin Kojima <shin@kojima.org>
Reviewed-by: Jakub Narębski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
ba3c69a9 (commit: teach --gpg-sign option, 2011-10-05) introduced a
"signed commit" by teaching the --[no]-gpg-sign option and the
commit.gpgsign configuration variable to various commands that
create commits.
Teaching these to "git commit" and "git merge", both of which are
end-user facing Porcelain commands, was perfectly fine. Allowing
the plumbing "git commit-tree" to suddenly change the behaviour to
surprise the scripts by paying attention to commit.gpgsign was not.
Among the in-tree scripts, filter-branch, quiltimport, rebase and
stash are the commands that run "commit-tree". If any of these
wants to allow users to always sign every single commit, they should
offer their own configuration (e.g. "filterBranch.gpgsign") with an
option to disable signing (e.g. "git filter-branch --no-gpgsign").
Ignoring commit.gpgsign option _obviously_ breaks the backward
compatibility, but it is easy to follow the standard pattern in
scripts to honor whatever configuration variable they choose to
follow. E.g.
case $(git config --bool commit.gpgsign) in
true) sign=-S ;;
*) sign= ;;
esac &&
git commit-tree $sign ...whatever other args...
Do so to make sure that "git rebase" keeps paying attention to the
configuration variable, which unfortunately is a documented mistake.
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Reroute the output of stdout to stderr as it is just informative
messages, not to be consumed by machines.
This should not regress any scripts that try to parse the
current output, as the output is already internationalized
and therefore unstable.
We want to init submodules from the helper for `submodule update`
in a later patch and the stdout output of said helper is consumed
by the parts of `submodule update` which are still written in shell.
So we have to be careful which messages are on stdout.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|