summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-09update-ref: support multiple simultaneous updatesLibravatar Brad King2-2/+304
Add a --stdin signature to read update instructions from standard input and apply multiple ref updates together. Use an input format that supports any update that could be specified via the command-line, including object names like "branch:path with space". Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-04refs: add update_refs for multiple simultaneous updatesLibravatar Brad King2-0/+120
Add 'struct ref_update' to encode the information needed to update or delete a ref (name, new sha1, optional old sha1, no-deref flag). Add function 'update_refs' accepting an array of updates to perform. First sort the input array to order locks consistently everywhere and reject multiple updates to the same ref. Then acquire locks on all refs with verified old values. Then update or delete all refs accordingly. Fail if any one lock cannot be obtained or any one old value does not match. Though the refs themselves cannot be modified together in a single atomic transaction, this function does enable some useful semantics. For example, a caller may create a new branch starting from the head of another branch and rewind the original branch at the same time. This transfers ownership of commits between branches without risk of losing commits added to the original branch by a concurrent process, or risk of a concurrent process creating the new branch first. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-04refs: add function to repack without multiple refsLibravatar Brad King1-9/+24
Generalize repack_without_ref as repack_without_refs to support a list of refs and implement the former in terms of the latter. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-04refs: factor delete_ref loose ref step into a helperLibravatar Brad King1-10/+17
Factor loose ref deletion into helper function delete_ref_loose to allow later use elsewhere. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-04refs: factor update_ref steps into helpersLibravatar Brad King1-6/+24
Factor the lock and write steps and error handling into helper functions update_ref_lock and update_ref_write to allow later use elsewhere. Expose lock_any_ref_for_update's type_p to update_ref_lock callers. While at it, drop "static" from the local "lock" variable as it is not necessary to keep across invocations. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-30refs: report ref type from lock_any_ref_for_updateLibravatar Brad King11-13/+17
Expose lock_ref_sha1_basic's type_p argument to callers of lock_any_ref_for_update. Update all call sites to ignore it by passing NULL for now. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-30reset: rename update_refs to reset_refsLibravatar Brad King1-2/+2
The function resets refs rather than doing arbitrary updates. Rename it to allow a future general-purpose update_refs function to be added. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-23Git 1.8.4Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-21Typofix draft release notes to 1.8.4Libravatar Junio C Hamano1-2/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-19Git 1.8.4-rc4Libravatar Junio C Hamano2-10/+1
As we had to revert two topics at the last minute, let's have another (hopefully short) round of rc to make sure the final release will be sound. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-14Revert "Add new @ shortcut for HEAD"Libravatar Junio C Hamano5-28/+0
This reverts commit cdfd94837b27c220f70f032b596ea993d195488f, as it does not just apply to "@" (and forms with modifiers like @{u} applied to it), but also affects e.g. "refs/heads/@/foo", which it shouldn't. The basic idea of giving a short-hand might be good, and the topic can be retried later, but let's revert to avoid affecting existing use cases for now for the upcoming release.
2013-08-14Revert "git stash: avoid data loss when "git stash save" kills a directory"Libravatar Junio C Hamano3-40/+2
This reverts commit a73653130edd6a8977106d45a8092c09040f9132, as it has been reported that "ls-files --killed" is too time-consuming in a deep directory with too many untracked crufts (e.g. $HOME/.git tracking only a few files). We'd need to revisit it later but "ls-files --killed" needs to be optimized before it happens.
2013-08-13Git 1.8.4-rc3Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-13Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano2-0/+9672
* git://github.com/git-l10n/git-po: l10n: Add reference for french translation team l10n: fr.po: 821/2112 messages translated
2013-08-13Merge branch 'sb/mailmap-updates'Libravatar Junio C Hamano1-2/+16
* sb/mailmap-updates: .mailmap: Combine more (name, email) to individual persons .mailmap: update long-lost friends with multiple defunct addresses
2013-08-13.mailmap: Combine more (name, email) to individual personsLibravatar Stefan Beller1-1/+3
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-13.mailmap: update long-lost friends with multiple defunct addressesLibravatar Junio C Hamano1-1/+13
A handful of past contributors are recorded with multiple e-mail addresses, all of which are undeliverable. With a lot of help from Jonathan, we located all of them except for one person, and a pair of addresses we suspect belong to a single person but we are not certain. Update the found ones with their currently preferred address, and use the last known address to consolidate contributions by the lost one. Helped-by: Stefan Beller <stefanbeller@googlemail.com> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-13git-remote-mediawiki: ignore generated git-mwLibravatar Matthieu Moy1-0/+1
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-11l10n: Add reference for french translation teamLibravatar Jean-Noel Avila1-0/+4
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2013-08-11l10n: fr.po: 821/2112 messages translatedLibravatar Jean-Noel Avila1-0/+9668
Trying to focus on most useful phrases. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2013-08-09Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: parse-options: fix clang opterror() -Wunused-value warning
2013-08-09Merge branch 'master' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano5-4414/+5144
* 'master' of git://github.com/git-l10n/git-po: l10n: de.po: translate 5 messages l10n: de.po: translate 99 new messages l10n: de.po: switch from pure German to German+English l10n: de.po: Fix a typo l10n: Update Swedish translation (2135t0f0u) l10n: zh_CN.po: translate 5 messages (2135t0f0u) l10n: vi.po(2135t): v1.8.4 round 2 l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)
2013-08-09Merge branch 'jk/submodule-subdirectory-ok'Libravatar Junio C Hamano1-1/+1
* jk/submodule-subdirectory-ok: t/t7407: fix two typos in submodule tests
2013-08-09Merge branch 'sb/mailmap-updates'Libravatar Junio C Hamano1-2/+7
* sb/mailmap-updates: .mailmap: fixup entries
2013-08-09.mailmap: fixup entriesLibravatar Stefan Beller1-2/+7
This patch adds no new names, but fixes the mistakes I made in the previous commits. (94b410bba8, f4f49e225, c07a6bc57, 2013-07-12, .mailmap: Map email addresses to names). These mistakes are double white spaces between name and surname, different capitalization in email address, or just the email address set as name. Also I forgot to include James Knight to the mailmap file. Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-09t/t7407: fix two typos in submodule testsLibravatar Phil Hord1-1/+1
In t/t7407-submodule-foreach.sh there is a typo in one of the path names given for a test step. The correct path is nested1/nested2/.git, but nested1/nested1/nested2/.git is given instead. The typo is hidden because this line also accidentally omits the && chain operator. The omitted chain also means the return values of all the previous commands in this test are also being ignored. Fix the path and add the chain operator so the entire test sequence can be properly validated. Signed-off-by: Phil Hord <hordp@cisco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-09parse-options: fix clang opterror() -Wunused-value warningLibravatar Eric Sunshine1-1/+1
a469a1019352b8ef (silence some -Wuninitialized false positives; 2012-12-15) triggered "unused value" warnings when the return value of opterror() and several other error-related functions was not used. 5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions; 2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h and git-compat-util.h, but misspelled it as #if !defined(clang) in parse-options.h. Fix this. This mistake went unnoticed because existing callers of opterror() utilize its return value. 1158826394e162c5 (parse-options: add OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror() which ignores the return value, thus triggering the "unused value" warning. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-09l10n: de.po: translate 5 messagesLibravatar Ralf Thielow1-188/+243
Translate 5 new messages came from git.pot update in b8ecf23 (l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2013-08-09l10n: de.po: translate 99 new messagesLibravatar Ralf Thielow1-1638/+1954
Translate 99 new messages came from git.pot update in 28b3cff (l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Thomas Rast <trast@inf.ethz.ch>
2013-08-08Git 1.8.4-rc2Libravatar Junio C Hamano2-1/+8
This is with mostly minor documentation and test updates, nothing spectacular except for removal of funky lstat(2) emulation on Cygwin. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-08l10n: de.po: switch from pure German to German+EnglishLibravatar Ralf Thielow1-922/+909
This switches the translation from pure German to German+English. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Thomas Rast <trast@inf.ethz.ch>
2013-08-08l10n: de.po: Fix a typoLibravatar Wieland Hoffmann1-1/+1
Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
2013-08-06l10n: Update Swedish translation (2135t0f0u)Libravatar Peter Krefting1-1521/+1844
Fix some incorrect translations in existing messages while at it. Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2013-08-06l10n: zh_CN.po: translate 5 messages (2135t0f0u)Libravatar Jiang Xin1-164/+182
Translate 5 new messages came from git.pot update in b8ecf23 (l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)). Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2013-08-06l10n: vi.po(2135t): v1.8.4 round 2Libravatar Tran Ngoc Quan1-169/+187
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2013-08-06l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)Libravatar Jiang Xin1-161/+174
Generate po/git.pot from v1.8.4-rc1-21-gfb56570 for git v1.8.4 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2013-08-05Sync with maint to grab trivial doc fixesLibravatar Junio C Hamano4-4/+4
* maint: fix typo in documentation of git-svn Documentation/rev-list-options: add missing word in --*-parents log doc: the argument to --encoding is not optional
2013-08-05Merge branch 'es/blame-L-breakage'Libravatar Junio C Hamano1-2/+2
* es/blame-L-breakage: t8001, t8002: fix "blame -L :literal" test on NetBSD
2013-08-05t8001, t8002: fix "blame -L :literal" test on NetBSDLibravatar René Scharfe1-2/+2
Sub-test 42 of t8001 and t8002 ("blame -L :literal") fails on NetBSD with the following verbose output: git annotate -L:main hello.c Author F (expected 4, attributed 3) bad Author G (expected 1, attributed 1) good This is not caused by different behaviour of git blame or annotate on that platform, but by different test input, in turn caused by a sed command that forgets to add a newline on NetBSD. Here's the diff of the commit that adds "goodbye" to hello.c, for Linux: @@ -1,4 +1,5 @@ int main(int argc, const char *argv[]) { puts("hello"); + puts("goodbye"); } We see that it adds an extra TAB, but that's not a problem. Here's the same on NetBSD: @@ -1,4 +1,4 @@ int main(int argc, const char *argv[]) { puts("hello"); -} + puts("goodbye");} It also adds an extra TAB, but it is missing the newline character after the semicolon. The following patch gets rid of the extra TAB at the beginning, but more importantly adds the missing newline at the end in a (hopefully) portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html. The diff becomes this, on both Linux and NetBSD: @@ -1,4 +1,5 @@ int main(int argc, const char *argv[]) { puts("hello"); + puts("goodbye"); } Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano3-4352/+5403
* git://github.com/git-l10n/git-po: l10n: zh_CN.po: translate 99 messages (2133t0f0u) l10n: vi.po (2133t) l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)
2013-08-05Merge branch 'sb/mailmap-updates'Libravatar Junio C Hamano1-0/+3
* sb/mailmap-updates: .mailmap: Multiple addresses of Michael S. Tsirkin
2013-08-05Merge branch 'dn/test-reject-utf-16'Libravatar Junio C Hamano2-2/+2
* dn/test-reject-utf-16: t3900: test rejecting log message with NULs correctly Add missing test file for UTF-16.
2013-08-05Merge branch 'bc/commit-invalid-utf8'Libravatar Junio C Hamano1-1/+1
* bc/commit-invalid-utf8: commit: typofix for xxFFF[EF] check
2013-08-05commit: typofix for xxFFF[EF] checkLibravatar Junio C Hamano1-1/+1
We wanted to catch all codepoints that ends with FFFE and FFFF, not with 0FFFE and 0FFFF. Noticed and corrected by Peter Krefting. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05t3900: test rejecting log message with NULs correctlyLibravatar Junio C Hamano1-2/+2
It is not like that our longer term desire is to someday start accept log messages with NULs in them, so it is wrong to mark a test that demonstrates "git commit" that correctly fails given such an input as "expect-failure". "git commit" should fail today, and it should fail the same way in the future given a message with NUL in it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05Add missing test file for UTF-16.Libravatar Brian M. Carlson1-0/+0
The test file that the UTF-16 rejection test looks for is missing, but this went unnoticed because the test is expected to fail anyway; as a consequence, the test fails because the file containing the commit message is missing, and not because the test file contains a NUL byte. Fix this by including a sample text file containing a commit message encoded in UTF-16. Signed-off-by: Brian M. Carlson <sandals@crustytoothpaste.net> Tested-by: Duy Nguyen <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05fix typo in documentation of git-svnLibravatar Felix Gruber1-1/+1
Signed-off-by: Felix Gruber <felgru@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05Documentation/rev-list-options: add missing word in --*-parentsLibravatar Torstein Hegge1-1/+1
A commit has "parent commits" or "parents", not "commits". Signed-off-by: Torstein Hegge <hegge@resisty.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05.mailmap: Multiple addresses of Michael S. TsirkinLibravatar Stefan Beller1-0/+3
Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05log doc: the argument to --encoding is not optionalLibravatar Jonathan Nieder2-2/+2
$ git log --encoding fatal: Option '--encoding' requires a value $ git rev-list --encoding fatal: Option '--encoding' requires a value The argument to --encoding has always been mandatory. Unfortunately manpages like git-rev-list(1), git-log(1), and git-show(1) have described the option's syntax as "--encoding[=<encoding>]" since it was first documented. Clarify by removing the extra brackets. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>