summaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2013-06-14prompt: squelch error output from catLibravatar Ramkumar Ramachandra1-6/+6
The files $g/rebase-{merge,apply}/{head-name,msgnum,end} are not guaranteed to exist. When attempting to cat them, squelch the error output. In addition to guarding against stray directories, this patch addresses a real problem: # on terminal 1 $ git rebase -i master # ignore editor, and switch to terminal 2 cat: .git/rebase-merge/msgnum: No such file or directory cat: .git/rebase-merge/end: No such file or directory $ Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-11Merge branch 'mm/mediawiki-https-fail-message'Libravatar Junio C Hamano1-8/+18
Hint users when https:// connection failed to check the certificate. * mm/mediawiki-https-fail-message: git-remote-mediawiki: better error message when HTTP(S) access fails
2013-06-11Merge branch 'xq/credential-osxkeychain'Libravatar Junio C Hamano1-1/+11
* xq/credential-osxkeychain: credential-osxkeychain: support more protocols
2013-06-11Merge branch 'fc/remote-bzr'Libravatar Junio C Hamano1-57/+55
* fc/remote-bzr: remote-bzr: add fallback check for a partial clone remote-bzr: reorganize the way 'wanted' works remote-bzr: trivial cleanups remote-bzr: change global repo remote-bzr: delay cloning/pulling remote-bzr: simplify get_remote_branch() remote-bzr: fix for files with spaces remote-bzr: recover from failed clones
2013-06-11Merge branch 'fc/remote-hg'Libravatar Junio C Hamano6-522/+1300
* fc/remote-hg: (50 commits) remote-hg: add support for --force remote-hg: add support for --dry-run remote-hg: check if a fetch is needed remote-hg: trivial cleanup remote-helpers: improve marks usage remote-hg: add check_push() helper remote-hg: add setup_big_push() helper remote-hg: remove files before modifications remote-hg: improve lightweight tag author remote-hg: use remote 'default' not local one remote-hg: improve branch listing remote-hg: simplify branch_tip() remote-hg: check diverged bookmarks remote-hg: pass around revision refs remote-hg: implement custom checkheads() remote-hg: implement custom push() remote-hg: only update necessary revisions remote-hg: force remote bookmark push selectively remote-hg: reorganize bookmark handling remote-hg: add test for failed double push ...
2013-06-11Merge branch 'fc/completion-less-ls-remote'Libravatar Junio C Hamano1-8/+2
* fc/completion-less-ls-remote: completion: avoid ls-remote in certain scenarios
2013-06-06Merge branch 'fc/show-branch-in-rebase-am'Libravatar Junio C Hamano1-0/+2
The bash prompt code (in contrib/) displayed the name of the branch being rebased when "rebase -i/-m/-p" modes are in use, but not the plain vanilla "rebase". * fc/show-branch-in-rebase-am: prompt: fix for simple rebase
2013-06-05Merge branch 'tg/maint-zsh-svn-remote-prompt'Libravatar Junio C Hamano1-3/+4
zsh prompt script that borrowed from bash prompt script did not work due to slight differences in array variable notation between these two shells. * tg/maint-zsh-svn-remote-prompt: prompt: fix show upstream with svn and zsh
2013-06-05Merge branch 'dm/unbash-subtree'Libravatar Junio C Hamano1-1/+1
It turns out that git-subtree script does not have to be run with bash. * dm/unbash-subtree: contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
2013-06-05Merge branch 'rr/zsh-color-prompt'Libravatar Junio C Hamano1-39/+85
Prompt support (in contrib/) for zsh is updated to use colors. * rr/zsh-color-prompt: prompt: colorize ZSH prompt prompt: factor out gitstring coloring logic prompt: introduce GIT_PS1_STATESEPARATOR
2013-06-02completion: avoid ls-remote in certain scenariosLibravatar Felipe Contreras1-8/+2
It's _very_ slow in many cases, and there's really no point in fetching *everything* from the remote just for completion. In many cases it might be faster for the user to type the whole thing. If the user manually specifies 'refs/*', then the full ls-remote completion is triggered. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-06-02Merge branch 'fc/completion'Libravatar Junio C Hamano1-115/+30
* fc/completion: completion: remove __git_index_file_list_filter() completion: add space after completed filename completion: add hack to enable file mode in bash < 4 completion: refactor __git_complete_index_file() completion: refactor diff_index wrappers completion: use __gitcompadd for __gitcomp_file completion; remove unuseful comments completion: document tilde expansion failure in tests completion: add file completion tests
2013-06-02Merge branch 'fc/zsh-leftover-bits'Libravatar Junio C Hamano2-23/+26
* fc/zsh-leftover-bits: completion: zsh: improve bash script loading completion: synchronize zsh wrapper completion: cleanup zsh wrapper
2013-05-29Merge branch 'jk/subtree-do-not-push-if-split-fails'Libravatar Junio C Hamano1-1/+2
"git subtree" (in contrib/) had one codepath with loose error checks to lose data at the remote side. * jk/subtree-do-not-push-if-split-fails: contrib/subtree: don't delete remote branches if split fails
2013-05-29completion: zsh: improve bash script loadingLibravatar Felipe Contreras1-8/+19
It's better to check in multiple locations, so the user doesn't have to. And update the documentation. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-29prompt: fix for simple rebaseLibravatar Felipe Contreras1-0/+2
When we are rebasing without options ('am' mode), the head rebased lives in '$g/rebase-apply/head-name', so lets use that information so it's reported the same way as if we were doing other rebases (-i or -m). Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-29git-remote-mediawiki: better error message when HTTP(S) access failsLibravatar Matthieu Moy1-8/+18
My use-case is an invalid SSL certificate. Pulling from the wiki with a recent version of libwww-perl fails, and git-remote-mediawiki gave no clue about the reason. Give the mediawiki API detailed error message, and since it is not so informative, hint the user about an invalid SSL certificate on https:// urls. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28credential-osxkeychain: support more protocolsLibravatar Xidorn Quan1-1/+11
Add protocol imap, imaps, ftp and smtp for credential-osxkeychain. Signed-off-by: Xidorn Quan <quanxunzhen@gmail.com> Acked-by: John Szakmeister <john@szakmeister.net> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add support for --forceLibravatar Felipe Contreras2-13/+50
And get rid of the remote-hg.force-push option hack. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add support for --dry-runLibravatar Felipe Contreras2-2/+65
This needs a specific patch from Git not applied yet. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: check if a fetch is neededLibravatar Felipe Contreras2-1/+109
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: trivial cleanupLibravatar Felipe Contreras1-7/+4
It's better to catch the exception later on. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-helpers: improve marks usageLibravatar Felipe Contreras2-3/+9
Always convert to strings (they are unicode because they come from JSON). Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add check_push() helperLibravatar Felipe Contreras1-17/+49
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add setup_big_push() helperLibravatar Felipe Contreras1-4/+11
So we don't duplicate these commands. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: remove files before modificationsLibravatar Felipe Contreras1-2/+2
Otherwise replacing a file with a directory doesn't work. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: improve lightweight tag authorLibravatar Felipe Contreras1-4/+14
Use git's committer. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: use remote 'default' not local oneLibravatar Felipe Contreras2-11/+10
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: improve branch listingLibravatar Felipe Contreras1-3/+6
We want to show the remote heads, not the internal ones, which might have garbage. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: simplify branch_tip()Libravatar Felipe Contreras1-8/+4
It simply picks the last head that is not closed, but we have a stored list of open heads. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: check diverged bookmarksLibravatar Felipe Contreras2-1/+25
So that we can report a proper error. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: pass around revision refsLibravatar Felipe Contreras2-16/+24
So that when a diverge is detected, we know which ref to report an error for. Also, since we are not throwing an exception, return a proper error code. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: implement custom checkheads()Libravatar Felipe Contreras1-3/+49
The version from Mercurial is extremely inefficient and convoluted, this version achieves basically the same, at least for our purposes. No functional changes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: implement custom push()Libravatar Felipe Contreras1-2/+42
The one from mercurial does a ton of things we are not interested in, and we need some special modifications which are impossible otherwise. Most of the code is borrowed from Mercurial, and cleaned up, but should be functionally the same for our purposes, except that multiple heads are not detected. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: only update necessary revisionsLibravatar Felipe Contreras1-2/+7
We don't care about the rest, and in fact, we shouldn't try to push everything, as there might be garbage from previous failed pushes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: force remote bookmark push selectivelyLibravatar Felipe Contreras1-1/+2
If we update the 'old' node, we might be updating the remote bookmark even when our 'new' node is not related at all to what the remote has, effectively forcing an update. Let's do that only when forced push is configured. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: reorganize bookmark handlingLibravatar Felipe Contreras1-31/+19
We don't need to update both internal and remote bookmarks, so let's do one or the other, and move the shared code earlier, so it's simpler. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test for failed double pushLibravatar Felipe Contreras1-0/+24
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test for big pushLibravatar Felipe Contreras1-6/+107
With lots branches and bookmarks, non-ff, updated and new. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test for new bookmark specialLibravatar Felipe Contreras1-0/+15
From the point of view of Mercurial, this creates a new branch head, and requires a forced push. Ideally, however, we would want it to work just like in git; new branches can be pushed without problems. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test for bookmark divergeLibravatar Felipe Contreras1-0/+29
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test for diverged pushLibravatar Felipe Contreras1-0/+23
Neither mercurial nor git allows pushing to a remote when it's a non-fast-forward push. We should be able to detect these errors and report them properly, as opposed to throwing an exception stack-trace. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add test to push new bookmarkLibravatar Felipe Contreras1-0/+30
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add remote testsLibravatar Felipe Contreras2-1/+39
The logic when working with a local repository is totally different from the one where we work with a remote repository; we need to pull and push from it. All this logic is currently not tested at all, so let's introduce a variable to force the remote behavior. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: update bookmarks when using a remoteLibravatar Felipe Contreras1-0/+17
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add check_bookmark() test helperLibravatar Felipe Contreras1-1/+7
And check in a more proper way. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-bzr: simplify test checksLibravatar Felipe Contreras1-12/+5
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: add tests for 'master' bookmarkLibravatar Felipe Contreras1-1/+67
We want to make sure everything works correctly, even if there's a 'master' bookmark in Mercurial. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: always point HEAD to masterLibravatar Felipe Contreras4-52/+26
Mercurial always checks out the 'default' branch, so there's no point in complicating our lives trying to do something fancier, which causes different behavior depending on whether the repository is local or remote. So let's always use 'default' (which we translate to 'master'), unless we are in hg-git mode, which expects us to use the 'master' bookmark instead. Also, update the tests that used to check for different checkout behaviors to simply check that the refs are there, remove unnecessary ones, and fix the ones that expect something different. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-28remote-hg: improve progress calculationLibravatar Felipe Contreras1-5/+4
No need to manually keep track of the revision count. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>