Commit Graph

31288 Commits

Author SHA1 Message Date
Andrew Wong
e3d06ca93e git-gui: Detect full path when parsing arguments
When running "git-gui blame" from a subfolder (which means prefix is
non-empty), if we pass a full path as argument, the argument parsing
will fail to recognize the argument as a file name, because prefix is
prepended to the argument.

This patch handles that scenario by adding an additional branch that
checks the file name without using the prefix.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-10-17 21:47:49 +01:00
Linus Torvalds
74faaa16f0 Fix "git diff --stat" for interesting - but empty - file changes
The behavior of "git diff --stat" is rather odd for files that have
zero lines of changes: it will discount them entirely unless they were
renames.

Which means that the stat output will simply not show files that only
had "other" changes: they were created or deleted, or their mode was
changed.

Now, those changes do show up in the summary, but so do renames, so
the diffstat logic is inconsistent. Why does it show renames with zero
lines changed, but not mode changes or added files with zero lines
changed?

So change the logic to not check for "is_renamed", but for
"is_interesting" instead, where "interesting" is judged to be any
action but a pure data change (because a pure data change with zero
data changed really isn't worth showing, if we ever get one in our
diffpairs).

So if you did

   chmod +x Makefile
   git diff --stat

before, it would show empty (" 0 files changed"), with this it shows

 Makefile | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

which I think is a more correct diffstat (and then with "--summary" it
shows *what* the metadata change to Makefile was - this is completely
consistent with our handling of renamed files).

Side note: the old behavior was *really* odd. With no changes at all,
"git diff --stat" output was empty. With just a chmod, it said "0
files changed". No way is our legacy behavior sane.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17 11:50:50 -07:00
Junio C Hamano
87a5461fa7 Git 1.8.0-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17 10:39:44 -07:00
Junio C Hamano
3d0a2d654f Merge git://github.com/git-l10n/git-po
* git://github.com/git-l10n/git-po:
  l10n: vi.po: update from v1.8.0-rc2-4-g42e55
  l10n: Update Swedish translation (1964t0f0u)
2012-10-17 10:37:40 -07:00
Junio C Hamano
d2bfef22e4 Sync with 1.7.12.4 2012-10-17 10:37:32 -07:00
Junio C Hamano
7e2010537e Git 1.7.12.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17 10:36:42 -07:00
Junio C Hamano
e98fa647aa Merge branch 'jk/maint-http-half-auth-push' into maint
* jk/maint-http-half-auth-push:
  http: fix segfault in handle_curl_result
2012-10-17 10:29:24 -07:00
Junio C Hamano
5a77ff74ba Merge branch 'rr/git-uri-doc' into maint
* rr/git-uri-doc:
  Git url doc: mark ftp/ftps as read-only and deprecate them
2012-10-17 10:28:56 -07:00
Junio C Hamano
c15fadab65 Merge branch 'bw/cp-a-is-gnuism' into maint
* bw/cp-a-is-gnuism:
  tests: "cp -a" is a GNUism
2012-10-17 10:28:48 -07:00
Junio C Hamano
530d71011e Merge branch 'nd/doc-ignore' into maint
* nd/doc-ignore:
  gitignore.txt: suggestions how to get literal # or ! at the beginning
2012-10-17 10:28:42 -07:00
Junio C Hamano
352611fc2c Merge branch 'jc/doc-long-options' into maint
* jc/doc-long-options:
  gitcli: parse-options lets you omit tail of long options
2012-10-17 10:28:34 -07:00
Junio C Hamano
26c21f8ec6 Merge branch 'jc/maint-t1450-fsck-order-fix' into maint
* jc/maint-t1450-fsck-order-fix:
  t1450: the order the objects are checked is undefined
2012-10-17 10:28:19 -07:00
Junio C Hamano
ff3ec8a9a2 Merge branch 'rr/test-use-shell-path-not-shell' into maint
* rr/test-use-shell-path-not-shell:
  test-lib: use $SHELL_PATH, not $SHELL
2012-10-17 10:27:28 -07:00
Junio C Hamano
5178ee1ea2 Merge branch 'rr/test-make-sure-we-have-git' into maint
* rr/test-make-sure-we-have-git:
  t/test-lib: make sure Git has already been built
2012-10-17 10:27:21 -07:00
Junio C Hamano
756583f432 Merge branch 'po/maint-docs' into maint
* po/maint-docs:
  Doc branch: show -vv option and alternative
  Doc clean: add See Also link
  Doc add: link gitignore
  Doc: separate gitignore pattern sources
  Doc: shallow clone deepens _to_ new depth
