Commit Graph

35626 Commits

Author SHA1 Message Date
Pat Thoyts
5bb07cb55f mingw: add tests for the hidden attribute on the git directory
With msysGit the .git directory is supposed to be hidden, unless it is
a bare git repository. Test this.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-05-20 17:45:14 -06:00
Erik Faye-Lund
1fcc35f852 mingw: do not hide bare repositories
As reported in msysGit issue 450 the recent change to set the windows
hidden attribute on the .git directory is being applied to bare git
directories. This patch excludes bare repositories.

Tested-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
2012-05-20 17:45:13 -06:00
Johannes Schindelin
ff5e20dc78 When initializing .git/, record the current setting of core.hideDotFiles
This is on Windows only, of course.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-20 17:45:13 -06:00
Erik Faye-Lund
5e059bfa20 core.hidedotfiles: hide '.git' dir by default
At least for cross-platform projects, it makes sense to hide the
files starting with a dot, as this is the behavior on Unix/MacOSX.

However, at least Eclipse has problems interpreting the hidden flag
correctly, so the default is to hide only the .git/ directory.

The config setting core.hideDotFiles therefore supports not only
'true' and 'false', but also 'dotGitOnly'.

[jes: clarified the commit message, made git init respect the setting
by marking the .git/ directory only after reading the config, and added
documentation, and rebased on top of current junio/next]

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-20 17:45:13 -06:00
Johannes Schindelin
4a089d320d Define NO_GETTEXT for Git for Windows
The dreaded "your vnsprintf is broken (returned -1)" error is back. At
least with the libintl version we have. So for the moment, just work
around the issue by _not_ using gettext.

Ah, I wish that my attempt at implementing a custom strbuf_vaddf() would
not have been brushed aside so rashly. Oh well. Time saved on maintaining
that thing, I guess (although more time went into working around coping
with existing implementations).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-20 17:45:12 -06:00
Sebastian Schuberth
770ac2de12 Makefile: Do not use OLD_ICONV on MINGW anymore
We are building libiconv now the same way as upstream MinGW does, so we do
not need OLD_ICONV anymore when compiling Git either in msysGit or
mingwGitDevEnv.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
2012-05-20 17:45:12 -06:00
Johannes Schindelin
57546db84d Do not compile compat/**/*.c with -Wold-style-definition
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-20 17:45:12 -06:00
Johannes Schindelin
d4978e50df Make CFLAGS more strict
This is a gcc-ism, but as we use gcc exclusively, we can use them.

Taken from one of Junio's mails. (Reminded to cherry-pick this patch
by one of Karsten Blees' mails.)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-20 17:45:11 -06:00
Johannes Schindelin
9de4cc5b4a Start the merging-rebase to junio/next
This commit starts the rebase of 20e60f3 to a8ca614
using 692b345be3 as base.
2012-05-20 17:45:11 -06:00
Junio C Hamano
a8ca614660 Merge branch 'rs/archive-tree-in-tip-simplify' into next
By René Scharfe
* rs/archive-tree-in-tip-simplify:
  archive-tar: keep const in checksum calculation
  archive: simplify refname handling
2012-05-18 13:08:41 -07:00
Junio C Hamano
c16f1c79ee Merge branch 'js/rev-parse-doc-fix' into next
By Jon Seymour
* js/rev-parse-doc-fix:
  rev-parse doc: --git-dir does not always show a relative path
2012-05-18 13:08:40 -07:00
Junio C Hamano
b7482fc333 Merge branch 'js/rebase-i-p-test-fix' into next
By Johannes Sixt
* js/rebase-i-p-test-fix:
  Fix t3411.3 to actually rebase something
2012-05-18 13:08:39 -07:00
Junio C Hamano
2f17ac8b59 Merge branch 'hv/submodule-alt-odb' into next
By Heiko Voigt
* hv/submodule-alt-odb:
  teach add_submodule_odb() to look for alternates
2012-05-18 13:08:38 -07:00
Junio C Hamano
b2c26bbd40 Merge branch 'bp/diff-no-index-strbuf-fix' into next
By Bobby Powers
* bp/diff-no-index-strbuf-fix:
  diff --no-index: don't leak buffers in queue_diff
  diff --no-index: reset temporary buffer lengths on directory iteration
2012-05-18 13:08:38 -07:00
Johannes Sixt
9ef5b2bd16 Fix t3411.3 to actually rebase something
The test intends to rebase a branchy history onto a later commit, but it
forgot to reset HEAD back to an earlier commit before it set up the side
branches. In the end, every "rebased" commit was only a fast-forward and
the 'rebase -p' did not change the commit graph at all. Insert the missing
checkout that moves to an earlier commit.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-18 12:26:49 -07:00
Jon Seymour
d0740ce0ba rev-parse doc: --git-dir does not always show a relative path
The description was misleading because it lead the reader to believe
that --git-dir would always show a relative path when, in fact, the
actual behaviour does not guarantee this.

