summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-03fetch --prune: Run prune before fetchingTom Miller
When we have a remote-tracking branch named "frotz/nitfol" from a previous fetch, and the upstream now has a branch named "frotz", fetch would fail to remove "frotz/nitfol" with a "git fetch --prune" from the upstream. git would inform the user to use "git remote prune" to fix the problem. Change the way "fetch --prune" works by moving the pruning operation before the fetching operation. This way, instead of warning the user of a conflict, it autmatically fixes it. Signed-off-by: Tom Miller <jackerran@gmail.com> Tested-by: Thomas Rast <tr@thomasrast.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-01-03fetch --prune: always print header urlTom Miller
If "fetch --prune" is run with no new refs to fetch, but it has refs to prune. Then, the header url is not printed as it would if there were new refs to fetch. Output before this patch: $ git fetch --prune remote-with-no-new-refs x [deleted] (none) -> origin/world Output after this patch: $ git fetch --prune remote-with-no-new-refs From https://github.com/git/git x [deleted] (none) -> origin/test Signed-off-by: Tom Miller <jackerran@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-17Sync with 1.8.5.2Junio C Hamano
* maint: Git 1.8.5.2 cmd_repack(): remove redundant local variable "nr_packs"
2013-12-17Update draft release notes to 1.9Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-17Merge branch 'kn/gitweb-extra-branch-refs'Junio C Hamano
Allow gitweb to be configured to show refs out of refs/heads/ as if they were branches. * kn/gitweb-extra-branch-refs: gitweb: Denote non-heads, non-remotes branches gitweb: Add a feature for adding more branch refs gitweb: Return 1 on validation success instead of passed input gitweb: Move check-ref-format code into separate function
2013-12-17Merge branch 'tb/clone-ssh-with-colon-for-port'Junio C Hamano
Be more careful when parsing remote repository URL given in the scp-style host:path notation. * tb/clone-ssh-with-colon-for-port: git_connect(): use common return point connect.c: refactor url parsing git_connect(): refactor the port handling for ssh git fetch: support host:/~repo t5500: add test cases for diag-url git fetch-pack: add --diag-url git_connect: factor out discovery of the protocol and its parts git_connect: remove artificial limit of a remote command t5601: add tests for ssh t5601: remove clear_ssh, refactor setup_ssh_wrapper
2013-12-17Merge branch 'nd/transport-positive-depth-only'Junio C Hamano
"git fetch --depth=0" was a no-op, and was silently ignored. Diagnose it as an error. * nd/transport-positive-depth-only: clone,fetch: catch non positive --depth option value
2013-12-17Merge branch 'cc/starts-n-ends-with'Junio C Hamano
Remove a few duplicate implementations of prefix/suffix comparison functions, and rename them to starts_with and ends_with. * cc/starts-n-ends-with: replace {pre,suf}fixcmp() with {starts,ends}_with() strbuf: introduce starts_with() and ends_with() builtin/remote: remove postfixcmp() and use suffixcmp() instead environment: normalize use of prefixcmp() by removing " != 0"
2013-12-17Merge branch 'jl/commit-v-strip-marker'Junio C Hamano
"git commit -v" appends the patch to the log message before editing, and then removes the patch when the editor returned control. However, the patch was not stripped correctly when the first modified path was a submodule. * jl/commit-v-strip-marker: commit -v: strip diffs and submodule shortlogs from the commit message
2013-12-17Merge branch 'tr/send-email-ssl'Junio C Hamano
SSL-related options were not passed correctly to underlying socket layer in "git send-email". * tr/send-email-ssl: send-email: set SSL options through IO::Socket::SSL::set_client_defaults send-email: --smtp-ssl-cert-path takes an argument send-email: pass Debug to Net::SMTP::SSL::new
2013-12-17Merge branch 'nd/gettext-vsnprintf'Junio C Hamano
* nd/gettext-vsnprintf: gettext.c: detect the vsnprintf bug at runtime
2013-12-17Merge branch 'mm/mv-file-to-no-such-dir-with-slash'Junio C Hamano
* mm/mv-file-to-no-such-dir-with-slash: mv: let 'git mv file no-such-dir/' error out
2013-12-17Merge branch 'nd/remove-opt-boolean'Junio C Hamano
* nd/remove-opt-boolean: parse-options: remove OPT_BOOLEAN
2013-12-17Merge branch 'bc/doc-merge-no-op-revert'Junio C Hamano
* bc/doc-merge-no-op-revert: Documentation: document pitfalls with 3-way merge
2013-12-17Merge branch 'fc/trivial'Junio C Hamano
* fc/trivial: remote: fix status with branch...rebase=preserve fetch: add missing documentation t: trivial whitespace cleanups abspath: trivial style fix
2013-12-17Merge branch 'jk/t5000-gzip-simplify'Junio C Hamano
Test fix. * jk/t5000-gzip-simplify: t5000: simplify gzip prerequisite checks
2013-12-17Merge branch 'kb/doc-exclude-directory-semantics'Junio C Hamano
* kb/doc-exclude-directory-semantics: gitignore.txt: clarify recursive nature of excluded directories
2013-12-17Git 1.8.5.2v1.8.5.2Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-17Merge branch 'rs/doc-submitting-patches' into maintJunio C Hamano
* rs/doc-submitting-patches: SubmittingPatches: document how to handle multiple patches
2013-12-17Merge branch 'tr/doc-git-cherry' into maintJunio C Hamano
* tr/doc-git-cherry: Documentation: revamp git-cherry(1)
2013-12-17Merge branch 'nd/glossary-content-pathspec-markup' into maintJunio C Hamano
* nd/glossary-content-pathspec-markup: glossary-content.txt: fix documentation of "**" patterns
2013-12-17Merge branch 'jj/doc-markup-gitcli' into maintJunio C Hamano
* jj/doc-markup-gitcli: Documentation/gitcli.txt: fix double quotes
2013-12-17Merge branch 'jj/doc-markup-hints-in-coding-guidelines' into maintJunio C Hamano
* jj/doc-markup-hints-in-coding-guidelines: State correct usage of literal examples in man pages in the coding standards
2013-12-17Merge branch 'jj/log-doc' into maintJunio C Hamano
* jj/log-doc: Documentation/git-log.txt: mark-up fix and minor rephasing Documentation/git-log: update "--log-size" description
2013-12-17Merge branch 'jj/rev-list-options-doc' into maintJunio C Hamano
* jj/rev-list-options-doc: Documentation/rev-list-options.txt: fix some grammatical issues and typos Documentation/rev-list-options.txt: fix mark-up
2013-12-17Merge branch 'tb/doc-fetch-pack-url' into maintJunio C Hamano
* tb/doc-fetch-pack-url: git-fetch-pack uses URLs like git-fetch
2013-12-17Merge branch 'mi/typofixes' into maintJunio C Hamano
* mi/typofixes: contrib: typofixes Documentation/technical/http-protocol.txt: typofixes typofixes: fix misspelt comments
2013-12-17Merge branch 'jh/loose-object-dirs-creation-race' into maintJunio C Hamano
Two processes creating loose objects at the same time could have failed unnecessarily when the name of their new objects started with the same byte value, due to a race condition. * jh/loose-object-dirs-creation-race: sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
2013-12-17Merge branch 'jk/two-way-merge-corner-case-fix' into maintJunio C Hamano
"git am --abort" sometimes complained about not being able to write a tree with an 0{40} object in it. * jk/two-way-merge-corner-case-fix: t1005: add test for "read-tree --reset -u A B" t1005: reindent unpack-trees: fix "read-tree -u --reset A B" with conflicted index
2013-12-17Merge branch 'sb/sha1-loose-object-info-check-existence' into maintJunio C Hamano
"git cat-file --batch-check=ok" did not check the existence of the named object. * sb/sha1-loose-object-info-check-existence: sha1_loose_object_info(): do not return success on missing object
2013-12-17Merge branch 'nd/magic-pathspec' into maintJunio C Hamano
"git diff -- ':(icase)makefile'" was unnecessarily rejected at the command line parser. * nd/magic-pathspec: diff: restrict pathspec limitations to diff b/f case only
2013-12-17cmd_repack(): remove redundant local variable "nr_packs"Michael Haggerty
Its value is the same as the number of entries in the "names" string_list, so just use "names.nr" in its place. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Acked-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12Update draft release notes to 1.9Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12Merge branch 'jn/scripts-updates'Junio C Hamano
* jn/scripts-updates: remove #!interpreter line from shell libraries test: replace shebangs with descriptions in shell libraries test: make FILEMODE a lazy prereq contrib: remove git-p4import mark contributed hooks executable mark perl test scripts executable mark Windows build scripts executable
2013-12-12Merge branch 'cn/thin-push-capability'Junio C Hamano
Allow receive-pack to insist on receiving a fat pack from "git push" clients. * cn/thin-push-capability: send-pack: don't send a thin pack to a server which doesn't support it
2013-12-12Merge branch 'jk/remove-deprecated'Junio C Hamano
* jk/remove-deprecated: stop installing git-tar-tree link peek-remote: remove deprecated alias of ls-remote lost-found: remove deprecated command tar-tree: remove deprecated command repo-config: remove deprecated alias for "git config"
2013-12-12Merge branch 'tr/commit-slab-cleanup'Junio C Hamano
* tr/commit-slab-cleanup: commit-slab: sizeof() the right type in xrealloc commit-slab: declare functions "static inline" commit-slab: document clear_$slabname()
2013-12-12Merge branch 'rs/doc-submitting-patches'Junio C Hamano
* rs/doc-submitting-patches: SubmittingPatches: document how to handle multiple patches
2013-12-12Merge branch 'tr/doc-git-cherry'Junio C Hamano
* tr/doc-git-cherry: Documentation: revamp git-cherry(1)
2013-12-12Merge branch 'cl/p4-use-diff-tree'Junio C Hamano
* cl/p4-use-diff-tree: git p4: Use git diff-tree instead of format-patch
2013-12-12Merge branch 'tr/config-multivalue-lift-max'Junio C Hamano
* tr/config-multivalue-lift-max: config: arbitrary number of matches for --unset and --replace-all
2013-12-12Merge branch 'mh/fetch-tags-in-addition-to-normal-refs'Junio C Hamano
The "--tags" option to "git fetch" used to be literally a synonym to a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an explicit refspec given from the command line, it silenced the lazy "git fetch" default that is configured, and (2) also as an explicit refspec given from the command line, it interacted with "--prune" to remove any tag that the remote we are fetching from does not have. This demotes it to an option; with it, we fetch all tags in addition to what would be fetched without the option, and it does not interact with the decision "--prune" makes to see what remote-tracking refs the local has are missing the remote counterpart. * mh/fetch-tags-in-addition-to-normal-refs: (23 commits) fetch: improve the error messages emitted for conflicting refspecs handle_duplicate(): mark error message for translation ref_remote_duplicates(): extract a function handle_duplicate() ref_remove_duplicates(): simplify loop logic t5536: new test of refspec conflicts when fetching ref_remove_duplicates(): avoid redundant bisection git-fetch.txt: improve description of tag auto-following fetch-options.txt: simplify ifdef/ifndef/endif usage fetch, remote: properly convey --no-prune options to subprocesses builtin/remote.c:update(): use struct argv_array builtin/remote.c: reorder function definitions query_refspecs(): move some constants out of the loop fetch --prune: prune only based on explicit refspecs fetch --tags: fetch tags *in addition to* other stuff fetch: only opportunistically update references based on command line get_expanded_map(): avoid memory leak get_expanded_map(): add docstring builtin/fetch.c: reorder function definitions get_ref_map(): rename local variables api-remote.txt: correct section "struct refspec" ...
2013-12-12gitweb: Denote non-heads, non-remotes branchesKrzesimir Nowak
Given two branches residing in refs/heads/master and refs/wip/feature the list-of-branches view will present them in following way: master feature (wip) When getting a snapshot of a 'feature' branch, the tarball is going to have name like 'project-wip-feature-<short hash>.tgz'. Signed-off-by: Krzesimir Nowak <krzesimir@endocode.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12gitweb: Add a feature for adding more branch refsKrzesimir Nowak
Allow extra-branch-refs feature to tell gitweb to show refs from additional hierarchies in addition to branches in the list-of-branches view. Signed-off-by: Krzesimir Nowak <krzesimir@endocode.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12gitweb: Return 1 on validation success instead of passed inputKrzesimir Nowak
Users of validate_* passing "0" might get failures on correct name because of coercion of "0" to false in code like: die_error(500, "invalid ref") unless (check_ref_format ("0")); Also, the validate_foo subs are renamed to is_valid_foo. Signed-off-by: Krzesimir Nowak <krzesimir@endocode.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12gitweb: Move check-ref-format code into separate functionKrzesimir Nowak
This check will be used in more than one place later. Signed-off-by: Krzesimir Nowak <krzesimir@endocode.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-09Merge git://repo.or.cz/git-guiJunio C Hamano
* git://repo.or.cz/git-gui: git-gui: correct spelling errors in comments git-gui: add menu item to launch a bash shell on Windows. git-gui: corrected setup of git worktree under cygwin. git-gui: right half window is paned git-gui: Add gui.displayuntracked option git-gui: show the maxrecentrepo config option in the preferences dialog git-gui: added gui.maxrecentrepo to extend the number of remembered repos git-gui: Improve font rendering on retina macbooks
2013-12-09Merge git://ozlabs.org/~paulus/gitkJunio C Hamano
* git://ozlabs.org/~paulus/gitk: gitk: Recognize -L option gitk: Support showing the gathered inline diffs gitk: Split out diff part in $commitinfo gitk: Refactor per-line part of getblobdiffline and its support gitk: Support -G option from the command line gitk: Tag display improvements
2013-12-09git_connect(): use common return pointTorsten Bögershausen
Use only one return point from git_connect(), doing the free(); return conn; only at one place in the code. There may be a little confusion what the variable "host" is for. At some places it is only the host part, at other places it may include the port number, so change host into hostandport here. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-09connect.c: refactor url parsingTorsten Bögershausen
Make the function is_local() in transport.c public, rename it into url_is_local_not_ssh() and use it in both transport.c and connect.c Use a protocol "local" for URLs for the local file system. One note about using file:// under Windows: The (absolute) path on Unix like system typically starts with "/". When the host is empty, it can be omitted, so that a shell scriptlet url=file://$pwd will give a URL like "file:///home/user/repo". Windows does not have the same concept of a root directory located in "/". When parsing the URL allow "file://C:/user/repo" (even if RFC1738 indicates that "file:///C:/user/repo" should be used). Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>