summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-08-22git-p4: Allow branch definition with git configLibravatar Vitor Antunes2-0/+31
Perforce does not strictly require the usage of branch specifications to create branches. In these cases the branch detection code of git-p4 will not be able to import them. This patch adds support for git-p4.branchList configuration option, allowing branches to be defined in git config. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Allow filtering Perforce branches by userLibravatar Vitor Antunes2-1/+13
All branches in the Perforce server are downloaded to allow branch detection. If you have a centralized server on a remote location and there is a big number of branches this operation can take some time. This patch adds the configuration option git-p4.branchUser to allow filtering the branch list by user. Although this limits the branch maintenance in Perforce to be done by a single user, it might be an advantage when the number of branches being used in a specific depot is very small when compared with the branches available in the server. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Correct branch base depot path detectionLibravatar Vitor Antunes1-3/+5
When branch detection is enabled each branch is named in git after their relative depot path in Perforce. To do this the depot paths are compared against each other to find their common base path. The current algorithm makes this comparison on a character by character basis. Assuming we have the following branches: //depot/branches/featureA //depot/branches/featureB Then the base depot path would be //depot/branches/feature, which is an invalid depot path. The current patch fixes this by splitting the path into a list and comparing the list entries, making it choose correctly //depot/branches as the base path. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Process detectCopiesHarder with --boolLibravatar Vitor Antunes1-1/+1
Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Add test case for copy detectionLibravatar Vitor Antunes1-0/+83
Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Add test case for rename detectionLibravatar Vitor Antunes1-0/+53
Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Add description of rename/copy detection optionsLibravatar Vitor Antunes1-0/+25
Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-22git-p4: Allow setting rename/copy detection thresholdLibravatar Vitor Antunes1-4/+9
Copy and rename detection arguments (-C and -M) allow setting a threshold value for the similarity ratio. If the similarity is below this threshold the rename or copy is ignored and the file is added as new. This patch allows setting git-p4.detectRenames and git-p4.detectCopies options to an integer value to set the respective threshold. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-01git-p4: commit time should be most recent p4 change timeLibravatar Pete Wyckoff2-1/+33
When importing a repo, the time on the initial commit had been just "now". But this causes problems when trying to share among git-p4 repos that were created identically, although at different times. Instead, use the time in the top-most p4 change as the time for the git import commit. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-01git-p4: one test missing config git-p4.skipSubmitEditCheckLibravatar Pete Wyckoff1-0/+1
Add this missing line in one of the tests. Otherwise, on fast machines, the following git-p4 commit will complain that nobody edited the submission message. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-01git-p4: add missing && in testLibravatar Pete Wyckoff1-1/+1
Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-01git-p4: use test_when_finished in testsLibravatar Pete Wyckoff1-54/+49
Cleanup nicely when tests fail. This avoids many duplicated lines in the tests, and adds cleanup in a couple of tests that did not have it. When one fails, now all the rest will not fail too. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-31Merge branch 'maint'Libravatar Junio C Hamano3-6/+20
* maint: Break down no-lstat() condition checks in verify_uptodate() t7400: fix bogus test failure with symlinked trash Documentation: clarify the invalidated tree entry format
2011-07-31Break down no-lstat() condition checks in verify_uptodate()Libravatar Nguyễn Thái Ngọc Duy1-2/+13
Make it easier to grok under what conditions we can skip lstat(). While at there, shorten ie_match_stat() line for the sake of my eyes. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-31t7400: fix bogus test failure with symlinked trashLibravatar Jeff King1-2/+4
One of the tests in t7400 fails if the trash directory has a symlink anywhere in its path. E.g.: $ mkdir /tmp/git-test $ mkdir /tmp/git-test/real $ ln -s real /tmp/git-test/link $ ./t7400-submodule-basic --root=/tmp/git-test/real ... # passed all 44 test(s) $ ./t7400-submodule-basic --root=/tmp/git-test/link ... not ok - 41 use superproject as upstream when path is relative and no url is set there The failing test does: git submodule add ../repo relative && ... git submodule sync relative && test "$(git config submodule.relative.url)" = "$submodurl/repo" where $submodurl comes from the $TRASH_DIRECTORY the user gave us. However, git will resolve symlinks when converting the relative path into an absolute one, leading them to be textually different (even though they point to the same directory). Fix this by asking pwd to canonicalize the name of the trash directory for us. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-31Documentation: clarify the invalidated tree entry formatLibravatar Carlos Martín Nieto1-2/+3
When the entry_count is -1, the tree is invalidated and therefore has not associated hash (or object name). Explicitly state that the next entry starts after the newline. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-24Merge branch 'maint'Libravatar Junio C Hamano1-1/+13
* maint: tests: print failed test numbers at the end of the test run
2011-07-24tests: print failed test numbers at the end of the test runLibravatar Jens Lehmann1-1/+13
On modern multi-core processors "make test" is often run in multiple jobs. If one of them fails the test run does stop, but the concurrently running tests finish their run. It is rather easy to find out which test failed by doing a "ls -d t/trash*". But that only works when you don't use the "-i" option to "make test" because you want to get an overview of all failing tests. In that case all thrash directories are deleted end and the information which tests failed is lost. If one or more tests failed, print a list of them before the test summary: failed test(s): t1000 t6500 fixed 0 success 7638 failed 3 broken 49 total 7723 This makes it possible to just run the test suite with -i and collect all failed test scripts at the end for further examination. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-22Update draft release notes to 1.7.7Libravatar Junio C Hamano1-1/+16
The third batch. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-22Merge branch 'dc/stash-con-untracked'Libravatar Junio C Hamano3-7/+228
* dc/stash-con-untracked: stash: Add --include-untracked option to stash and remove all untracked files Conflicts: git-stash.sh
2011-07-22Merge branch 'jk/tag-contains-ab'Libravatar Junio C Hamano1-1/+45
* jk/tag-contains-ab: Revert clock-skew based attempt to optimize tag --contains traversal git skew: a tool to find how big a clock skew exists in the history default core.clockskew variable to one day limit "contains" traversals based on commit timestamp tag: speed up --contains calculation
2011-07-22Merge branch 'dz/connect-error-report'Libravatar Junio C Hamano1-14/+11
* dz/connect-error-report: Do not log unless all connect() attempts fail
2011-07-22Merge branch 'mz/doc-rebase-abort'Libravatar Junio C Hamano2-7/+11
* mz/doc-rebase-abort: rebase: clarify "restore the original branch"
2011-07-22Merge branch 'bw/log-all-ref-updates-doc'Libravatar Junio C Hamano2-3/+6
* bw/log-all-ref-updates-doc: Documentation: clearly specify what refs are honored by core.logAllRefUpdates
2011-07-22Merge branch 'js/maint-add-path-stat-pwd'Libravatar Junio C Hamano1-1/+2
* js/maint-add-path-stat-pwd: get_pwd_cwd(): Do not trust st_dev/st_ino blindly
2011-07-22Merge branch 'ms/help-unknown'Libravatar Junio C Hamano1-0/+12
* ms/help-unknown: help_unknown_cmd: do not propose an "unknown" cmd
2011-07-22Merge branch 'mz/doc-synopsis-verse'Libravatar Junio C Hamano93-6/+92
* mz/doc-synopsis-verse: Documentation: use [verse] for SYNOPSIS sections Conflicts: Documentation/git-mergetool--lib.txt
2011-07-22Merge branch 'jc/checkout-reflog-fix'Libravatar Junio C Hamano1-2/+5
* jc/checkout-reflog-fix: checkout: do not write bogus reflog entry out
2011-07-22Merge branch 'jc/maint-mergetool-read-fix'Libravatar Junio C Hamano1-4/+4
* jc/maint-mergetool-read-fix: mergetool: check return value from read
2011-07-22Merge branch 'jn/gitweb-search'Libravatar Junio C Hamano1-199/+241
* jn/gitweb-search: gitweb: Make git_search_* subroutines render whole pages gitweb: Clean up code in git_search_* subroutines gitweb: Split body of git_search into subroutines gitweb: Check permissions first in git_search
2011-07-22Merge branch 'jl/submodule-add-relurl-wo-upstream'Libravatar Junio C Hamano3-11/+15
* jl/submodule-add-relurl-wo-upstream: submodule add: clean up duplicated code submodule add: allow relative repository path even when no url is set submodule add: test failure when url is not configured in superproject Conflicts: git-submodule.sh
2011-07-22Merge branch 'maint'Libravatar Junio C Hamano5-8/+16
* maint: doc/fast-import: clarify notemodify command Documentation: minor grammatical fix in rev-list-options.txt Documentation: git-filter-branch honors replacement refs remote-curl: Add a format check to parsing of info/refs git-config: Remove extra whitespaces
2011-07-22doc/fast-import: clarify notemodify commandLibravatar Dmitry Ivankov1-3/+8
The "notemodify" fast-import command was introduced in commit a8dd2e7 (fast-import: Add support for importing commit notes, 2009-10-09) The commit log has slightly different description than the added documentation. The latter is somewhat confusing. "notemodify" is a subcommand of "commit" command used to add a note for some commit. Does this note annotate the commit produced by the "commit" command or a commit given by it's committish parameter? Which notes tree does it write notes to? The exact meaning could be deduced with old description and some notes machinery knowledge. But let's make it more obvious. This command is used in a context like "commit refs/notes/test" to add or rewrite an annotation for a committish parameter. So the advised way to add notes in a fast-import stream is: 1) import some commits (optional) 2) prepare a "commit" to the notes tree: 2.1) choose notes ref, committer, log message, etc. 2.2) create annotations with "notemodify", where each can refer to a commit being annotated via a branch name, import mark reference, sha1 and other expressions specified in the Documentation. Signed-off-by: Dmitry Ivankov <divanorama@gmail.com> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-22Documentation: minor grammatical fix in rev-list-options.txtLibravatar Jack Nagel1-1/+1
Signed-off-by: Jack Nagel <jacknagel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-21Documentation: git-filter-branch honors replacement refsLibravatar Peter Collingbourne1-2/+3
Make it clear that git-filter-branch will honor and make permanent replacement refs as well as grafts. Signed-off-by: Peter Collingbourne <peter@pcc.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-20remote-curl: Add a format check to parsing of info/refsLibravatar Julian Phillips1-0/+2
When parsing info/refs, no checks were applied that the file was in the requried format. Since the file is read from a remote webserver, this isn't guarenteed to be true. Add a check that the file at least only contains lines that consist of 40 characters followed by a tab and then the ref name. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-19git-config: Remove extra whitespacesLibravatar Pavan Kumar Sunkara1-2/+2
Remove extra whitespaces introduced by commits 01ebb9dc and fc1905bb Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-19Update draft release notes to 1.7.7Libravatar Junio C Hamano1-2/+49
The second batch of topics for this cycle are now in. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-19Merge branch 'jc/index-pack'Libravatar Junio C Hamano11-249/+395
* jc/index-pack: verify-pack: use index-pack --verify index-pack: show histogram when emulating "verify-pack -v" index-pack: start learning to emulate "verify-pack -v" index-pack: a miniscule refactor index-pack --verify: read anomalous offsets from v2 idx file write_idx_file: need_large_offset() helper function index-pack: --verify write_idx_file: introduce a struct to hold idx customization options index-pack: group the delta-base array entries also by type Conflicts: builtin/verify-pack.c cache.h sha1_file.c
2011-07-19Merge branch 'jn/mime-type-with-params'Libravatar Junio C Hamano1-1/+10
* jn/mime-type-with-params: gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss
2011-07-19Merge branch 'jc/submodule-sync-no-auto-vivify'Libravatar Junio C Hamano3-30/+47
* jc/submodule-sync-no-auto-vivify: submodule add: always initialize .git/config entry submodule sync: do not auto-vivify uninteresting submodule Conflicts: git-submodule.sh
2011-07-19Merge branch 'jk/archive-tar-filter'Libravatar Junio C Hamano8-73/+375
* jk/archive-tar-filter: upload-archive: allow user to turn off filters archive: provide builtin .tar.gz filter archive: implement configurable tar filters archive: refactor file extension format-guessing archive: move file extension format-guessing lower archive: pass archiver struct to write_archive callback archive: refactor list of archive formats archive-tar: don't reload default config options archive: reorder option parsing and config reading
2011-07-19Merge branch 'jn/gitweb-split-header-html'Libravatar Junio C Hamano1-77/+95
* jn/gitweb-split-header-html: gitweb: Refactor git_header_html
2011-07-19Merge branch 'jk/clone-cmdline-config'Libravatar Junio C Hamano10-15/+121
* jk/clone-cmdline-config: clone: accept config options on the command line config: make git_config_parse_parameter a public function remote: use new OPT_STRING_LIST parse-options: add OPT_STRING_LIST helper
2011-07-19Merge branch 'jk/maint-config-param'Libravatar Junio C Hamano4-11/+47
* jk/maint-config-param: config: use strbuf_split_str instead of a temporary strbuf strbuf: allow strbuf_split to work on non-strbufs config: avoid segfault when parsing command-line config config: die on error in command-line config fix "git -c" parsing of values with equals signs strbuf_split: add a max parameter
2011-07-19Merge branch 'jk/tag-list-multiple-patterns'Libravatar Junio C Hamano3-12/+28
* jk/tag-list-multiple-patterns: tag: accept multiple patterns for --list
2011-07-19Merge branch 'jc/zlib-wrap'Libravatar Junio C Hamano16-126/+323
* jc/zlib-wrap: zlib: allow feeding more than 4GB in one go zlib: zlib can only process 4GB at a time zlib: wrap deflateBound() too zlib: wrap deflate side of the API zlib: wrap inflateInit2 used to accept only for gzip format zlib: wrap remaining calls to direct inflate/inflateEnd zlib wrapper: refactor error message formatter Conflicts: sha1_file.c
2011-07-19Merge branch 'ak/gcc46-profile-feedback'Libravatar Junio C Hamano3-1/+36
* ak/gcc46-profile-feedback: Add explanation of the profile feedback build to the README Add profile feedback build to git Add option to disable NORETURN
2011-07-14Revert clock-skew based attempt to optimize tag --contains traversalLibravatar Junio C Hamano6-87/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-07-14Do not log unless all connect() attempts failLibravatar Dave Zarzycki1-14/+11
IPv6 hosts are often unreachable on the primarily IPv4 Internet and therefore we shouldn't print an error if there are still other hosts we can try to connect() to. This helps "git fetch --quiet" stay quiet. Signed-off-by: Dave Zarzycki <zarzycki@apple.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>