Rather, it was intended that the advice be given that if a relative
path is shown, then the path is relative to the current working
directory and not some other directory (for example, the root of the
working tree).

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-18 12:23:01 -07:00
René Scharfe
bf38245be8 archive-tar: keep const in checksum calculation
For correctness, don't needlessly drop the const qualifier when casting.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-18 11:26:18 -07:00
René Scharfe
c51a351a6b archive: simplify refname handling
There is no need to build a copy of the relevant part of the string just
to make sure we have a NUL-terminated string.  We can simply pass the
length of the interesting part to dwim_ref() instead.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-18 11:26:10 -07:00
Junio C Hamano
df4b6f36dc Sync with git-svn and l10n updates
By Jiang Xin (3) and others
via Junio C Hamano (5) and others
* master:
  git-svn: clarify the referent of dcommit's optional argument
  git-svn: support rebase --preserve-merges
  l10n: de.po: translate 3 new messages
  l10n: zh_CN.po: translate 3 new messages
  l10n: pt_PT.po translate new messages
  l10n: Update git.pot (8 new, 4 removed messages)
  l10n: Update git.pot (3 new, 2 removed messages)
2012-05-17 15:44:36 -07:00
Junio C Hamano
9de9681549 Merge git://github.com/git-l10n/git-po
By Jiang Xin (3) and others
via Jiang Xin (3) and Ralf Thielow (1)
* git://github.com/git-l10n/git-po:
  l10n: de.po: translate 3 new messages
  l10n: zh_CN.po: translate 3 new messages
  l10n: pt_PT.po translate new messages
  l10n: Update git.pot (8 new, 4 removed messages)
  l10n: Update git.pot (3 new, 2 removed messages)
2012-05-17 15:35:35 -07:00
Junio C Hamano
c0b5c62d12 Merge branch 'nd/i18n-parseopt'
Text from "git cmd --help" are getting prepared for i18n.

By Nguyễn Thái Ngọc Duy
* nd/i18n-parseopt:
  i18n: apply: mark parseopt strings for translation
  i18n: parseopt: lookup help and argument translations when showing usage
2012-05-17 15:22:30 -07:00
Junio C Hamano
2e464dd5b2 Merge branch 'rs/xdiff-lose-emit-func'
Simplifies the interface between the implementation of "blame" and
underlying xdiff engine, and removes a lot of unused or unnecessary code
from the latter.

By René Scharfe (6) and Ramsay Jones (1)
* rs/xdiff-lose-emit-func:
  builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning
  xdiff: remove unused functions
  xdiff: remove emit_func() and xdi_diff_hunks()
  blame: factor out helper for calling xdi_diff()
  blame: use hunk_func(), part 2
  blame: use hunk_func(), part 1
  xdiff: add hunk_func()
2012-05-17 15:22:13 -07:00
Junio C Hamano
8be441ea1f Merge branch 'fc/git-complete-helper'
By Felipe Contreras
* fc/git-complete-helper:
  completion: add new __git_complete helper
2012-05-17 15:21:55 -07:00
Junio C Hamano
9b994b1c4e Merge branch 'ld/git-p4-tags-and-labels'
By Luke Diamand
* ld/git-p4-tags-and-labels:
  git p4: fix bug when enabling tag import/export via config variables
  git p4: fix bug when verbose enabled with tag export
  git p4: add test for tag import/export enabled via config
2012-05-17 15:21:46 -07:00
Jon Seymour
2b26b65f9a git-svn: clarify the referent of dcommit's optional argument
The documentation of the dcommit subcommand is reworded to clarify that
the optional argument refers to a git branch, not an SVN branch.

The discussion of the optional argument is put into its own paragraph
as is the guidance about using 'dcommit' in preference to 'set-tree'.

The section on REBASE vs. PULL/MERGE is reworded to incorporate the
advice to prefer 'git rebase' previously in the description of 'dcommit'.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
2012-05-17 09:35:18 +00:00
Avishay Lavie
b64e1f5815 git-svn: support rebase --preserve-merges
When git svn rebase is performed after an unpushed merge, the
rebase operation follows both parents and replays both the user's
local commits and those from the merged branch. This is usually
not the intended behavior.
This patch adds support for the --preserve-merges/-p flag which
allows for a better workflow by re-applying merge commits as merges.

[ew: fixed a minor syntax error]

