Commit Graph

42746 Commits

Author SHA1 Message Date
Junio C Hamano
05dd9f139d rerere: handle leftover rr-cache/$ID directory and postimage files
If by some accident there is only $GIT_DIR/rr-cache/$ID directory
existed, we wouldn't have recorded a preimage for a conflict that
is newly encountered, which would mean after a manual resolution,
we wouldn't have recorded it by storing the postimage, because the
logic used to be "if there is no rr-cache/$ID directory, then we are
the first so record the preimage".  Instead, record preimage if we
do not have one.

In addition, if there is only $GIT_DIR/rr-cache/$ID/postimage
without corresponding preimage, we would have tried to call into
merge() and punted.

These would have been a situation frustratingly hard to recover
from.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-15 15:29:30 -07:00
Jean-Noel Avila
23508cbbc2 l10n: fr.po v2.8.0 round 3
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2016-03-15 23:01:59 +01:00
Peter Krefting
aaa89ad442 l10n: sv.po: Update Swedish translation (2530t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2016-03-15 22:37:55 +01:00
Dimitriy Ryazantcev
da0e97de21 l10n: ru.po: update Russian translation
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2016-03-15 20:55:36 +02:00
Lars Schneider
10d08a149d git-p4: map a P4 user to Git author name and email address
Map a P4 user to a specific name and email address in Git with the
"git-p4.mapUser" config. The config value must be a string adhering
to the format "p4user = First Lastname <email@address.com>".

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Reviewed-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-15 11:45:13 -07:00
Junio C Hamano
c2c5f6b1e4 RelNotes for 2.8.0: typofix
Helped-by: Max Horn
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-15 10:58:59 -07:00
Junio C Hamano
a7206ba7f3 Merge branch 'svn-glob' of git://bogomips.org/git-svn
* 'svn-glob' of git://bogomips.org/git-svn:
  git-svn: shorten glob error message
  git-svn: loosen config globs limitations
2016-03-15 10:32:20 -07:00
Junio C Hamano
e7c1132c0f l10n-2.8.0-rnd2
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJW6Dy/AAoJEMek6Rt1RHooAuYP/3LntWhaf3RE/1h1DNILwtzF
 D8wZZ4q8KAuUNFj4gJDuUE2cLjSP1KR0ilTHpeH/3zadE3ZahMfGuAkZTWq2rnEb
 MtRpv1yevcWkL10JrmTDKX3FYu4ZdUoDJgEhIlnMML1v2K7jB066sPyB3syJjhkI
 RdjOyoaxnZXK3pMb2O81KM01U/k9cECsFyjLAfa6n1jdldC0SuFodmzi3g8kvvth
 9qsBJV6EKtBUy/KWoe9kpLmG6c/8bNY+14NOOnevsnXJCIiOTPH/ZP6TgzcuX2yH
 ji+Gf7YXW3HEQY3X5zVRL7K84x/NKau7mO8WTVW7W650etNoXiUVVy9MOh4tusEo
 HTURZJaivnfpS3/HYXWT0AjUuJqKqjXeuBuyuXe0ykvNfCMoobSJxA+liBc2oZtk
 E4WsWobeSyMETZ0Z6B1DVAPWyhVoTh228IS30F2woTWy4pTCSkWSHc4/lm0vvrid
 XxM4O/qDUJ+sPh2Ub7rovQXOxx4PfZIFo9/Of3Lika/Nw4TpFKsrztew4yiSZTNO
 YDp5Q3IvsxdPNUjRK6YONFfvYRvYpsXGBdquw6Upe/qDcW+h2txY5yCrr/VW5Aax
 QuevojS50vOZHkSZUNjKr0DarNcknPZEZFk9PF1QKOUR64AgIT5mMcMXHZd8vfPR
 0bltnYrQTRnauAlHkM62
 =aUQK
 -----END PGP SIGNATURE-----

Merge tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-po

l10n-2.8.0-rnd2

* tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-po: (22 commits)
  l10n: zh_CN: for git v2.8.0 l10n round 3
  l10n: git.pot: Add one new message for Git 2.8.0
  l10n: zh_CN: for git v2.8.0 l10n round 2
  l10n: fr.po v2.8.0 round 2
  l10n: ru.po: update Russian translation
  l10n: ko: Update Korean translation
  l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)
  l10n: zh_CN: for git v2.8.0 l10n round 1
  l10n: de.po: translate 48 new messages
  l10n: de.po: translate "command" as "Befehl"
  l10n: de.po: fix interactive rebase message
  l10n: de.po: add space to abbreviation "z. B."
  l10n: de.po: fix typo
  l10n: TEAMS: update Ralf Thielow's email address
  l10n: sv.po: Update Swedish translation (2509t0f0u)
  l10n: sv.po: Fix inconsistent translation of "progress meter"
  l10n: ko.po: Update Korean translation
  l10n: ru.po: update Russian translation
  l10n: vi.po (2509t): Updated Vietnamese translation
  l10n: fr.po v2.8.0 round 1 2509t
  ...
