AgeCommit message (Collapse)Author
2005-08-08Merge with master.Junio C Hamano
This merges commit d59a6043a8a7aed97c684fb4f14fe5221df1fcaf from master into our head commit 1ff53bfdeea4d707571c9cae818888c070b51153 Sincerely, jit-merge command.
2005-08-08Merge with gitk.Junio C Hamano
This merges commit fa4da7b32e1197fa5032db6a2de7749868253f8b from gitk into our head commit 6b7242aa1acc3c7835f80522914ffc4b2e789a29 Sincerely, jit-merge command.
2005-08-07Better graph line details display and expand history coverage.Paul Mackerras
Now the history remembers when we have clicked on a graph line and when we have asked for a diff between two commits, as well as when we have displayed a commit. The display when you click on a graph line now uses clickable SHA1 IDs instead of the embedded "Go" buttons. Also made the IDs clickable in the header for a diff between two commits.
2005-08-07[PATCH] gitk "parent information" in commit windowLinus Torvalds
This adds a useful "Parent:" line to the git commit information window. It looks something like this (from the infamous octopus merge): Author: Junio C Hamano <> 2005-05-05 16:16:54 Committer: Junio C Hamano <> 2005-05-05 16:16:54 Parent: fc54a9c30ccad3fde5890d2c0ca2e2acc0848fbc (Update git-apply-patch-script ...) Parent: 9e30dd7c0ecc9f10372f31539d0122db97418353 (Make git-prune-script executa ...) Parent: c4b83e618f1df7d8ecc9392fa40e5bebccbe6b5a (Do not write out new index if ...) Parent: 660265909fc178581ef327076716dfd3550e6e7b (diff-cache shows differences ...) Parent: b28858bf65d4fd6d8bb070865518ec43817fe7f3 (Update diff engine for symlin ...) Octopus merge of the following five patches. Update git-apply-patch-script for symbolic links. Make git-prune-script executable again. Do not write out new index if nothing has changed. diff-cache shows differences for unmerged paths without --cache. Update diff engine for symlinks stored in the cache. Signed-off-by: Junio C Hamano <> where all the parent commit ID's are clickable, because the new lines are added as part of the "comment" string, and thus the regular clickability thing will match them automatically. I think this is good. And my random-tcl-monkey-skills are clearly getting better (although it's perfectly possible that somebody who actually knows what he is doing would have done things differently). Signed-off-by: Linus Torvalds <> Signed-off-by: Paul Mackerras <>
2005-08-07Merge with master.Junio C Hamano
This merges commit 6b7242aa1acc3c7835f80522914ffc4b2e789a29 from master into our head commit f29eaed12fc07bc5b2e4d1a302136a26ff4488ce Sincerely, jit-merge command.
2005-08-07Merge with gitk.Junio C Hamano
This merges commit d6e8149bc53de57cab7cc0d9aff6c2341f3a7efa from gitk into our head commit 200e7fbbac82b6665f8175af0e375fbef3568c30 Sincerely, jit-merge command.
2005-08-07(revert local fix)Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-08-07Use lf translation rather than binary when reading commit data.Paul Mackerras
The effect of this is that it allows Tcl to do the locale-specific conversion of the input data to its internal unicode representation. That means that commit messages in Russian or other languages should be displayed correctly now (according to the locale that is in effect.)
2005-08-07Fix build rules for debian package.Junio C Hamano
Run install-tools target to install the tools to accept e-mail patches. Also clean up the main Makefile a bit. Signed-off-by: Junio C Hamano <>
2005-08-07Change cursor to a hand cursor when over a SHA1 ID link.Paul Mackerras
This is based on suggestions by Jeff Epler and Linus Torvalds, but extended so that we do the switching between the watch cursor and the normal cursor correctly as well. Also fixed a bug pointed out by Junio Hamano - I wasn't incrementing the link number (duh!).
2005-08-07Fix RPM build that omitted templates and tools.Junio C Hamano
Many many thanks go to Chris Wright and H. Peter Anvin whose help were essential to get me going this build. Signed-off-by: Junio C Hamano <>
2005-08-07Merge with master.Junio C Hamano
This merges commit bfe19f876cb20bea606e1a698030c017f31965c1 from master into our head commit 7a59013290bb26b80c997e5698757a735f1a92e0 Sincerely, jit-merge command.
2005-08-07[PATCH] Extend "git reset" to take a reset pointLinus Torvalds
This was triggered by a query by Sam Ravnborg, and extends "git reset" to reset the index and the .git/HEAD pointer to an arbitrarily named point. For example git reset HEAD^ will just reset the current HEAD to its own parent - leaving the working directory untouched, but effectively un-doing the top-most commit. You might want to do this if you realize after you committed that you made a mistake that you want to fix up: reset your HEAD back to its previous state, fix up the working directory and re-do the commit. If you want to totally un-do the commit (and reset your working directory to that point too), you'd first use "git reset HEAD^" to reset to the parent, and then do a "git checkout -f" to reset the working directory state to that point in time too. Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
2005-08-07GIT 0.99.4 (release candidate)Junio C Hamano
This is my first attempt to adjust Debian and RPM to pass prefix, to prepare the 0.99.4 release. It updates debian/rules and to properly pass prefix when building binary packages. It also updates debian/changelog to make the resulting binary package name 0.99.4; this is not needed on the RPM side (it takes the version number from the main Makefile). Signed-off-by: Junio C Hamano <>
2005-08-06Redo the templates generation and installation.Junio C Hamano
Per discussion with people interested in binary packaging, change the default template location from /etc/git-core to /usr/share/git-core hierarchy. If a user wants to run git before installing for whatever reason, in addition to adding $src to the PATH environment variable, git-init-db can be run with --template=$src/templates/blt/ parameter. Signed-off-by: Junio C Hamano <>
2005-08-06gitk proposed fix: handle more than one SHA1 links.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-08-06send-pack: allow generic sha1 expression on the source side.Junio C Hamano
This extends the source side semantics to match what Linus suggested. An example: $ git-send-pack pu^^:master pu would allow me to push the current pu into pu, and the commit two commits before it into master, on my public repository. The revised rule for updating remote heads is as follows. $ git-send-pack [--all] <remote> [<ref>...] - When no <ref> is specified: - with '--all', it is the same as specifying the full refs/* path for all local refs; - without '--all', it is the same as specifying the full refs/* path for refs that exist on both ends; - When one or more <ref>s are specified: - a single token <ref> (i.e. no colon) must be a pattern that tail-matches refs/* path for an existing local ref. It is an error for the pattern to match no local ref, or more than one local refs. The matching ref is pushed to the remote end under the same name. - <src>:<dst> can have different cases. <src> is first tried as the tail-matching pattern for refs/* path. - If more than one matches are found, it is an error. - If one match is found, <dst> must either match no remote ref and start with "refs/", or match exactly one remote ref. That remote ref is updated with the sha1 value obtained from the <src> sha1. - If no match is found, it is given to get_extended_sha1(); it is an error if get_extended_sha1() does not find an object name. If it succeeds, <dst> must either match no remote ref and start with "refs/" or match exactly one remote ref. That remote ref is updated with the sha1 value. Signed-off-by: Junio C Hamano <>
2005-08-06send-pack: allow the same source to be pushed more than once.Junio C Hamano
The revised code accidentally inherited the restriction that a reference can be pushed only once, only because the original did not allow renaming. This is no longer necessary so lift it. Signed-off-by: Junio C Hamano <>
2005-08-06[PATCH] Make git-sh-setup-script do what it was supposed to doLinus Torvalds
Duh. A missing && meant that half the tests that git-sh-setup-script were _meant_ to do were actually totally ignored. In particular, the git sanity checking ended up only testing that the GIT_OBJECT_DIRECTORY was sane, not that GIT_DIR itself was.. Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
2005-08-06Merge with gitk.Junio C Hamano
This merges commit d698206c12a4680a92c5f4894f0345dc7dcfe62a from gitk into our head commit 2c6e4771959dbe8116f39587d912f1215c06cd0d Sincerely, jit-merge command.
2005-08-06Add forward and back buttons and make SHA1 IDs clickable links.Paul Mackerras
When we display the commit message in the details pane, any string of 40 [0-9a-f] characters that corresponds to a SHA1 ID that we know about gets turned into a clickable link, and displayed in blue and underlined. We now keep a history of commits that we have looked at, and we have forward and back buttons for moving within the history list.
2005-08-06[PATCH] Assorted documentation patchesJohannes Schindelin
[jc: Johannes spent time and effort to see how consistent our use of terminilogy is, and as a byproduct made these corrections not related to the terminology unification. I really appreciate it.] Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2005-08-06[PATCH] git-commit-script fix for degenerated mergeJohannes Schindelin
If merging results in an unchanged tree, git-commit-script should not complain that there's nothing to commit. Also, add "[--all]" to usage(). [jc: usually there is no reason to record an unchanging merge, but this code path is triggered only when there is a nontrivial merge that needed to be resolved by hand, and we should be able to record the fact that these two tree heads are dealt with as a regular two-parent commit in order to help later merges.] Signed-off-by: Junio C Hamano <>
2005-08-06[PATCH] git: use git_mkstemp() instead of mkstemp() for diff generation.Holger Eitzenberger
This lets you run git diff in a repository otherwise read-only to you. Signed-off-by: Junio C Hamano <>
2005-08-06[PATCH] git: add git_mkstemp()Holger Eitzenberger
Signed-off-by: Junio C Hamano <>
2005-08-06Fix ref_newer() in send-pack.Junio C Hamano
When more than two references need to be checked with ref_newer() function, the second and later calls did not work correctly. This was because the later calls found commits retained by the "struct object" layer that still had smudges made by earlier calls. Signed-off-by: Junio C Hamano <>
2005-08-05Fix refname termination.Junio C Hamano
When a new ref is being pushed, the name of it was not terminated properly. Signed-off-by: Junio C Hamano <>
2005-08-05[PATCH] Fix git-merge-cache -qPetr Baudis
I'm totally stupid and got it backwards, sorry about that. git-merge-cache -q would mean it's noisy and quiet without any parameters. Signed-off-by: Petr Baudis <> Signed-off-by: Junio C Hamano <>
2005-08-05git-applymbox: allow retrying after fixing up.Junio C Hamano
After failing to apply a patch, when operating under -q (query) flag, give the user an opportunity to fix up the patch in a separate window and retry. Signed-off-by: Junio C Hamano <>
2005-08-05Merge with gitk.Junio C Hamano
2005-08-05daemon.c: squelch error message from EINTRJunio C Hamano
Every time after servicing the connection, select() first fails with EINTR and ends up waiting for one second before serving the next client. The sleep() was placed by the original author per suggestion from the list to avoid spinning on failing select, but at least this EINTR situation should not result in "at most one client per second" service limit. I am not sure if this is the right fix, but WTH. The king penguin says that serious people would run the daemon under inetd anyway, and I agree with that. Signed-off-by: Junio C Hamano <>
2005-08-05Teach rev-list since..til notation.Junio C Hamano
The King Penguin says: Now, for extra bonus points, maybe you should make "git-rev-list" also understand the "rev..rev" format (which you can't do with just the get_sha1() interface, since it expands into more). The faithful servant makes it so. Signed-off-by: Junio C Hamano <>
2005-08-05Update get_sha1() to grok extended format.Junio C Hamano
Everybody envies rev-parse, who is the only one that can grok the extended sha1 format. Move the get_extended_sha1() out of rev-parse, rename it to get_sha1() and make it available to everybody else. The one I posted earlier to the list had one bug where it did not handle a name that ends with a digit correctly (it incorrectly tried the "Nth parent" path). This commit fixes it. Signed-off-by: Junio C Hamano <>
2005-08-05Fix send-pack for non-commitish tags.Junio C Hamano
Again I left the v2.6.11-tree tag behind. My bad. This commit makes sure that we do not barf when pushing a ref that is a non-commitish tag. You can update a remote ref under the following conditions: * You can always use --force. * Creating a brand new ref is OK. * If the remote ref is exactly the same as what you are pushing, it is OK (nothing is pushed). * You can replace a commitish with another commitish which is a descendant of it, if you can verify the ancestry between them; this and the above means you have to have what you are replacing. * Otherwise you cannot update; you need to use --force. Signed-off-by: Junio C Hamano <>
2005-08-05git-init-db: brown paper bag bugfix.Junio C Hamano
OK, I admit I am an idiot. I ended up creating bunch of garbage directories like .git/HEADbranch/ .git/HEADrefs/... Signed-off-by: Junio C Hamano <>
2005-08-04Compress the graph horizontally if it gets too wide.Paul Mackerras
If the graph gets to use more than a certain percentage (default 50%) of the width of the top-left pane, we now reduce the amount of space allowed for each graph line. This means it doesn't look quite as nice but you can still see the headline for the commit. (Currently the only way to customize the percentage is to edit your ~/.gitk file manually.)
2005-08-04git-bisect termination condition fix.Junio C Hamano
When I munged the original from Linus, which did not terminate when the last bisect to check happened to be a bad one, to terminate, I seem to have botched the end result to pick. Thanks for Sanjoy Mahajan for a good reproduction recipe to diagnose this. Signed-off-by: Junio C Hamano <>
2005-08-04Retire git-check-files documentation too.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-08-04[PATCH] Fix sparse warningsAlecs King
fix one 'should it be static?' warning and two 'mixing declarations and code' warnings. Signed-off-by: Alecs King <> Signed-off-by: Junio C Hamano <>
2005-08-04Retire check-files.Junio C Hamano
The king penguin said: It has no point any more, all the tools check the file status on their own, and yes, the thing should probably be removed. and the faithful servant makes it so. Signed-off-by: Junio C Hamano <>
2005-08-04[PATCH] Fix debian doc-baseKalle Valo
Fixed location of HTML documents in debian doc-base file. Without this fix debian package won't install properly (complains about missing /usr/share/doc/git-core/html directory). jc: thanks, Kalle. I think debian/rules is still broken around etcdir area, though. Signed-off-by: Junio C Hamano <>
2005-08-04git-send-pack: documentationJunio C Hamano
Describe the renaming push. The wording is horrible and I would appreciate a rewrite, but it is better than nothing ;-). Signed-off-by: Junio C Hamano <>
2005-08-04Renaming push.Junio C Hamano
This allows git-send-pack to push local refs to a destination repository under different names. Here is the name mapping rules for refs. * If there is no ref mapping on the command line: - if '--all' is specified, it is equivalent to specifying <local> ":" <local> for all the existing local refs on the command line - otherwise, it is equivalent to specifying <ref> ":" <ref> for all the refs that exist on both sides. * <name> is just a shorthand for <name> ":" <name> * <src> ":" <dst> push ref that matches <src> to ref that matches <dst>. - It is an error if <src> does not match exactly one of local refs. - It is an error if <dst> matches more than one remote refs. - If <dst> does not match any remote refs, either - it has to start with "refs/"; <dst> is used as the destination literally in this case. - <src> == <dst> and the ref that matched the <src> must not exist in the set of remote refs; the ref matched <src> locally is used as the name of the destination. For example, - "git-send-pack --all <remote>" works exactly as before; - "git-send-pack <remote> master:upstream" pushes local master to remote ref that matches "upstream". If there is no such ref, it is an error. - "git-send-pack <remote> master:refs/heads/upstream" pushes local master to remote refs/heads/upstream, even when refs/heads/upstream does not exist. - "git-send-pack <remote> master" into an empty remote repository pushes the local ref/heads/master to the remote ref/heads/master. Signed-off-by: Junio C Hamano <>
2005-08-03Install sample hooksJunio C Hamano
A template mechanism to populate newly initialized repository with default set of files is introduced. Use it to ship example hooks that can be used for update and post update checks, as Josef Weidendorfer suggests. Signed-off-by: Junio C Hamano <>
2005-08-03[PATCH] Plug memory leaks in git-unpack-objectsSergey Vlasov
- Call inflateEnd to release zlib state after use. - After resolving delta, free base object data. Signed-off-by: Sergey Vlasov <> Signed-off-by: Junio C Hamano <>
2005-08-03send-pack: handle partial pushes correctly.Junio C Hamano
When pushing into multi-user repository, or when pushing to a repository from a local repository that has rebased branches that has been pruned, the destination repository can have head commits that are missing from the local repository. This should not matter as long as the local head of the branch being pushed is a proper superset of the destination branch, but we ended up trying to run rev-list telling it to exclude objects reachable from those heads missing from the local repository, causing it to barf. Prune those heads from the rev-list parameter list, and make sure we do not try to push a branch whose remote head is something we lack. Signed-off-by: Junio C Hamano <>
2005-08-03git-send-email-script: minimum whitespace cleanup.Junio C Hamano
Now it is ready to hit the "master" branch, clean up the script for trailing whitespace and mixture of tabs and spaces. Signed-off-by: Junio C Hamano <>
2005-08-03[PATCH] Doc: update git-send-email-script documentation.Ryan Anderson
Signed-off-by: Ryan Anderson <> Signed-off-by: Junio C Hamano <>
2005-08-03[PATCH] git-send-email-script - Fix loops that limit emails to unique values ↵Ryan Anderson
to be pedantically correct. Email addresses aren't generally case sensitive in the real world, but technically, they *can* be. So, let's do the right thing. Additionally, fix the generated message-id to have the right template used. Signed-off-by: Ryan Anderson <> Signed-off-by: Junio C Hamano <>
2005-08-03[PATCH] git-send-email-script - fix 2 small bugs that snuck through an ↵Ryan Anderson
untested bout of editing. Signed-off-by: Ryan Anderson <> Signed-off-by: Junio C Hamano <>