Signed-off-by: Avishay Lavie <avishay.lavie@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-05-16 19:21:43 -07:00
Erik Faye-Lund
20e60f3686 Merge pull request #7 from theoleblond/PollSleep
Sleep 1 millisecond in poll() to avoid busy wait
2012-05-16 11:41:51 -07:00
Bobby Powers
176a33542e diff --no-index: don't leak buffers in queue_diff
queue_diff uses two strbufs, and at the end of the function
strbuf_reset was called.  This only reset the length of the buffer -
any allocated memory was leaked.  Using strbuf_release fixes this.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-16 11:18:06 -07:00
Bobby Powers
f3999e0327 diff --no-index: reset temporary buffer lengths on directory iteration
Commit 875b91b (diff --no-index: use strbuf for temporary pathnames,
2012-04-25) introduced a regression when using diff --no-index with
directories.  When iterating through a directory, the switch to strbuf
from heap-allocated char arrays caused paths to form like 'dir/file1',
'dir/file1file2', rather than 'dir/file1', 'dir/file2' as expected.

Avoid this by resetting the paths variables to their original length
before each iteration.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-16 11:17:45 -07:00
theoleblond
4451dbf452 Sleep 1 millisecond in poll() to avoid busy wait
I played around with this quite a bit. After trying some more complex
schemes, I found that what worked best is to just sleep 1 millisecond
between iterations. Though it's a very short time, it still completely
eliminates the busy wait condition, without hurting perf.

There code uses SleepEx(1, TRUE) to sleep. See this page for a good
discussion of why that is better than calling SwitchToThread, which
is what was used previously:
http://stackoverflow.com/questions/1383943/switchtothread-vs-sleep1

Note that calling SleepEx(0, TRUE) does *not* solve the busy wait.

The most striking case was when testing on a UNC share with a large repo,
on a single CPU machine. Without the fix, it took 4 minutes 15 seconds,
and with the fix it took just 1:08! I think it's because git-upload-pack's
busy wait was eating the CPU away from the git process that's doing the
real work. With multi-proc, the timing is not much different, but tons of
CPU time is still wasted, which can be a killer on a server that needs to
do bunch of other things.

I also tested the very fast local case, and didn't see any measurable
difference. On a big repo with 4500 files, the upload-pack took about 2
seconds with and without the fix.
2012-05-16 06:52:49 -07:00
Jiang Xin
154ca11d4b Merge branch 'maint' into master
By Ralf Thielow(1) and Jiang Xin(1)
* maint:
  l10n: de.po: translate 3 new messages
  l10n: zh_CN.po: translate 3 new messages
2012-05-16 07:32:20 +08:00
Ralf Thielow
042e9f94a7 l10n: de.po: translate 3 new messages
Translate 3 new messages for upcoming git 1.7.10.3.

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-05-15 19:09:02 +02:00
Jiang Xin
eff6d3a9e3 l10n: zh_CN.po: translate 3 new messages
Translate 3 new messages for upcoming git 1.7.10.3.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-05-15 12:07:00 +08:00
Jiang Xin
59e62277fc Merge branch 'master' of git://github.com/marcomsousa/git-l10n-pt_PT
By Marco Sousa
* marcomsousa/git-l10n-pt_PT/master:
  l10n: pt_PT.po translate new messages
2012-05-15 07:11:58 +08:00
Marco Sousa
388698ce61 l10n: pt_PT.po translate new messages
Translate new and old messages came from git.pot.

Signed-off-by: Marco Sousa <marcomsousa@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-05-15 07:10:28 +08:00
Jiang Xin
933297211e l10n: Update git.pot (8 new, 4 removed messages)
Generate po/git.pot from v1.7.10.2-520-g6a4a48:

 * 8 new l10n messages at lines:

   977, 982, 1404, 1409, 1414, 1419, 1424, 1429.

 * 4 removed l10n messages from lines:

   977, 1399, 1404, 1409.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-05-15 06:43:03 +08:00
Jiang Xin
d81c7d1f84 Merge branch 'maint'
* maint:
  l10n: Update git.pot (3 new, 2 removed messages)
2012-05-15 06:40:08 +08:00
Jiang Xin
b741611c06 l10n: Update git.pot (3 new, 2 removed messages)
Generate po/git.pot from v1.7.10.2-35-g0b9f4:

 * 3 new l10n messages at lines: 2743, 2751, 2759.

 * 2 removed l10n messages from lines: 1879, 2757.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-05-15 06:36:36 +08:00
