summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-21Fix failure to delete a packed ref through a symrefLibravatar Johan Herland2-2/+2
When deleting a ref through a symref (e.g. using 'git update-ref -d HEAD' to delete refs/heads/master), we would remove the loose ref, but a packed version of the same ref would remain, the end result being that instead of deleting refs/heads/master we would appear to reset it to its state as of the last repack. This patch fixes the issue, by making sure we pass the correct ref name when invoking repack_without_ref() from within delete_ref(). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-21t1400-update-ref: Add test verifying bug with symrefs in delete_ref()Libravatar Johan Herland1-0/+18
When deleting a ref through a symref (e.g. using 'git update-ref -d HEAD' to delete refs/heads/master), we currently fail to remove the packed version of that ref. This testcase demonstrates the bug. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18branch: show targets of deleted symrefs, not sha1sLibravatar René Scharfe2-11/+13
git branch reports the abbreviated hash of the head commit of a deleted branch to make it easier for a user to undo the operation. For symref branches this doesn't help. Print the symref target instead for them. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18branch: skip commit checks when deleting symref branchesLibravatar René Scharfe2-2/+17
Before a branch is deleted, we check that it points to a valid commit. With -d we also check that the commit is a merged; this check is not done with -D. The reason for that is that commits pointed to by branches should never go missing; if they do then something broke and it's better to stop instead of adding to the mess. And a non-merged commit may contain changes that are worth preserving, so we require the stronger option -D instead of -d to get rid of them. If a branch consists of a symref, these concerns don't apply. Deleting such a branch can't make a commit become unreferenced, so we don't need to check if it is merged, or even if it is actually a valid commit. Skip them in that case. This allows us to delete dangling symref branches. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18branch: delete symref branch, not its targetLibravatar René Scharfe2-1/+12
If a branch that is to be deleted happens to be a symref to another branch, the current code removes the targeted branch instead of the one it was called for. Change this surprising behaviour and delete the symref branch instead. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18branch: factor out delete_branch_config()Libravatar René Scharfe1-5/+10
Provide a small helper function for deleting branch config sections. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18branch: factor out check_branch_commit()Libravatar René Scharfe1-12/+21
Move the code to perform checks on the tip commit of a branch to its own function. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Git 1.8.0-rc3Libravatar Junio C Hamano2-5/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano2-914/+913
* 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-17Sync with 1.7.12.4Libravatar Junio C Hamano2-1/+25
2012-10-17Git 1.7.12.4Libravatar Junio C Hamano4-3/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge branch 'jk/maint-http-half-auth-push' into maintLibravatar Junio C Hamano3-6/+6
* jk/maint-http-half-auth-push: http: fix segfault in handle_curl_result
2012-10-17Merge branch 'rr/git-uri-doc' into maintLibravatar Junio C Hamano1-2/+6
* rr/git-uri-doc: Git url doc: mark ftp/ftps as read-only and deprecate them
2012-10-17Merge branch 'bw/cp-a-is-gnuism' into maintLibravatar Junio C Hamano3-3/+3
* bw/cp-a-is-gnuism: tests: "cp -a" is a GNUism
2012-10-17Merge branch 'nd/doc-ignore' into maintLibravatar Junio C Hamano1-1/+5
* nd/doc-ignore: gitignore.txt: suggestions how to get literal # or ! at the beginning
2012-10-17Merge branch 'jc/doc-long-options' into maintLibravatar Junio C Hamano1-1/+11
* jc/doc-long-options: gitcli: parse-options lets you omit tail of long options
2012-10-17Merge branch 'jc/maint-t1450-fsck-order-fix' into maintLibravatar Junio C Hamano1-3/+1
* jc/maint-t1450-fsck-order-fix: t1450: the order the objects are checked is undefined
2012-10-17Merge branch 'rr/test-use-shell-path-not-shell' into maintLibravatar Junio C Hamano1-16/+16
* rr/test-use-shell-path-not-shell: test-lib: use $SHELL_PATH, not $SHELL
2012-10-17Merge branch 'rr/test-make-sure-we-have-git' into maintLibravatar Junio C Hamano2-10/+9
* rr/test-make-sure-we-have-git: t/test-lib: make sure Git has already been built
2012-10-17Merge branch 'po/maint-docs' into maintLibravatar Junio C Hamano5-15/+28
* 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-17Merge branch 'jc/ll-merge-binary-ours' into maintLibravatar Junio C Hamano5-12/+41
* 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-17Merge branch 'db/doc-custom-xmlto' into maintLibravatar Junio C Hamano1-2/+3
* db/doc-custom-xmlto: Documentation/Makefile: Allow custom XMLTO binary
2012-10-17Merge branch 'master' of https://github.com/nafmo/git-l10n-svLibravatar Jiang Xin1-441/+438
* 'master' of https://github.com/nafmo/git-l10n-sv: l10n: Update Swedish translation (1964t0f0u)
2012-10-17Merge branch 'master' of git://github.com/vnwildman/gitLibravatar Jiang Xin1-473/+475
* 'master' of git://github.com/vnwildman/git: l10n: vi.po: update from v1.8.0-rc2-4-g42e55
2012-10-17l10n: vi.po: update from v1.8.0-rc2-4-g42e55Libravatar Tran Ngoc Quan1-473/+475
* translate 3 new messages * review quotes Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-10-16Documentation/RelNotes: remove "updated up to this revision" markersLibravatar Thomas Ackermann5-25/+0
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-16Update draft release notes to 1.8.0Libravatar Junio C Hamano1-0/+7
We are almost there... Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16Merge branch 'jk/maint-http-half-auth-push'Libravatar Junio C Hamano3-6/+6
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-16l10n: Update Swedish translation (1964t0f0u)Libravatar Peter Krefting1-441/+438
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-10-16l10n: Update git.pot (3 new, 6 removed messages)Libravatar Jiang Xin1-437/+415
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-16Merge branch 'master' of git://github.com/vnwildman/gitLibravatar Jiang Xin1-672/+4096
* 'master' of git://github.com/vnwildman/git: l10n: vi.po: update translation upto cc76011
2012-10-15l10n: vi.po: update translation upto cc76011Libravatar Tran Ngoc Quan1-672/+4096
* translate all new messages (100%) * review some others Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-10-13Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: Fix spelling error in post-receive-email hook
2012-10-13Fix spelling error in post-receive-email hookLibravatar Richard Fearn1-1/+1
Signed-off-by: Richard Fearn <richardfearn@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-12Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: gitweb.cgi: fix "comitter_tz" typo in feed
2012-10-12http: fix segfault in handle_curl_resultLibravatar Jeff King3-6/+6
When we create an http active_request_slot, we can set its "results" pointer back to local storage. The http code will fill in the details of how the request went, and we can access those details even after the slot has been cleaned up. Commit 8809703 (http: factor out http error code handling) switched us from accessing our local results struct directly to accessing it via the "results" pointer of the slot. That means we're accessing the slot after it has been marked as finished, defeating the whole purpose of keeping the results storage separate. Most of the time this doesn't matter, as finishing the slot does not actually clean up the pointer. However, when using curl's multi interface with the dumb-http revision walker, we might actually start a new request before handing control back to the original caller. In that case, we may reuse the slot, zeroing its results pointer, and leading the original caller to segfault while looking for its results inside the slot. Instead, we need to pass a pointer to our local results storage to the handle_curl_result function, rather than relying on the pointer in the slot struct. This matches what the original code did before the refactoring (which did not use a separate function, and therefore just accessed the results struct directly). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-12gitweb.cgi: fix "comitter_tz" typo in feedLibravatar Dylan Alex Simon1-1/+1
gitweb's feeds sometimes contained committer timestamps in the wrong timezone due to a misspelling. Signed-off-by: Dylan Simon <dylan@dylex.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-11Git 1.8.0-rc2Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-10Merge branch 'rr/git-uri-doc'Libravatar Junio C Hamano1-2/+6
* rr/git-uri-doc: Git url doc: mark ftp/ftps as read-only and deprecate them
2012-10-10Merge branch 'bw/cp-a-is-gnuism'Libravatar Junio C Hamano3-3/+3
* bw/cp-a-is-gnuism: tests: "cp -a" is a GNUism
2012-10-10Merge branch 'nd/doc-ignore'Libravatar Junio C Hamano1-1/+5
* nd/doc-ignore: gitignore.txt: suggestions how to get literal # or ! at the beginning
2012-10-10Merge branch 'jc/doc-long-options'Libravatar Junio C Hamano1-1/+11
* jc/doc-long-options: gitcli: parse-options lets you omit tail of long options
2012-10-10Sync with maintLibravatar Junio C Hamano1-0/+5
* maint: attr: a note about the order of .gitattributes lookup
2012-10-10Merge git://bogomips.org/git-svnLibravatar Junio C Hamano2-2/+25
* git://bogomips.org/git-svn: svn test: escape peg revision separator using empty peg rev git svn: work around SVN 1.7 mishandling of svn:special changes
2012-10-10svn test: escape peg revision separator using empty peg revLibravatar Jonathan Nieder1-1/+1
This test script uses "svn cp" to create a branch with an @-sign in its name: svn cp "pr ject/trunk" "pr ject/branches/not-a@{0}reflog" That sets up for later tests that fetch the branch and check that git svn mangles the refname appropriately. Unfortunately, modern svn versions interpret path arguments with an @-sign as an example of path@revision syntax (which pegs a path to a particular revision) and truncate the path or error out with message "svn: E205000: Syntax error parsing peg revision '{0}reflog'". When using subversion 1.6.x, escaping the @ sign as %40 avoids trouble (see 08fd28bb, 2010-07-08). Newer versions are stricter: $ svn cp "$repo/pr ject/trunk" "$repo/pr ject/branches/not-a%40{reflog}" svn: E205000: Syntax error parsing peg revision '%7B0%7Dreflog' The recommended method for escaping a literal @ sign in a path passed to subversion is to add an empty peg revision at the end of the path ("branches/not-a@{0}reflog@"). Do that. Pre-1.6.12 versions of Subversion probably treat the trailing @ as another literal @-sign (svn issue 3651). Luckily ever since v1.8.0-rc0~155^2~7 (t9118: workaround inconsistency between SVN versions, 2012-07-28) the test can survive that. Tested with Debian Subversion 1.6.12dfsg-6 and 1.7.5-1 and r1395837 of Subversion trunk (1.8.x). Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Tested-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-10-10git svn: work around SVN 1.7 mishandling of svn:special changesLibravatar Jonathan Nieder1-1/+24
Subversion represents symlinks as ordinary files with content starting with "link " and the svn:special property set to "*". Thus a file can switch between being a symlink and a non-symlink simply by toggling its svn:special property, and new checkouts will automatically write a file of the appropriate type. Likewise, in subversion 1.6 and older, running "svn update" would notice changes in filetype and update the working copy appropriately. Starting in subversion 1.7 (issue 4091), changes to the svn:special property trip an assertion instead: $ svn up svn-tree Updating 'svn-tree': svn: E235000: In file 'subversion/libsvn_wc/update_editor.c' \ line 1583: assertion failed (action == svn_wc_conflict_action_edit \ || action == svn_wc_conflict_action_delete || action == \ svn_wc_conflict_action_replace) Revisions prepared with ordinary svn commands ("svn add" and not "svn propset") don't trip this because they represent these filetype changes using a replace operation, which is approximately equivalent to removal followed by adding a new file and works fine. Follow suit. Noticed using t9100. After this change, git-svn's file-to-symlink changes are sent in a format that modern "svn update" can handle and tests t9100.11-13 pass again. [ew: s,git-svn\.perl,perl/Git/SVN/Editor.pm,g] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-10-10MALLOC_CHECK: Allow checking to be disabled from config.makLibravatar Ramsay Jones1-0/+1
The malloc checks can be disabled using the TEST_NO_MALLOC_CHECK variable, either from the environment or command line of an 'make test' invocation. In order to allow the malloc checks to be disabled from the 'config.mak' file, we add TEST_NO_MALLOC_CHECK to the environment using an export directive. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-10attr: a note about the order of .gitattributes lookupLibravatar Nguyen Thai Ngoc Duy1-0/+5
This is the documentation part of 1a9d7e9 (attr.c: read .gitattributes from index as well. - 2007-08-14) 06f33c1 (Read attributes from the index that is being checked out - 2009-03-13) Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-09Merge branch 'maint'Libravatar Junio C Hamano1-7/+7
* maint: l10n: de.po: fix a few minor typos
2012-10-09configure.ac: Add missing comma to CC_LD_DYNPATHLibravatar Øyvind A. Holm1-1/+1
40bfbde ("build: don't duplicate substitution of make variables", 2012-09-11) by mistake removed a necessary comma at the end of "CC_LD_DYNPATH=-Wl,rpath," in line 414. When executing "./configure --with-zlib=PATH", this resulted in [...] CC xdiff/xhistogram.o AR xdiff/lib.a LINK git-credential-store /usr/bin/ld: bad -rpath option collect2: ld returned 1 exit status make: *** [git-credential-store] Error 1 $ during make. Signed-off-by: Øyvind A. Holm <sunny@sunbase.org> Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>