2016-03-15 10:13:15 -07:00
Jiang Xin
5c0c220c53 l10n: zh_CN: for git v2.8.0 l10n round 3
Update 1 new translations (2530t0f0u) for git v2.8.0-rc2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-16 00:27:40 +08:00
Jiang Xin
a5a41683dc l10n: git.pot: Add one new message for Git 2.8.0
Add one new message came from this commit:

* df22724 wt-status: allow "ahead " to be picked up by l10n

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-16 00:20:14 +08:00
Jiang Xin
531f756a36 Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN: for git v2.8.0 l10n round 2
  l10n: fr.po v2.8.0 round 2
  l10n: ru.po: update Russian translation
  l10n: ko: Update Korean translation
  l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)
  l10n: zh_CN: for git v2.8.0 l10n round 1
  l10n: de.po: translate 48 new messages
  l10n: de.po: translate "command" as "Befehl"
  l10n: de.po: fix interactive rebase message
  l10n: de.po: add space to abbreviation "z. B."
  l10n: de.po: fix typo
  l10n: TEAMS: update Ralf Thielow's email address
  l10n: sv.po: Update Swedish translation (2509t0f0u)
  l10n: sv.po: Fix inconsistent translation of "progress meter"
  l10n: ko.po: Update Korean translation
  l10n: ru.po: update Russian translation
  l10n: vi.po (2509t): Updated Vietnamese translation
  l10n: fr.po v2.8.0 round 1 2509t
  l10n: fr.po: Correct case in sentence
  l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
2016-03-16 00:15:59 +08:00
Jiang Xin
3495628d4b l10n: zh_CN: for git v2.8.0 l10n round 2
Update 21 new translations (2529t0f0u) for git v2.8.0-rc2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-16 00:07:06 +08:00
Eric Wong
62335bbbc7 git-svn: shorten glob error message
Error messages should attempt to fit within the confines of
an 80-column terminal to avoid compatibility and accessibility
problems.  Furthermore the word "directories" can be misleading
when used in the context of git refnames.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-15 01:35:39 +00:00
Victor Leschuk
e4e5dd94e6 git-svn: loosen config globs limitations
Expand the area of globs applicability for branches and tags
in git-svn. It is now possible to use globs like 'a*e', or 'release_*'.
This allows users to avoid long lines in config like:

	branches = branches/{release_20,release_21,release_22,...}

In favor of:

	branches = branches/release_*

[ew: amended commit message, minor formatting and style fixes]

Signed-off-by: Victor Leschuk <vleschuk@accesssoftek.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-03-15 01:35:38 +00:00
Jean-Noel Avila
7a2c7e58dc l10n: fr.po v2.8.0 round 2
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2016-03-14 20:29:04 +01:00
Junio C Hamano
db6696f653 Merge branch 'mg/wt-status-mismarked-i18n'
* mg/wt-status-mismarked-i18n:
  wt-status: allow "ahead " to be picked up by l10n