2012-10-17 10:27:10 -07:00
Junio C Hamano
8c4bcd34bd Merge branch 'jc/ll-merge-binary-ours' into maint
* jc/ll-merge-binary-ours:
  ll-merge: warn about inability to merge binary files only when we can't
  attr: "binary" attribute should choose built-in "binary" merge driver
  merge: teach -Xours/-Xtheirs to binary ll-merge driver
2012-10-17 10:26:51 -07:00
Junio C Hamano
19100d3f7d Merge branch 'db/doc-custom-xmlto' into maint
* db/doc-custom-xmlto:
  Documentation/Makefile: Allow custom XMLTO binary
2012-10-17 10:25:37 -07:00
Junio C Hamano
76c36c02ff coloured git-prompt: paint detached HEAD marker in red
Paint the marker for normal state in green and detached state
in red, instead of the other way around.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17 00:44:25 -07:00
Johannes Sixt
84adb64154 maybe_flush_or_die: move a too-loose Windows specific error
check to compat

Commit b2f5e268 (Windows: Work around an oddity when a pipe with no reader
is written to) introduced a check for EINVAL after fflush() to fight
spurious "Invalid argument" errors on Windows when a pipe was broken. But
this check may hide real errors on systems that do not have the this odd
behavior. Introduce an fflush wrapper in compat/mingw.* so that the treatment
is only applied on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17 00:33:42 -07:00
Chris Rorvick
fb2c984148 git-cvsimport: allow author-specific timezones
CVS patchsets are imported with timestamps having an offset of +0000
(UTC).  The cvs-authors file is already used to translate the CVS
username to full name and email in the corresponding commit.  Extend
this file to support an optional timezone for calculating a user-
specific timestamp offset.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 22:23:18 -07:00
Jiang Xin
b408887045 Merge branch 'master' of https://github.com/nafmo/git-l10n-sv
* 'master' of https://github.com/nafmo/git-l10n-sv:
  l10n: Update Swedish translation (1964t0f0u)
2012-10-17 09:38:30 +08:00
Jiang Xin
0303abccea Merge branch 'master' of git://github.com/vnwildman/git
* 'master' of git://github.com/vnwildman/git:
  l10n: vi.po: update from v1.8.0-rc2-4-g42e55
2012-10-17 09:37:30 +08:00
Tran Ngoc Quan
34a166439a l10n: vi.po: update from v1.8.0-rc2-4-g42e55
* translate 3 new messages
* review quotes

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-10-17 08:15:28 +07:00
Matthew Ogilvie
abd66f2207 cvsserver status: provide real sticky info
Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:27 -07:00
Matthew Ogilvie
bed8a19743 cvsserver: cvs add: do not expand directory arguments
Standard "cvs add" never does any recursion.  With standard
cvs, "cvs add dir" will either add just the "dir" to
the repository, or error out.  Prior to this change, git-cvsserver
would try to recurse (perhaps re-adding sandbox-removed files?) into
the existing directory instead.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:26 -07:00
Matthew Ogilvie
ab07681fed cvsserver: use whole CVS rev number in-process; don't strip "1." prefix
Keep track of the whole CVS revision number in-process.  This will
clarify code when we start handling non-linear revision numbers later.

There is one externally visible change: conflict markers after
an update will now include the full CVS revision number,
including the "1." prefix.  It used to leave off the prefix.

Other than the conflict marker, this change doesn't effect
external functionality.  No new features, and the DB schema
is unchanged such that it continues to store just
the stripped rev numbers (without prefix).

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:26 -07:00
Matthew Ogilvie
4d804c0e64 cvsserver: split up long lines in req_{status,diff,log}
Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:24 -07:00
Matthew Ogilvie
566c69e715 cvsserver: clean up client request handler map comments
- Comment that it should not be considered a complete list.
  - #'annotate' comment  - Uncommented annotate line is 2 lines earlier.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:23 -07:00
Matthew Ogilvie
a86c0983d4 cvsserver: remove unused functions _headrev and gethistory
Remove:
   - _headrev() - It uses similar functionality from getmeta() and gethead().
   - gethistory() - It uses similar functions gethistorydense() and getlog().

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:23 -07:00
Matthew Ogilvie
d8574ff209 cvsserver update: comment about how we shouldn't remove a user-modified file
Instead of a comment, we should really add test cases and actually fix it.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:22 -07:00
Matthew Ogilvie
196e48f4d0 cvsserver: add comments about database schema/usage
No functionality changes, but these comments should make it easier to
understand how it works.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:21 -07:00
Matthew Ogilvie
39b6a4bd25 cvsserver: removed unused sha1Or-k mode from kopts_from_path
sha1Or-k was a vestige from an early, never-released
attempt to handle some oddball cases of CRLF conversion (-k option).
Ultimately it wasn't needed, and I should have gotten rid of it
before submitting the CRLF patch in the first place.

