summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-07-01git stash: avoid data loss when "git stash save" kills a directoryLibravatar Petr Baudis3-2/+40
"stash save" is about saving the local change to the working tree, but also about restoring the state of the last commit to the working tree. When a local change is to turn a non-directory to a directory, in order to restore the non-directory, everything in the directory needs to be removed. Which is fine when running "git stash save --include-untracked", but without that option, untracked, newly created files in the directory will have to be discarded, if the state you are restoring to has a non-directory at the same path as the directory. Introduce a safety valve to fail the operation in such case, using the "ls-files --killed" which was designed for this exact purpose. The "stash save" is stopped when untracked files need to be discarded because their leading path ceased to be a directory, and the user is required to pass --force to really have the data removed. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-01treat_directory(): do not declare submodules to be untrackedLibravatar Junio C Hamano2-6/+21
When the working tree walker encounters a directory, it asks the function treat_directory() if it should descend into it, show it as an untracked directory, or do something else. When the directory is the top of the submodule working tree, we used to say "That is an untracked directory", which was bogus. It is an entity that is tracked in the index of the repository we are looking at, and that is not to be descended into it. Return path_none, not path_untracked, to report that. The existing case that path_untracked is returned for a newly discovered submodule that is not tracked in the index (this only happens when DIR_NO_GITLINKS option is not used) is unchanged, but that is exactly because the submodule is not tracked in the index. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-27Merge branch 'maint'Libravatar Junio C Hamano1-0/+54
* maint: Start preparing for 1.8.3.2
2013-06-27Start preparing for 1.8.3.2Libravatar Junio C Hamano2-1/+55
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-27Merge branch 'ks/difftool-dir-diff-copy-fix' into maintLibravatar Junio C Hamano2-7/+21
* ks/difftool-dir-diff-copy-fix: difftool --dir-diff: allow changing any clean working tree file
2013-06-27Merge branch 'rr/push-head' into maintLibravatar Junio C Hamano1-7/+14
* rr/push-head: push: make push.default = current use resolved HEAD push: fail early with detached HEAD and current push: factor out the detached HEAD error message
2013-06-27Merge branch 'fc/show-branch-in-rebase-am' into maintLibravatar Junio C Hamano2-1/+3
* fc/show-branch-in-rebase-am: prompt: fix for simple rebase
2013-06-27Merge branch 'tg/maint-zsh-svn-remote-prompt' into maintLibravatar Junio C Hamano1-3/+4
* tg/maint-zsh-svn-remote-prompt: prompt: fix show upstream with svn and zsh
2013-06-27Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into maintLibravatar Junio C Hamano1-1/+1
* nd/urls-doc-no-file-hyperlink-fix: urls.txt: avoid auto converting to hyperlink
2013-06-27Merge branch 'tr/push-no-verify-doc' into maintLibravatar Junio C Hamano1-1/+6
* tr/push-no-verify-doc: Document push --no-verify
2013-06-27Merge branch 'rs/commit-m-no-edit' into maintLibravatar Junio C Hamano2-4/+23
* rs/commit-m-no-edit: commit: don't start editor if empty message is given with -m
2013-06-27Merge branch 'jc/strbuf-branchname-fix' into maintLibravatar Junio C Hamano2-4/+19
* jc/strbuf-branchname-fix: strbuf_branchname(): do not double-expand @{-1}~22
2013-06-27Merge branch 'mk/combine-diff-context-horizon-fix' into maintLibravatar Junio C Hamano2-2/+53
* mk/combine-diff-context-horizon-fix: combine-diff.c: Fix output when changes are exactly 3 lines apart
2013-06-27Merge branch 'kb/ancestry-path-threedots' into maintLibravatar Junio C Hamano3-1/+38
* kb/ancestry-path-threedots: revision.c: treat A...B merge bases as if manually specified t6019: demonstrate --ancestry-path A...B breakage
2013-06-27Merge branch 'jk/subtree-do-not-push-if-split-fails' into maintLibravatar Junio C Hamano1-1/+2
* jk/subtree-do-not-push-if-split-fails: contrib/subtree: don't delete remote branches if split fails
2013-06-27Merge branch 'mh/fetch-into-shallow' into maintLibravatar Junio C Hamano3-3/+16
* mh/fetch-into-shallow: t5500: add test for fetching with an unknown 'shallow' upload-pack: ignore 'shallow' lines with unknown obj-ids
2013-06-27Merge branch 'jh/checkout-auto-tracking' into maintLibravatar Junio C Hamano8-35/+221
* jh/checkout-auto-tracking: glossary: Update and rephrase the definition of a remote-tracking branch branch.c: Validate tracking branches with refspecs instead of refs/remotes/* t9114.2: Don't use --track option against "svn-remote"-tracking branches t7201.24: Add refspec to keep --track working t3200.39: tracking setup should fail if there is no matching refspec. checkout: Use remote refspecs when DWIMming tracking branches t2024: Show failure to use refspec when DWIMming remote branch names t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
2013-06-27Update draft release notes to 1.8.4Libravatar Junio C Hamano1-1/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-27Merge branch 'jk/add-i-custom-diff-algo'Libravatar Junio C Hamano1-0/+5
* jk/add-i-custom-diff-algo: add -i: add extra options at the right place in "diff" command line add--interactive: respect diff.algorithm
2013-06-27Merge branch 'rr/cherry-pick-fast-forward-reflog-message'Libravatar Junio C Hamano1-3/+8
The reflog message created when "git cherry-pick" fast-forwarded did not say anything but "cherry-pick", but it now says "cherry-pick: fast-forward". * rr/cherry-pick-fast-forward-reflog-message: sequencer: write useful reflog message for fast-forward
2013-06-27Merge branch 'mt/send-email-cc-match-fix'Libravatar Junio C Hamano2-2/+17
Logic used by git-send-email to suppress cc mishandled names that need RFC2047 quoting. * mt/send-email-cc-match-fix: send-email: sanitize author when writing From line send-email: add test for duplicate utf8 name
2013-06-27Merge branch 'jk/pull-into-dirty-unborn'Libravatar Junio C Hamano2-2/+38
"git pull" into nothing trashed "local changes" that were in the index, and this avoids it. * jk/pull-into-dirty-unborn: pull: merge into unborn by fast-forwarding from empty tree pull: update unborn branch tip after index
2013-06-27Merge branch 'bc/http-keep-memory-given-to-curl'Libravatar Junio C Hamano1-3/+9
Older cURL wanted piece of memory we call it with to be stable, but we updated the auth material after handing it to a call. * bc/http-keep-memory-given-to-curl: http.c: don't rewrite the user:passwd string multiple times
2013-06-27Merge branch 'bc/checkout-tracking-name-plug-leak'Libravatar Junio C Hamano2-4/+7
Plug a small leak in checkout. * bc/checkout-tracking-name-plug-leak: t/t9802: explicitly name the upstream branch to use as a base builtin/checkout.c: don't leak memory in check_tracking_name
2013-06-27Merge branch 'rr/rebase-stash-store'Libravatar Junio C Hamano4-17/+74
Finishing touches for the "git rebase --autostash" feature introduced earlier. * rr/rebase-stash-store: rebase: use 'git stash store' to simplify logic stash: introduce 'git stash store' stash: simplify option parser for create stash doc: document short form -p in synopsis stash doc: add a warning about using create
2013-06-26Update draft release notes to 1.8.4Libravatar Junio C Hamano1-0/+12
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-26Merge branch 'tr/maint-apply-non-git-patch-parsefix'Libravatar Junio C Hamano2-1/+15
Fix for the codepath to parse patches that add new files, generated by programs other than Git. THis is an old breakage in v1.7.11 and will need to be merged down to the maintanance tracks. * tr/maint-apply-non-git-patch-parsefix: apply: carefully strdup a possibly-NULL name
2013-06-26Merge branch 'ys/cygstart'Libravatar Junio C Hamano2-3/+9
On Cygwin, recognize "cygstart" as a possible way to start a web browser (used in "help -w" and "instaweb" among others). * ys/cygstart: web--browse: support /usr/bin/cygstart on Cygwin
2013-06-26Merge branch 'wk/doc-git-has-grown'Libravatar Junio C Hamano1-3/+3
* wk/doc-git-has-grown: user-manual: Update download size for Git and the kernel
2013-06-26Merge branch 'vl/typofix'Libravatar Junio C Hamano3-3/+3
* vl/typofix: random typofixes (committed missing a 't', successful missing an 's')
2013-06-26Merge branch 'ph/builtin-srcs-are-in-subdir-these-days'Libravatar Junio C Hamano9-21/+20
* ph/builtin-srcs-are-in-subdir-these-days: fix "builtin-*" references to be "builtin/*"
2013-06-26Merge branch 'mm/merge-in-dirty-worktree-doc'Libravatar Junio C Hamano1-2/+2
* mm/merge-in-dirty-worktree-doc: Documentation/git-merge.txt: weaken warning about uncommited changes
2013-06-26Merge branch 'kb/diff-blob-blob-doc'Libravatar Junio C Hamano1-7/+7
* kb/diff-blob-blob-doc: Documentation: Move "git diff <blob> <blob>"
2013-06-26Merge branch 'mm/push-force-is-dangerous'Libravatar Junio C Hamano1-0/+9
* mm/push-force-is-dangerous: Documentation/git-push.txt: explain better cases where --force is dangerous
2013-06-26Merge branch 'fg/submodule-non-ascii-path'Libravatar Junio C Hamano2-1/+17
Many "git submodule" operations do not work on a submodule at a path whose name is not in ASCII. * fg/submodule-non-ascii-path: t7400: test of UTF-8 submodule names pass under Mac OS handle multibyte characters in name
2013-06-24Update draft release notes to 1.8.4Libravatar Junio C Hamano1-4/+14
For now, comment out the description on two "git status" UI configuration, until the reverted topic can be resurrected. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-24Merge branch 'rr/am-quit-empty-then-abort-fix'Libravatar Junio C Hamano2-17/+40
Recent "rebase --autostash" update made it impossible to recover with "git am --abort" from a repository where "git am" without mbox was run by mistake and then was killed with "^C". * rr/am-quit-empty-then-abort-fix: t/am: use test_path_is_missing() where appropriate am: handle stray $dotest directory
2013-06-24Merge branch 'rt/cherry-pick-continue-advice-in-status'Libravatar Junio C Hamano2-4/+8
* rt/cherry-pick-continue-advice-in-status: wt-status: give better advice when cherry-pick is in progress
2013-06-24Merge branch 'nk/config-local-doc'Libravatar Junio C Hamano1-0/+9
* nk/config-local-doc: config: Add description of --local option
2013-06-24Merge branch 'jk/mergetool-lib-refactor'Libravatar Junio C Hamano1-47/+35
Code cleanup. * jk/mergetool-lib-refactor: mergetool--lib: refactor {diff,merge}_cmd logic
2013-06-24Merge branch 'jk/doc-build-move-infordir-def'Libravatar Junio C Hamano1-22/+22
Makefile cleanup. * jk/doc-build-move-infordir-def: Documentation/Makefile: move infodir to be with other '*dir's Documentation/Makefile: fix spaces around assignments
2013-06-24Merge branch 'fg/submodule-fixup'Libravatar Junio C Hamano1-2/+2
Code cleanup. * fg/submodule-fixup: git-submodule.sh: remove duplicate call to set_rev_name
2013-06-24Merge branch 'dk/version-gen-gitdir'Libravatar Junio C Hamano1-1/+1
Allow packaging a tarball in a working tree with $GIT_DIR set elsewhere. * dk/version-gen-gitdir: GIT-VERSION-GEN: support non-standard $GIT_DIR path
2013-06-24Merge branch 'dk/maint-t5150-dirname'Libravatar Junio C Hamano1-1/+1
Fix a test script. * dk/maint-t5150-dirname: tests: allow sha1's as part of the path
2013-06-24Merge branch 'rs/unpack-trees-tree-walk-conflict-field'Libravatar Junio C Hamano2-16/+4
Code clean-up. * rs/unpack-trees-tree-walk-conflict-field: unpack-trees: don't shift conflicts left and right
2013-06-24Merge branch 'rr/rebase-sha1-by-string-query'Libravatar Junio C Hamano4-2/+36
Allow various commit objects to be given to "git rebase" by ':/look for this string' syntax, e.g. "git rebase --onto ':/there'". * rr/rebase-sha1-by-string-query: rebase: use peel_committish() where appropriate sh-setup: add new peel_committish() helper t/rebase: add failing tests for a peculiar revision
2013-06-24Merge branch 'mm/rm-coalesce-errors'Libravatar Junio C Hamano5-19/+184
Give a single message followed by list of paths from "git rm" to report multiple paths that cannot be removed. * mm/rm-coalesce-errors: rm: introduce advice.rmHints to shorten messages rm: better error message on failure for multiple files
2013-06-24Merge branch 'jh/libify-note-handling'Libravatar Junio C Hamano8-189/+203
Make it possible to call into copy-notes API from the sequencer code. * jh/libify-note-handling: Move create_notes_commit() from notes-merge.c into notes-utils.c Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c finish_copy_notes_for_rewrite(): Let caller provide commit message
2013-06-24Merge branch 'fc/sequencer-plug-leak'Libravatar Junio C Hamano1-7/+11
Plug a small leak in an error codepath. * fc/sequencer-plug-leak: sequencer: avoid leaking message buffer when refusing to create an empty commit sequencer: remove useless indentation
2013-06-24Revert "Merge branch 'jg/status-config'"Libravatar Junio C Hamano3-76/+0
This reverts commit 1a22bd31f0a5130ce6c934951a5526ceb774c2be, reversing changes made to 3e7a5b489e45ae8a3a0b222893d58b172d883136. It makes it impossible to "git commit" when status.short is set, and also "git status --porcelain" output is affected by status.branch.