summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2006-05-30Merge branch 'master' into nextLibravatar Junio C Hamano1-0/+41
* master: send-email: do not pass bogus address to local sendmail binary Add a basic test case for git send-email, and fix some real bugs discovered. Fix a bug in email extraction used in git-send-email. Add support for --bcc to git-send-email. git-send-email: Add References: headers to emails, in addition to In-Reply-To: git-clean fails on files beginning with a dash git-svn: remove assertion that broke with older versions of svn git-svn: t0001: workaround a heredoc bug in old versions of dash Documentation: fix a tutorial-2 typo Documentation: retitle the git-core tutorial documentation: add brief mention of cat-file to tutorial part I documentation: mention gitk font adjustment in tutorial Fix some documentation typoes
2006-05-30send-email: do not pass bogus address to local sendmail binaryLibravatar Junio C Hamano1-6/+13
This makes t9001 test happy. Also fixes the warning on uninitialized $references variable again. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-29Add a basic test case for git send-email, and fix some real bugs discovered.Libravatar Ryan Anderson1-0/+34
Signed-off-by: Ryan Anderson <rda@google.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-29Merge branch 'jc/lt-tree-n-cache-tree' into nextLibravatar Junio C Hamano1-19/+23
* jc/lt-tree-n-cache-tree: adjust to the rebased series by Linus. Remove last vestiges of generic tree_entry_list Convert fetch.c: process_tree() to raw tree walker Convert "mark_tree_uninteresting()" to raw tree walker Remove unused "zeropad" entry from tree_list_entry fsck-objects: avoid unnecessary tree_entry_list usage Remove "tree->entries" tree-entry list from tree parser builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec() Switch "read_tree_recursive()" over to tree-walk functionality Make "tree_entry" have a SHA1 instead of a union of object pointers Make "struct tree" contain the pointer to the tree buffer Make git-diff-tree indicate when it flushes Remove unnecessary output from t3600-rm.
2006-05-29Remove unnecessary output from t3600-rm.Libravatar Shawn Pearce1-19/+23
Moved the setup commands into test_expect_success blocks so their output is hidden unless -v is used. This makes the test suite look a little cleaner when the rm test-file setup step fails (and was expected to fail for most cases). Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-28Merge branch 'lt/apply'Libravatar Junio C Hamano1-0/+53
* lt/apply: apply: force matching at the beginning. Add a test-case for git-apply trying to add an ending line apply: treat EOF as proper context.
2006-05-28Merge branch 'master' into nextLibravatar Junio C Hamano1-10/+10
* master: Fix memory leak in "git rev-list --objects" gitview: Move the console error messages to message dialog gitview: Add key binding for F5. Let git-clone to pass --template=dir option to git-init-db. Make cvsexportcommit create parent directories as needed. Document current cvsexportcommit limitations. Do not call 'cmp' with non-existant -q flag. Fix "--abbrev=xyz" for revision listing t1002: use -U0 instead of --unified=0 format-patch: -n and -k are mutually exclusive.
2006-05-28t1002: use -U0 instead of --unified=0Libravatar Linus Torvalds1-10/+10
Using "-U0" is definitely more portable than using "--unified=0", so we should do that regardless. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-26Merge branch 'ew/tests' into nextLibravatar Junio C Hamano5-68/+82
* ew/tests: t6000lib: workaround a possible dash bug t5500-fetch-pack: remove local (bashism) usage. tests: Remove heredoc usage inside quotes t3300-funny-names: shell portability fixes git-format-patch --start-number <n> Don't write directly to a make target ($@). bogus "fatal: Not a git repository" Documentation/Makefile: remove extra / cvsimport: avoid "use" with :tag
2006-05-25t6000lib: workaround a possible dash bugLibravatar Eric Wong1-1/+3
pdksh doesn't need this patch, of course bash works fine since that what most users use. Normally, 'var=val command' seems to work fine with dash, but perhaps there's something weird going on with "$@". dash is pretty widespread, so it'll be good to support this even though it does seem like a bug in dash. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-25t5500-fetch-pack: remove local (bashism) usage.Libravatar Eric Wong1-15/+15
None of the variables seem to conflict, so local was unnecessary. Also replaced ${var:pos:len} with the sed equivalent. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-25tests: Remove heredoc usage inside quotesLibravatar Eric Wong2-34/+31
The use of heredoc inside quoted strings doesn't seem to be supported by dash. pdksh seems to handle it fine, however. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-25t3300-funny-names: shell portability fixesLibravatar Eric Wong1-18/+33
echo isn't remotely standardized for handling backslashes, so cat + heredoc seems better Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-24Merge branch 'sp/reflog' into nextLibravatar Junio C Hamano2-13/+56
* sp/reflog: Test that git-branch -l works. Verify git-commit provides a reflog message.
2006-05-24Test that git-branch -l works.Libravatar Shawn Pearce1-1/+30
If the user supplies -l to git-branch when creating a new branch then the new branch's log should be created automatically and the branch creation should be logged in that log. Further if a branch is being deleted and it had a log then also verify that the log was deleted. Test git-checkout -b foo -l for creating a new branch foo with a log and checking out that branch. Fixed git-checkout -b foo -l as the branch variable name was incorrect in the script. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-24Verify git-commit provides a reflog message.Libravatar Shawn Pearce1-12/+26
The reflog message from git-commit should include the first line of the commit message as supplied by the user. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-24Merge branch 'master' into sp/reflogLibravatar Junio C Hamano4-26/+48
* master: (90 commits) fetch.c: remove an unused variable and dead code. Clean up sha1 file writing Builtin git-cat-file builtin format-patch: squelch content-type for 7-bit ASCII CMIT_FMT_EMAIL: Q-encode Subject: and display-name part of From: fields. add more informative error messages to git-mktag remove the artificial restriction tagsize < 8kb git-rebase: use canonical A..B syntax to format-patch git-format-patch: now built-in. fmt-patch: Support --attach fmt-patch: understand old <his> notation Teach fmt-patch about --keep-subject Teach fmt-patch about --numbered fmt-patch: implement -o <dir> fmt-patch: output file names to stdout Teach fmt-patch to write individual files. built-in tar-tree and remote tar-tree Builtin git-diff-files, git-diff-index, git-diff-stages, and git-diff-tree. Builtin git-show-branch. Builtin git-apply. ...
2006-05-24Merge branch 'lt/apply' into nextLibravatar Junio C Hamano1-0/+53
* lt/apply: Clean up sha1 file writing Builtin git-cat-file apply: force matching at the beginning. Add a test-case for git-apply trying to add an ending line apply: treat EOF as proper context.
2006-05-24apply: force matching at the beginning.Libravatar Junio C Hamano1-1/+19
When there is no leading context, the patch must match at the beginning of preimage; otherwise there is a "patch adds these lines while the other lines were added to the original file" conflict. This is the opposite of match_end fix earlier in this series. Unlike matching at the end case, we can additionally check the preimage line number recorded in the patch, so the change is not symmetrical with the earlier one. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-24Add a test-case for git-apply trying to add an ending lineLibravatar Catalin Marinas1-0/+35
git-apply adding an ending line doesn't seem to fail if the ending line is already present in the patched file. Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-23Merge branch 'sp/reflog' into nextLibravatar Junio C Hamano1-0/+199
* sp/reflog: Enable ref log creation in git checkout -b. Create/delete branch ref logs. Include ref log detail in commit, reset, etc. Change order of -m option to update-ref. Correct force_write bug in refs.c Change 'master@noon' syntax to 'master@{noon}'. Log ref updates made by fetch. Force writing ref if it doesn't exist. Added logs/ directory to repository layout. General ref log reading improvements. Fix ref log parsing so it works properly. Support 'master@2 hours ago' syntax Log ref updates to logs/refs/<ref> Convert update-ref to use ref_lock API. Improve abstraction of ref lock/write.
2006-05-19Change 'master@noon' syntax to 'master@{noon}'.Libravatar Shawn Pearce1-16/+39
Its ambiguous to parse "master@2006-05-17 18:30:foo" when foo is meant as a file name and ":30" is meant as 30 minutes past 6 pm. Therefore all date specifications in a sha1 expression must now appear within brackets and the ':' splitter used for the path name in a sha1 expression ignores ':' appearing within brackets. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-19General ref log reading improvements.Libravatar Shawn Pearce1-0/+64
Corrected the log starting time displayed in the error message (as it was always showing the epoch due to a bad input to strtoul). Improved the log parser so we only scan backwards towards the '\n' from the end of the prior log; during this scan the last '>' is remembered to improve performance (rather than scanning forward to it). If the log record matched is the last log record in the file only use its new sha1 value if the date matches exactly; otherwise we leave the passed in sha1 alone as it already contains the current value of the ref. This way lookups of dates later than the log end to stick with the current ref value in case the ref was updated without logging. If it looks like someone changed the ref without logging it and we are going to return the sha1 which should have been valid during the missing period then warn the user that there might be log data missing and thus their query result may not be accurate. The check isn't perfect as its just based on comparing the old and new sha1 values between the two log records but its better than not checking at all. Implemented test cases based on git-rev-parse for most of the boundary conditions. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-17Log ref updates to logs/refs/<ref>Libravatar Shawn Pearce1-0/+112
If config parameter core.logAllRefUpdates is true or the log file already exists then append a line to ".git/logs/refs/<ref>" whenever git-update-ref <ref> is executed. Each log line contains the following information: oldsha1 <SP> newsha1 <SP> committer <LF> where committer is the current user, date, time and timezone in the standard GIT ident format. If the caller is unable to append to the log file then git-update-ref will fail without updating <ref>. An optional message may be included in the log line with the -m flag. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-17Merge branch 'jc/read-tree-safety' into nextLibravatar Junio C Hamano4-26/+48
* jc/read-tree-safety: read-tree -m -u: do not overwrite or remove untracked working tree files.
2006-05-17read-tree -m -u: do not overwrite or remove untracked working tree files.Libravatar Junio C Hamano4-26/+48
When a merge results in a creation of a path that did not exist in HEAD, and if you already have that path on the working tree, because the index has not been told about the working tree file, read-tree happily removes it. The issue was brought up by Santi BĂ©jar on the list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-15Merge branch 'fix'Libravatar Junio C Hamano1-4/+4
* fix: Fix pack-index issue on 64-bit platforms a bit more portably. Install git-send-email by default Fix compilation on newer NetBSD systems git config syntax updates Another config file parsing fix. checkout: use --aggressive when running a 3-way merge (-m).
2006-05-13Merge branch 'lt/config' into nextLibravatar Junio C Hamano1-4/+4
* lt/config: git config syntax updates Another config file parsing fix. checkout: use --aggressive when running a 3-way merge (-m). Fix git-pack-objects for 64-bit platforms fix diff-delta bad memory access
2006-05-13Merge branch 'lt/fix-config' into lt/configLibravatar Junio C Hamano1-4/+4
* lt/fix-config: git config syntax updates Another config file parsing fix. checkout: use --aggressive when running a 3-way merge (-m). Fix git-pack-objects for 64-bit platforms with manual adjustment of t/t1300 for "git repo-config --list" option. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-13git config syntax updatesLibravatar Linus Torvalds1-3/+3
This updates the hierarchical section name syntax to [section<space>+"<randomstring>"] where the only rule for "randomstring" is that it can't contain a newline, and if you really want to insert a double-quote, you do it with \". It turns that into the section name "secion.randomstring". The "section" part is still case insensitive, but the "randomstring" part is case sensitive. So you could use this for things like [email "torvalds@osdl.org"] name = Linus Torvalds if you wanted to do the "email->name" conversion as part of the config file format (I'm not claiming that is sensible, I'm just giving it as an insane example). That would show up as the association email.torvalds@osdl.org.name -> Linus Torvalds which is easy to parse (the "." in the email _looks_ ambiguous, but it isn't: you know that there will always be a single key-name, so you find the key name with "strrchr(name, '.')" and things are entirely unambiguous). Repo-config is updated to be able to parse the new format, and also write things out in the new format. [jc: rolled two patches from Linus and one fix-up from Sean into one, with additional adjustments for t/t1300 test to check the case insensitiveness of section base and variable and case sensitiveness of the extended section part. Then stripped some part off to make the result applicable to the stale 1.3.X series that does not have recent enhancements. ] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-09Merge branch 'mw/alternates'Libravatar Junio C Hamano1-0/+105
* mw/alternates: clone: don't clone the info/alternates file test case for transitive info/alternates Transitively read alternatives
2006-05-09Merge branch 'jc/again'Libravatar Junio C Hamano1-0/+82
* jc/again: Fix users of prefix_path() to free() only when necessary update-index --again: take optional pathspecs update-index --again
2006-05-09Merge branch 'jc/bindiff'Libravatar Junio C Hamano2-0/+85
* jc/bindiff: improve base85 generated assembly code binary diff and apply: testsuite. binary diff: further updates. binary patch.
2006-05-07Merge branch 'jc/gitlink' into nextLibravatar Junio C Hamano1-0/+14
* jc/gitlink: write-tree: --prefix=<path> read-tree: --prefix=<path>/ option.
2006-05-07Merge branch 'mw/alternates' into nextLibravatar Junio C Hamano2-0/+183
* mw/alternates: clone: don't clone the info/alternates file test case for transitive info/alternates Transitively read alternatives repack: honor -d even when no new pack was created clone: keep --reference even with -l -s repo-config: document what value_regexp does a bit more clearly. Release config lock if the regex is invalid core-tutorial.txt: escape asterisk Sparse fix for builtin-diff Fix users of prefix_path() to free() only when necessary
2006-05-07test case for transitive info/alternatesLibravatar Martin Waitz1-0/+105
Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-07Merge branch 'fix'Libravatar Junio C Hamano1-0/+78
* fix: repack: honor -d even when no new pack was created clone: keep --reference even with -l -s repo-config: document what value_regexp does a bit more clearly. Release config lock if the regex is invalid core-tutorial.txt: escape asterisk
2006-05-07clone: keep --reference even with -l -sLibravatar Martin Waitz1-0/+78
Both -l -s and --reference update objects/info/alternates and used to write over each other. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-06Merge branch 'js/fmt-patch' into nextLibravatar Junio C Hamano1-0/+31
* js/fmt-patch: fmt-patch: understand old <his> notation t1300-repo-config: two new config parsing tests. Another config file parsing fix.
2006-05-06t1300-repo-config: two new config parsing tests.Libravatar sean1-0/+31
- correctly insert a new variable into a section that only contains a single (different) variable. - correctly insert a new section that matches the initial substring of an existing section. Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-06Merge branch 'jc/reupdate' into nextLibravatar Junio C Hamano1-0/+82
* jc/reupdate: update-index --again: take optional pathspecs update-index --again update-index: plug memory leak from prefix_path() checkout-index: plug memory leak from prefix_path() update-index --unresolve: work from a subdirectory.
2006-05-06binary diff and apply: testsuite.Libravatar Junio C Hamano2-0/+85
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-05update-index --again: take optional pathspecsLibravatar Junio C Hamano1-1/+10
When pathspecs are given, update-index --again further limits the set of paths to be updated to those that match them. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-05update-index --againLibravatar Junio C Hamano1-0/+73
After running 'git-update-index' for some paths, you may want to do the update on the same set of paths again. The new flag --again checks the paths whose index entries are are different from the HEAD commit and updates them from the working tree contents. This was brought up by Carl Worth on #git. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02repo-config: support --get-regexpLibravatar Johannes Schindelin1-0/+23
With --get-regexp, output all key/value pairs where the key matches a regexp. Example: git-repo-config --get-regexp remote.*.url will output something like remote.junio.url git://git.kernel.org/pub/scm/git/git.git remote.gitk.url git://git.kernel.org/pub/scm/gitk/gitk.git Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-01write-tree: --prefix=<path>Libravatar Junio C Hamano1-0/+14
The "bind" commit can express an aggregation of multiple projects into a single commit. In such an organization, there would be one project, root of whose tree object is at the same level of the root of the aggregated projects, and other projects have their toplevel in separate subdirectories. Let's call that root level project the "primary project", and call other ones just "subprojects". You would first read-tree the primary project, and then graft the subprojects under their appropriate location using read-tree --prefix=<subdir>/ repeatedly. To write out a tree object from such an index for a subproject, write-tree --prefix=<subdir>/ is used. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26t0000-basic: more commit-tree tests.Libravatar Junio C Hamano1-0/+28
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26t0000-basic: Add ls-tree recursive test back.Libravatar Junio C Hamano1-0/+21
When we updated ls-tree recursive output to omit the tree nodes, 246cc52f388cae8ca99e5a12b8458c9bfa467765 adjusted the old test so that we do not expect to see trees in its output. Later, with 0f8f45cb4a7e664b396f73c25891da46b953b8b8, we added back the ability to show both with -t option, but we forgot to update the test as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-22Libify diff-index.Libravatar Junio C Hamano1-5/+5
The second installment to libify diff brothers. The pathname arguments are checked more strictly than before because we now use the revision.c::setup_revisions() infrastructure. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-22Libify diff-files.Libravatar Junio C Hamano2-2/+2
This is the first installment to libify diff brothers. The updated diff-files uses revision.c::setup_revisions() infrastructure to parse its command line arguments, which means the pathname arguments are checked more strictly than before. The tests are adjusted to separate possibly missing paths from the rest of arguments with double-dashes, to show the kosher way. As Linus pointed out, renaming diff.c to diff-lib.c was simply stupid, so I am renaming it back. The new diff-lib.c is to contain pieces extracted from diff brothers. Signed-off-by: Junio C Hamano <junkio@cox.net>