See also 90948a4289 (add ability to guess -kb from contents).

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:21 -07:00
Matthew Ogilvie
ef6fd72b6c cvsserver t9400: add basic 'cvs log' test
'cvs log' output is arguably deficient in a number of ways
(see the comment added with the test), but add a test for
the current output to detect for accidental regressions.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:16:20 -07:00
Thomas Ackermann
5316c8e939 Documentation/technical: convert plain text files to asciidoc
These were not originally meant for asciidoc, but they are already
so close.  Mark them up in asciidoc.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:09:09 -07:00
Thomas Ackermann
368dc5d6ae Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:09:09 -07:00
Thomas Ackermann
9fa9728e2c Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:09:09 -07:00
Thomas Ackermann
cc91a85ec7 Split over-long synopsis in git-fetch-pack.txt into several lines
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 16:09:09 -07:00
Simon Oosthoek
9b3aaf8bf1 Fix up colored git-prompt
The main point is to match the colors to be more close to the color
output of "git status -sb".

 - the branchname is green, or in red when the HEAD is detached;

 - the flags are either red or green for unstaged/staged and the
   remaining flags get a different color or none at all.

Signed-off-by: Simon Oosthoek <s.oosthoek@xs4all.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 15:39:21 -07:00
Thomas Ackermann
d25c58ce43 Documentation/RelNotes: remove "updated up to this revision" markers
These were used to keep track of the last commit a release notes
entry was written for, and should have been removed when cutting
the final release.

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 15:35:00 -07:00
Junio C Hamano
4a182f6174 Update draft release notes to 1.8.0
We are almost there...

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 13:27:23 -07:00
Felipe Contreras
2f65494d84 completion: add format-patch options to send-email
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 11:51:03 -07:00
Junio C Hamano
053a08f5bb Merge branch 'jk/maint-http-half-auth-push'
Fixes a regression in maint-1.7.11 (v1.7.11.7), maint (v1.7.12.1)
and master (v1.8.0-rc0).

* jk/maint-http-half-auth-push:
  http: fix segfault in handle_curl_result
2012-10-16 11:44:37 -07:00
René Scharfe
547d058fb6 refs: lock symref that is to be deleted, not its target
When delete_ref is called on a symref then it locks its target and then
either deletes the target or the symref, depending on whether the flag
REF_NODEREF was set in the parameter delopt.

Instead, simply pass the flag to lock_ref_sha1_basic, which will then
either lock the target or the symref, and delete the locked ref.

This reimplements part of eca35a25 (Fix git branch -m for symrefs.).

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16 10:08:23 -07:00
Peter Krefting
8f69cccbe4 l10n: Update Swedish translation (1964t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-10-16 08:38:11 +01:00
Jiang Xin
9306b5b9a3 l10n: Update git.pot (3 new, 6 removed messages)
This po/git.pot update is generated from v1.8.0-rc2-4-g42e55.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-10-16 08:39:10 +08:00
Jiang Xin
6de030dd46 Merge branch 'master' of git://github.com/vnwildman/git
* 'master' of git://github.com/vnwildman/git:
  l10n: vi.po: update translation upto cc76011
2012-10-16 08:31:22 +08:00
Nguyễn Thái Ngọc Duy
82dce998c2 attr: more matching optimizations from .gitignore
.gitattributes and .gitignore share the same pattern syntax but has
separate matching implementation. Over the years, ignore's
implementation accumulates more optimizations while attr's stays the
same.

This patch reuses the core matching functions that are also used by
excluded_from_list. excluded_from_list and path_matches can't be
merged due to differences in exclude and attr, for example:

* "!pattern" syntax is forbidden in .gitattributes.  As an attribute
  can be unset (i.e. set to a special value "false") or made back to
  unspecified (i.e. not even set to "false"), "!pattern attr" is unclear
  which one it means.

* we support attaching attributes to directories, but git-core
  internally does not currently make use of attributes on
  directories.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-15 14:57:17 -07:00
Nguyễn Thái Ngọc Duy
84460eec8d gitignore: make pattern parsing code a separate function
This function can later be reused by attr.c. Also turn to_exclude
field into a flag.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-15 14:57:16 -07:00
Nguyễn Thái Ngọc Duy
b559263216 exclude: split pathname matching code into a separate function
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-15 14:57:16 -07:00
Nguyễn Thái Ngọc Duy
a3ea4d7199 exclude: fix a bug in prefix compare optimization
When "namelen" becomes zero at this stage, we have matched the fixed
part, but whether it actually matches the pattern still depends on the
pattern in "exclude". As demonstrated in t3001, path "three/a.3"
exists and it matches the "three/a.3" part in pattern "three/a.3[abc]",
but that does not mean a true match.

Don't be too optimistic and let fnmatch() do the job.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-15 14:57:16 -07:00