Junio C Hamano
b6bc67f669 Merge branch 'master' into next
* master:
  Update draft release notes for 12th batch
  Start preparing for 1.7.10.3
  link to gitmodules page at the beginning of git-submodule documentation
  pack-protocol: fix first-want separator in the examples
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate one new message
  l10n: de.po: unify translation of "ahead" and "behind"
  l10n: de.po: collection of improvements
  l10n: de.po: translate "remote" as "extern"
  l10n: de.po: translate "track" as "beobachten"
  l10n: add new members to German translation team
  l10n: de.po: collection of suggestions
  l10n: de.po: translate "bad" as "ungültig" ("invalid")
  l10n: de.po: hopefully uncontroversial fixes
  l10n: de.po: translate "bare" as "bloß"
  l10n: Update git.pot (275 new, 15 removed messages)
  l10n: Update git.pot (1 new messages)
2012-05-14 12:21:03 -07:00
Junio C Hamano
759d5f4be4 Merge branch 'fc/git-complete-helper' into next
By Felipe Contreras
* fc/git-complete-helper:
  completion: add new __git_complete helper
2012-05-14 12:20:58 -07:00
Junio C Hamano
422f328d1c Merge branch 'rs/xdiff-lose-emit-func' into next
Simplifies the interface between the implementation of "blame" and
underlying xdiff engine, and removes a lot of unused or unnecessary code
from the latter.

By Ramsay Jones
* rs/xdiff-lose-emit-func:
  builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning
2012-05-14 12:20:58 -07:00
Junio C Hamano
6a4a482229 Update draft release notes for 12th batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-14 12:20:46 -07:00
Heiko Voigt
5e73633dbf teach add_submodule_odb() to look for alternates
Since we allow to link other object databases when loading a submodules
database we should also load possible alternates.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-14 11:56:42 -07:00
Junio C Hamano
fca9249b86 Merge branch 'fc/simplify-complete-revlist-file'
By Felipe Contreras
* fc/simplify-complete-revlist-file:
  completion: simplify __git_complete_revlist_file
2012-05-14 11:50:57 -07:00
Junio C Hamano
cc13431a49 Merge branch 'nd/threaded-index-pack'
Enables threading in index-pack to resolve base data in parallel.

By Nguyễn Thái Ngọc Duy (3) and Ramsay Jones (1)
* nd/threaded-index-pack:
  index-pack: disable threading if NO_PREAD is defined
  index-pack: support multithreaded delta resolving
  index-pack: restructure pack processing into three main functions
  compat/win32/pthread.h: Add an pthread_key_delete() implementation
2012-05-14 11:50:40 -07:00
Junio C Hamano
3f8acaae8a Sync with maint 2012-05-14 11:50:20 -07:00
Junio C Hamano
8fbe0db4fc Merge branch 'master' of git://github.com/git-l10n/git-po
By Ralf Thielow (6) and others
via Jiang Xin (3) and Ralf Thielow (1)
* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate one new message
  l10n: de.po: unify translation of "ahead" and "behind"
  l10n: de.po: collection of improvements
  l10n: de.po: translate "remote" as "extern"
  l10n: de.po: translate "track" as "beobachten"
  l10n: add new members to German translation team
  l10n: de.po: collection of suggestions
  l10n: de.po: translate "bad" as "ungültig" ("invalid")
  l10n: de.po: hopefully uncontroversial fixes
  l10n: de.po: translate "bare" as "bloß"
  l10n: Update git.pot (275 new, 15 removed messages)
  l10n: Update git.pot (1 new messages)
2012-05-14 11:49:18 -07:00
Junio C Hamano
0b9f4b63a0 Merge branch 'maint' of git://github.com/git-l10n/git-po into maint
By Ralf Thielow (6) and others
via Jiang Xin
* 'maint' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate one new message
  l10n: de.po: unify translation of "ahead" and "behind"
  l10n: de.po: collection of improvements
  l10n: de.po: translate "remote" as "extern"
  l10n: de.po: translate "track" as "beobachten"
  l10n: add new members to German translation team
  l10n: de.po: collection of suggestions
  l10n: de.po: translate "bad" as "ungültig" ("invalid")
  l10n: de.po: hopefully uncontroversial fixes
  l10n: de.po: translate "bare" as "bloß"
  l10n: Update git.pot (1 new messages)
2012-05-14 11:47:49 -07:00
Junio C Hamano
5bed9f6a61 Start preparing for 1.7.10.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-14 11:47:20 -07:00
Junio C Hamano
adc3a81ce2 Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint
Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
"log -g", depending on how the starting point ("master" vs "master@{0}" vs
"master@{now}") and date formatting options (e.g. "--date=iso") are given
on the command line.

By Jeff King (4) and Junio C Hamano (1)
* jk/maint-reflog-walk-count-vs-time:
  reflog-walk: tell explicit --date=default from not having --date at all
  reflog-walk: always make HEAD@{0} show indexed selectors
  reflog-walk: clean up "flag" field of commit_reflog struct
  log: respect date_mode_explicit with --format:%gd
  t1411: add more selector index/date tests
2012-05-14 11:46:16 -07:00