2016-03-14 10:46:17 -07:00
Michael J Gruber
df227241dd wt-status: allow "ahead " to be picked up by l10n
The extra pair of parentheses keeps the l10n engine from picking up the
string. Remove them so that "ahead " ends up in git.pot.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-14 10:45:04 -07:00
Jiang Xin
a08823768e Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru
* 'russian-l10n' of https://github.com/DJm00n/git-po-ru:
  l10n: ru.po: update Russian translation
2016-03-13 21:41:46 +08:00
Dimitriy Ryazantcev
f3aeef1170 l10n: ru.po: update Russian translation
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2016-03-13 02:07:09 +02:00
Changwoo Ryu
03ac0e5fff l10n: ko: Update Korean translation
Signed-off-by: Changwoo Ryu <cwryu@debian.org>
2016-03-13 02:32:52 +09:00
Jiang Xin
f1522b2770 l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)
Generate po/git.pot from v2.8.0-rc2 for git v2.8.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2016-03-12 22:05:35 +08:00
Jiang Xin
7174c116bb Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN: for git v2.8.0 l10n round 1
  l10n: de.po: translate 48 new messages
  l10n: de.po: translate "command" as "Befehl"
  l10n: de.po: fix interactive rebase message
  l10n: de.po: add space to abbreviation "z. B."
  l10n: de.po: fix typo
  l10n: TEAMS: update Ralf Thielow's email address
  l10n: sv.po: Update Swedish translation (2509t0f0u)
  l10n: sv.po: Fix inconsistent translation of "progress meter"
  l10n: ko.po: Update Korean translation
  l10n: ru.po: update Russian translation
  l10n: vi.po (2509t): Updated Vietnamese translation
  l10n: fr.po v2.8.0 round 1 2509t
  l10n: fr.po: Correct case in sentence
  l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
2016-03-12 22:04:39 +08:00
Jiang Xin
276ceeaa49 l10n: zh_CN: for git v2.8.0 l10n round 1
Update 48 new translations (2509t0f0u) for git v2.8.0-rc0.

Reviewed-by: Ray Chen <oldsharp@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

l10n: zh_CN: review for git v2.8.0 l10n round 1
2016-03-12 22:00:34 +08:00
Jeff King
274db840b4 verify_repository_format: mark messages for translation
These messages are human-readable and should be translated.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:24 -08:00
Jeff King
c90e5293d1 setup: drop repository_format_version global
Nobody reads this anymore, and they're not likely to; the
interesting thing is whether or not we passed
check_repository_format(), and possibly the individual
"extension" variables.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:24 -08:00
Jeff King
652f18ee87 setup: unify repository version callbacks
Once upon a time, check_repository_format_gently would parse
the config with a single callback, and that callback would
set up a bunch of global variables. But now that we have
separate workdirs, we have to be more careful. Commit
31e26eb (setup.c: support multi-checkout repo setup,
2014-11-30) introduced a reduced callback which omits some
values like core.worktree. In the "main" callback we call
the reduced one, and then add back in the missing variables.

Now that we have split the config-parsing from the munging
of the global variables, we can do it all with a single
callback, and keep all of the "are we in a separate workdir"
logic together.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:23 -08:00
Jeff King
94ce167249 init: use setup.c's repo version verification
We check our templates to make sure they are from a
version of git we understand (otherwise we would init a
repository we cannot ourselves run in!). But our simple
integer check has fallen behind the times. Let's use the
helpers that setup.c provides to do it right.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:23 -08:00
Jeff King
2cc7c2c737 setup: refactor repo format reading and verification
When we want to know if we're in a git repository of
reasonable vintage, we can call check_repository_format_gently(),
which does three things:

  1. Reads the config from the .git/config file.

  2. Verifies that the version info we read is sane.

  3. Writes some global variables based on this.

There are a few things we could improve here.

One is that steps 1 and 3 happen together. So if the
verification in step 2 fails, we still clobber the global
variables. This is especially bad if we go on to try another
repository directory; we may end up with a state of mixed
config variables.

