AgeCommit message (Collapse)Author
2005-08-12Make CFLAGS overridable from make command line.Pavel Roskin
This patch renames COPTS to CFLAGS, because it's COPTS that was user overridable. Also, -Wall is moved there because it's optional. What was CFLAGS is now ALL_CFLAGS, which users should not override. Defines are added to DEFINES. Since ALL_CFLAGS is recursively expanded, it uses the final value of DEFINES. Implicit rules are made explicit since the implicit rules use CFLAGS rather than ALL_CFLAGS. I believe that serious projects should not rely on implicit rules anyway. Percent rules are used because they are used already and because they don't need the .SUFFIXES target. [jc: in addition to updating the patch for 0.99.4, I fixed up a glitch in Pavel's original patch which compiled sha1.o out of mozilla-sha1/sha1.c, where it should have left the resulting object file in mozilla-sha1 directory for later "ar".] Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-12Clean generated files a bit more, to cope with Debian build droppings.Junio C Hamano
Also attempt to build a source package for debian.
2005-08-12[PATCH] Add "--sign" option to git-format-patch-scriptJohannes Schindelin
This adds the option "--sign" to git-format-patch-script which adds a Signed-off-by: line automatically. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2005-08-12fetch-pack: start multi-head pulling.Junio C Hamano
This is a beginning of resurrecting the multi-head pulling support for git-fetch-pack command. The git-fetch-script wrapper still only knows about fetching a single head, without renaming, so it is not very useful unless you directly call git-fetch-pack itself yet. It also fixes a longstanding obsolete description of how the command discovers the list of local commits.
2005-08-12Update unpack-objects usage and documentation.Junio C Hamano
It long supported -q flag to suppress progress meter without properly being documented.
2005-08-12[PATCH] Also parse objects we already haveDaniel Barkalow
In the case where we don't know from context what type an object is, but we don't have to fetch it, we need to parse it to determine the type before processing it. Signed-off-by: Daniel Barkalow <> Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Fix parallel pull dependancy tracking.Daniel Barkalow
It didn't refetch an object it already had (good), but didn't process it, either (bad). Synchronously process anything you already have. Signed-off-by: Daniel Barkalow <> Signed-off-by: Junio C Hamano <>
2005-08-12Clean generated deb files.Junio C Hamano
Do not forgot that we have a separate git-tk package these days. Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Trapping exit in tests, using return for errors: further fixes.Pavel Roskin
"return" from a test would leave the exit trap set, which could cause a spurious error message if it's the last test in the script or --immediate is used. The easiest solution would be to have a global trap that is set when is sourced and unset either by test_done(), error() or by test_failure_() with --immediate. Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Trapping exit in tests, using return for errorsPavel Roskin
I have noticed that "make test" fails without any explanations when the "merge" utility is missing. I don't think tests should be silent in case of failure. It turned out that the particular test was using "exit" to interrupt the test in case of an error. This caused the whole test script to exit. No further tests would be run even if "--immediate" wasn't specified. No error message was printed. This patch does following: All instances of "exit", "exit 1" and "(exit 1)" in tests have been replaced with "return 1". In fact, "(exit 1)" had no effect. File descriptor 5 is duplicated from file descriptor 1. This is needed to print important error messages from tests. New function test_run_() has been introduced. Any "return" in the test would merely cause that function to return without skipping calls to test_failure_() and test_ok_(). The new function also traps "exit" and treats it like a fatal error (in case somebody reintroduces "exit" in the tests). test_expect_failure() and test_expect_success() check both the result of eval and the return value of test_run_(). If the later is not 0, it's always a failure because it indicates the the test didn't complete. Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Need to set PAGER in testsPavel Roskin
" --verbose" stops waiting for user input. It happens because "git log" uses less for output now. To prevent this, PAGER should be set to cat. Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Missing test_donePavel Roskin
All test scripts should end with test_done, which reports the test results. In the future, it could be used for other purposes, e.g. to distinguish graceful end from "exit" in a test. This patch fixes scripts that don't call test_done. Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-12String comparison of test is done with '=', not '=='.Junio C Hamano
Caught this during a test setting /bin/sh to (d)ash. Signed-off-by: Junio C Hamano <>
2005-08-12Debian packaging fixes.Matthias Urlichs
- Split gitk off to its own package; it needs tk installed, but nothing else does. - Refer to GPL properly, don't install COPYING. - Fix maintainer. - Use dh_movefiles instead of dh_install; we don't want to list everything *except* gitk. Signed-off-by: Junio C Hamano <>
2005-08-12merge-base.c: pathological case fix.Junio C Hamano
Also add some illustration requested by Linus. Signed-off-by: Junio C Hamano <>
2005-08-12[PATCH] Speed up git-merge-base a lotLinus Torvalds
In commit 4f7eb2e5a351e0d1f19fd4eab7e92834cc4528c2 I fixed git-merge-base getting confused by datestamps that caused it to traverse things in a non-obvious order. However, my fix was a very brute-force one, and it had some really horrible implications for more complex trees with lots of parallell development. It might end up traversing all the way to the root commit. Now, normally that isn't that horrible: it's used mainly for merging, and the bad cases really tend to happen fairly rarely, so if it takes a few seconds, we're not in too bad shape. However, gitk will also do the git-merge-base for every merge it shows, because it basically re-does the trivial merge in order to show the "interesting" parts. And there we'd really like the result to be instantaneous. This patch does that by walking the tree more completely, and using the same heuristic as git-rev-list to decide "ok, the rest is uninteresting". In one - hopefully fairly extreme - case, it made a git-merge-base go from just under five seconds(!) to a tenth of a second on my machine. Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
2005-08-12Merge with gitk.Junio C Hamano
This merges commit b664550c066810b770ad3e19cafe2fbdd42c6793 from gitk into our head commit bf570303153902ec3d85570ed24515bcf8948848 Sincerely, jit-merge command.
2005-08-10Refine the update heuristic to improve responsiveness a bit.Paul Mackerras
The previous commit improved performance a lot but also meant that we waited longer to see something drawn. This refines the heuristics for when to call update so that (1) when we have finished processing a bufferfull of information from git-rev-list, we call update if enough time has elapsed, regardless of how many commits we've drawn, and (2) the number of commits drawn between updates scales with the total number of commits drawn: 1 for 1-99 commits, 10 for 100-9999 commits, or 100 for >= 10000 commits.
2005-08-10GIT 0.99.4.v0.99.4Junio C Hamano
Mark it official. Finally. Signed-off-by: Junio C Hamano <>
2005-08-10Merge with master.Junio C Hamano
This merges commit e8c80638abc99928dba9ac832589749a531e2e21 from master into our head commit bdb71a41caa9ffed2e3207736c21fffbc2007670 Sincerely, jit-merge command.
2005-08-10Merge with gitk.Junio C Hamano
This merges commit 466e4fdd6696c89700294e1a54fa73e1fb94643b from gitk into our head commit ef0bd2e6e643f09a8294937caf99463328b9215a Sincerely, jit-merge command.
2005-08-10Merge with master.Junio C Hamano
This merges commit ef0bd2e6e643f09a8294937caf99463328b9215a from master into our head commit f69714c38c6f3296a4bfba0d057e0f1605373f49 Sincerely, jit-merge command.
2005-08-10[PATCH] Fix git-rev-parse's parent handlingJohannes Schindelin
git-rev-parse HEAD^1 would fail, because of an off-by-one bug (but HEAD^ would yield the expected result). Also, when the parent does not exist, do not silently return an incorrect SHA1. Of course, this no longer applies to git-rev-parse alone, but every user of get_sha1(). While at it, add a test. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2005-08-10Only do an update every 100 commits when drawing the graph.Paul Mackerras
On a large repository with > 60,000 commits, each call to the Tk update primitive (which gives Tk a chance to respond to events and redraw the screen) was taking up to 0.2 seconds. Because the logic was to call update after drawing a commit if 0.1 seconds had passed since the last update call, we were calling it for every commit, which was slowing us down enormously. Now we also require that we have drawn 100 commits since the last update (as well as it being at least 0.1 seconds since the last update). Drawing 100 commits takes around 0.1 - 0.2 seconds (even in this large repo) on my G5.
2005-08-10Merge with master.Junio C Hamano
This merges commit c35a7b8d806317dc1762e36561cbd31c2530dd9c from master into our head commit edee414c3e5a546aae3dd1529f397df949713305 Sincerely, jit-merge command.
2005-08-10Skip merges in format-patch.Junio C Hamano
2005-08-10Add -v option to git-cherry.Junio C Hamano
2005-08-10Teach git push .git/branches shorthandJunio C Hamano
Although it is uncertain if we would keep .git/branches for long, the shorthand stored there can be used for pushing if it is host:path/to/git format, so let's make use of it. This does not use git-parse-remote because that script will be rewritten quite a bit for updated pulling. Signed-off-by: Junio C Hamano <>
2005-08-10ls-remote: drop storing operation and add documentation.Junio C Hamano
The store operation was never useful because we needed to fetch the objects needed to complete the reference. Remove it. The fetch command fetch multiple references shortly to replace the lost "store" functionality in more a generic way. Signed-off-by: Junio C Hamano <>
2005-08-10Teach format-patch, rebase and cherry a..b formatJunio C Hamano
Although these commands take only begin and end, not necessarily generic SHA1 expressions rev-parse supports, supporting a..b notation is good for consistency. This commit adds such without breaking backward compatibility. Signed-off-by: Junio C Hamano <>
2005-08-10Stash away the original head in ORIG_HEAD when resetting.Junio C Hamano
When rewinding the head, stash away the value of the original HEAD in ORIG_HEAD, just like git-resolve-script does. Signed-off-by: Junio C Hamano <>
2005-08-10git-revert: revert an existing commit.Junio C Hamano
Given one existing commit, revert the change the patch introduces, and record a new commit that records it. This requires your working tree to be clean (no modifications from the HEAD commit). This is based on what Linus posted to the list, with enhancements he suggested, including the use of -M to attempt reverting renames. Signed-off-by: Junio C Hamano <>
2005-08-10Introduce --pretty=oneline format.Junio C Hamano
This introduces --pretty=oneline to git-rev-tree and git-rev-list commands to show only the first line of the commit message, without frills. Signed-off-by: Junio C Hamano <>
2005-08-10Document "git commit"Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-08-10git-commit: log parameter updates.Junio C Hamano
While moving '-m' to make room for CVS compatible "here is the log message", enhance source of log parameters. -m 'message': a command line parameter. -F <file> : a file (use '-' to read from stdin). -C <commit> : message in existing commit. -c <commit> : message in existing commit (allows further editing). Longer option names for these options are also available. While we are at it, get rid of shell array bashism. Signed-off-by: Junio C Hamano <>
2005-08-10Update rev-parse flags list.Junio C Hamano
I haven't audited the rev-parse users, but I am having a feeling that many of them would choke when they expect a couple of SHA1 object names and malicious user feeds them "--max-count=6" or somesuch to shoot himself in the foot. Anyway, this adds a couple of missing parameters that affect the list of revs to be returned from rev-list, not the flags that affect how they are presented by rev-list. I think that is the intention, but I am not quite sure. Signed-off-by: Junio C Hamano <>
2005-08-10[PATCH] add *--no-merges* flag to suppress display of merge commitsJohannes Schindelin
As requested by Junio (who suggested --single-parents-only, but this could forget a no-parent root). Also, adds a few missing options to the usage string. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2005-08-10Use GIT_SSH environment to specify alternate ssh binary.Martin Sivak
[jc: I ended up rewriting Martin's patch due to whitespace breakage, but the credit goes to Martin for doing the initial patch to identify what needs to be changed.] Signed-off-by: Martin Sivak <> Signed-off-by: Junio C Hamano <>
2005-08-10Small typofix in mailsplit.cJunio C Hamano
Signed-off-by: Junio C Hamano <>
2005-08-10A bit more format warning squelching.Junio C Hamano
Inspired by patch from Timo Sirainen. Most of them are not strictly necessary but making warnings less chatty would help spot real bugs later. Signed-off-by: Junio C Hamano <>
2005-08-10[PATCH] -Werror fixesTimo Sirainen
GCC's format __attribute__ is good for checking errors, especially with -Wformat=2 parameter. This fixes most of the reported problems against 2005-08-09 snapshot.
2005-08-10[PATCH] Warning fix for gcc 4Pavel Roskin
This patch fixes the only warning reported by gcc 4.0.1 on Fedora Core 4 for x86_64: sha1_file.c:1391: warning: pointer targets in assignment differ in signedness Signed-off-by: Pavel Roskin <> Signed-off-by: Junio C Hamano <>
2005-08-09Merge with master.Junio C Hamano
This merges commit f10e0e0b18c8e2e69535e7380fb3c1f9b097cfda from master into our head commit c3958a7926ab20b90fe0767580b466698477f5b6 Sincerely, jit-merge command.
2005-08-09Merge with gitk.Junio C Hamano
This merges commit b1ba39e7e80cdee3e7c1c80334cd9aa87b9b7b69 from gitk into our head commit 93b5fcdd8ddaa7f55ce1a43d8b9eaed1d5febc98 Sincerely, jit-merge command.
2005-08-09Downgrade git-send-email-scriptJunio C Hamano
RPM folks have problem installing the package otherwise. Since its usefulness does have much to do with GIT, downgrade it to "contrib" status for now. We may want to move it to contrib/ subdirectory after auditing other programs when we reorganize the source tree. Signed-off-by: Junio C Hamano <>
2005-08-09[PATCH] "Child" information in commit window - and cleanupsLinus Torvalds
This adds "Child: " lines to the commit window, which tells what children a commit has. It also cleans things up: it marks the text widget as no-wrap, which means that it doesn't need to truncate the commit description arbitrarily by hand. Also, the description itself is now done by a common helper routine that handles both the parent and the children. Signed-off-by: Linus Torvalds <> Signed-off-by: Paul Mackerras <>
2005-08-09Merge with master.Junio C Hamano
This merges commit c882bc932f6702a935c748893536356b0bba11ce from master into our head commit e764a10b17610ed9b3969bdb351e09f9635eb0ab Sincerely, jit-merge command.
2005-08-09[PATCH] Add -m <message> option to "git tag"Chris Wright
Allow users to create a tag message by passing message on command line instead of requiring an $EDITOR session. Signed-off-by: Chris Wright <> Signed-off-by: Junio C Hamano <>
2005-08-09[PATCH] Plug memory leak in git-pack-objectsSergey Vlasov
find_deltas() should free its temporary objects before returning. [jc: Sergey, if you have [PATCH] title on the Subject line of your e-mail, please do not repeat it on the first line in your message body. Thanks.] Signed-off-by: Sergey Vlasov <> Signed-off-by: Junio C Hamano <>
2005-08-09[PATCH] Plug memory leak in sha1close()Sergey Vlasov
sha1create() and sha1fd() malloc the returned struct sha1file; sha1close() should free it. Signed-off-by: Sergey Vlasov <> Signed-off-by: Junio C Hamano <>