The second is there's no way to ask about the repository
version for anything besides the main repository we're in.
git-init wants to do this, and it's possible that we would
want to start doing so for submodules (e.g., to find out
which ref backend they're using).

We can improve both by splitting the first two steps into
separate functions. Now check_repository_format_gently()
calls out to steps 1 and 2, and does 3 only if step 2
succeeds.

Note that the public interface for read_repository_format()
and what check_repository_format_gently() needs from it are
not quite the same, leading us to have an extra
read_repository_format_1() helper. The extra needs from
check_repository_format_gently() will go away in a future
patch, and we can simplify this then to just the public
interface.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:23 -08:00
Jeff King
801818680a config: drop git_config_early
There are no more callers, and it's a rather confusing
interface. This could just be folded into
git_config_with_options(), but for the sake of readability,
we'll leave it as a separate (static) helper function.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:23 -08:00
Jeff King
21627f9b6d check_repository_format_gently: stop using git_config_early
There's a chicken-and-egg problem with using the regular
git_config during the repository setup process. We get
around it here by using a special interface that lets us
specify the per-repo config, and avoid calling
git_pathdup().

But this interface doesn't actually make sense. It will look
in the system and per-user config, too; we definitely would
not want to accept a core.repositoryformatversion from
there.

The git_config_from_file interface is a better match, as it
lets us look at a single file.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:22 -08:00
Jeff King
ae5f67763b lazily load core.sharedrepository
The "shared_repository" config is loaded as part of
check_repository_format_version, but it's not quite like the
other values we check there. Something like
core.repositoryformatversion only makes sense in per-repo
config, but core.sharedrepository can be set in a per-user
config (e.g., to make all "git init" invocations shared by
default).

So it would make more sense as part of git_default_config.
Commit 457f06d (Introduce core.sharedrepository, 2005-12-22)
says:

  [...]the config variable is set in the function which
  checks the repository format. If this were done in
  git_default_config instead, a lot of programs would need
  to be modified to call git_config(git_default_config)
  first.

This is still the case today, but we have one extra trick up
our sleeve. Now that we have the git_configset
infrastructure, it's not so expensive for us to ask for a
single value. So we can simply lazy-load it on demand.

This should be OK to do in general. There are some problems
with loading config before setup_git_directory() is called,
but we shouldn't be accessing the value before then (if we
were, then it would already be broken, as the variable would
not have been set by check_repository_format_version!). The
trickiest caller is git-init, but it handles the values
manually itself.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:19 -08:00
Jeff King
7875acb6ec wrap shared_repository global in get/set accessors
It would be useful to control access to the global
shared_repository, so that we can lazily load its config.
The first step to doing so is to make sure all access
goes through a set of functions.

This step is purely mechanical, and should result in no
change of behavior.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:17 -08:00
Jeff King
4b0d1eebe9 setup: document check_repository_format()
This function's interface is rather enigmatic, so let's
document it further.

While we're here, let's also drop the return value. It will
always either be "0" or the function will die (consequently,
neither of its two callers bothered to check the return).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 15:02:13 -08:00
Pranit Bauva
dde7891094 t/t7502 : drop duplicate test
This extra test was introduced erroneously by
f9c0181 (t7502: test commit.status, --status and
--no-status, 2010-01-13)

Signed-off-by: Pranit Bauva <pranit.bauva@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-11 12:42:26 -08:00
Junio C Hamano
214123c645 rebase-i: clarify "is this commit relevant?" test
While I was checking all the call sites of sane_grep and sane_egrep,
I noticed this one is somewhat strangely written.  The lines in the
file sane_grep works on all begin with 40-hex object name, so there
is no real risk of confusing "test $(...) = ''" by finding something
that begins with a dash, but using the status from sane_grep makes
it a lot clearer what is going on.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 15:35:48 -08:00
Junio C Hamano
71b401032b sane_grep: pass "-a" if grep accepts it
Newer versions of GNU grep is reported to be pickier when we feed a
non-ASCII input and break some Porcelain scripts.  As we know we do
not feed random binary file to our own sane_grep wrapper, allow us
to always pass "-a" by setting SANE_TEXT_GREP=-a Makefile variable
to work it around.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 15:35:43 -08:00
David Aguilar
a2986045e3 mergetool: honor tempfile configuration when resolving delete conflicts
Teach resolve_deleted_merge() to honor the mergetool.keepBackup and
mergetool.keepTemporaries configuration knobs.

This ensures that the worktree is kept pristine when resolving deletion
conflicts with the variables both set to false.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 14:07:57 -08:00
David Aguilar
faaab8d571 mergetool: support delete/delete conflicts
If two branches each move a file into different directories then
mergetool will fail because it assumes that the file being merged, and
its parent directory, are present in the worktree.

Create the merge file's parent directory to allow using the
deleted base version of the file for merge resolution when
encountering a delete/delete conflict.

The end result is that a delete/delete conflict is presented for the
user to resolve.

Reported-by: Joe Einertson <joe@kidblog.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 14:07:13 -08:00
Junio C Hamano
ed9067f705 Git 2.8-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 11:16:23 -08:00
Junio C Hamano
5d1847b760 Sync with 2.7.3 2016-03-10 11:15:50 -08:00
Junio C Hamano
594730e980 Git 2.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-10 11:14:08 -08:00
Junio C Hamano
2e1e569d0e Merge branch 'ma/update-hooks-sample-typofix' into maint
* ma/update-hooks-sample-typofix:
  templates/hooks: fix minor typo in the sample update-hook
2016-03-10 11:13:50 -08:00
Junio C Hamano
3e6e43e130 Merge branch 'dt/initial-ref-xn-commit-doc' into maint
* dt/initial-ref-xn-commit-doc:
  refs: document transaction semantics
2016-03-10 11:13:49 -08:00
Junio C Hamano
4da402695d Merge branch 'ps/plug-xdl-merge-leak' into maint
* ps/plug-xdl-merge-leak:
  xdiff/xmerge: fix memory leak in xdl_merge
2016-03-10 11:13:49 -08:00
Junio C Hamano
08e21c9b5f Merge branch 'ak/git-strip-extension-from-dashed-command' into maint
Code simplification.

* ak/git-strip-extension-from-dashed-command:
  git.c: simplify stripping extension of a file in handle_builtin()
2016-03-10 11:13:48 -08:00
Junio C Hamano
c6f399c96f Merge branch 'ak/extract-argv0-last-dir-sep' into maint
Code simplification.

* ak/extract-argv0-last-dir-sep:
  exec_cmd.c: use find_last_dir_sep() for code simplification
2016-03-10 11:13:47 -08:00
Junio C Hamano
80047fa084 Merge branch 'jk/pack-idx-corruption-safety' into maint
The code to read the pack data using the offsets stored in the pack
idx file has been made more carefully check the validity of the
data in the idx.

* jk/pack-idx-corruption-safety:
  sha1_file.c: mark strings for translation
  use_pack: handle signed off_t overflow
  nth_packed_object_offset: bounds-check extended offset
  t5313: test bounds-checks of corrupted/malicious pack/idx files
2016-03-10 11:13:46 -08:00
Junio C Hamano
0e58b47d15 Merge branch 'js/config-set-in-non-repository' into maint
"git config section.var value" to set a value in per-repository
configuration file failed when it was run outside any repository,
but didn't say the reason correctly.

* js/config-set-in-non-repository:
  git config: report when trying to modify a non-existing repo config
2016-03-10 11:13:45 -08:00
Junio C Hamano
1191d606bb Merge branch 'sb/submodule-module-list-fix' into maint
A helper function "git submodule" uses since v2.7.0 to list the
modules that match the pathspec argument given to its subcommands
(e.g. "submodule add <repo> <path>") has been fixed.

* sb/submodule-module-list-fix:
  submodule helper list: respect correct path prefix
2016-03-10 11:13:45 -08:00
Junio C Hamano
7f18fadcbc Merge branch 'jk/grep-binary-workaround-in-test' into maint
Recent versions of GNU grep are pickier when their input contains
arbitrary binary data, which some of our tests uses.  Rewrite the
tests to sidestep the problem.

* jk/grep-binary-workaround-in-test:
  t9200: avoid grep on non-ASCII data
  t8005: avoid grep on non-ASCII data
2016-03-10 11:13:45 -08:00