Staging
v0.5.1
https://github.com/git/git

sort by:
Revision Author Date Message Commit Date
93dcab2 GIT 0.99.9k This is not 1.0rc4 yet, but to push the recent fixes out. Signed-off-by: Junio C Hamano <junkio@cox.net> 26 November 2005, 00:35:20 UTC
2a1ddc5 git-sh-setup: move the repository check to a core program. Any core commands that use setup_git_directory() now check if given GIT_DIR is really a valid repository, so the same check in git-sh-setup can use it without reimplementing it in shell. This commit changes git-sh-setup to use git-var command for that, although any other commands would do. Note that we export GIT_DIR explicitly when calling git-var; without it, the caller of this script would use GIT_DIR that we return (which is to assume ./.git unless the caller has it elsewhere) while git-var would go up to find a .git directory in our parent directories, which would be checking a different directory from what our callers will be using. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 23:55:50 UTC
5e7bfe2 setup_git_directory: make sure GIT_DIR is a valid repository. setup_git_directory() always trusted what the user told where GIT_DIR was, and assumed that is a valid .git/ directory. This commit changes it to at least do the same level validation as is_toplevel_directory() does -- has refs/, has objects/ unless GIT_OBJECT_DIRECTORY is set, and has valid HEAD symlink or symref. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 23:43:41 UTC
5d318ce git-var: make it work in subdirectory. Use setup_git_directory() so that it can find its .git directory. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 23:16:35 UTC
ae2b0f1 git-sh-setup: die if outside git repository. Now all the users of this script detect its exit status and die, complaining that it is outside git repository. So move the code that dies from all callers to git-sh-setup script. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 21:49:17 UTC
e8cc80d parse-remote and ls-remote clean-up. There is no reason to use git-sh-setup from git-ls-remote. git-parse-remote can help the caller to use .git/remotes shortcut if it is run inside a git repository, but can still be useful outside a git repositoryas long as the caller does not use any shortcut. Use "git-rev-parse --git-dir" to figure out where the GIT_DIR is, instead of using git-sh-setup. This also makes "git-ls-remote origin" to work from inside a subdirectory of a git managed repository as a side effect. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 21:49:17 UTC
f678dd1 Prevent "git-commit -a path1 path2..." When you want to create a partial commit, giving -a by mistake would ignore the given path. Prevent it. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 21:33:14 UTC
3a2f2bb config.c: avoid shadowing global. This is purely cosmetic, but avoid shadowing "FILE *config_file" global in git_config_set_multivar() function. Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 19:10:49 UTC
874fbc3 Fix a warning about unused value. Fix a warning: git.c:276: warning: value computed is not used Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 11:38:41 UTC
2c52a42 cvsimport: Don't let local settings hinder cvs user-migration. Avoid this by passing "--norc" to cvsps. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 25 November 2005, 11:38:18 UTC
ee72aea Rename git-config-set to git-repo-config ... and adjust all references. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 19:10:40 UTC
a50b870 diff-tree: teach single-commit diff-tree to honour grafts We used to read the commit objects by hand and ignored the grafts. Rewrite it using lookup_commit() API, to make it grafts-aware. Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 06:25:55 UTC
9c20a47 Teach update-index to read from ls-tree. git-update-index --index-info can almost be usable to read from ls-tree output to update the index (and not the working tree file) to HEAD commit, but not quite. It was designed to read from git-apply --index-info output, and does not want " blob " in ls-tree output. Accept that as well. This lets us update "git-checkout <ent> <path>" that used to filter the extra " blob " string out. Noted by Luben. Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 06:25:55 UTC
b788498 git-revert: make --edit default. Revert always should explain why, so make --edit the default, unless stdin is not a terminal. If you really don't want to say anything, you can say "git-revert --no-edit $commit", or if you are really sick, you could also say "git-revert $commit </dev/null". But please don't. You can also say "git-cherry-pick --edit $commit". Not editting the commit log message is the default for cherry-pick. Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 01:19:37 UTC
30c7bb2 Allow editing of a revert-message I think all commit operations should allow editing of the message (ie we should do this for merges too), but that's _particularly_ true of doing a "git revert". We should always explain why we needed to revert something. This patch adds a "-e" or "--edit" flag to "git revert", although I actually suspect it should be on by default (and we should have a "--no-edit" flag to disable it, probably together with an automatic disable if stdin isn't a terminal). Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 00:52:52 UTC
073dab1 Fix git-mv for moving directories with 1 file This is fixed by putting the file into @changedfiles/@addedfiles, and not the directory this file is in. Additionally, this fixes the behavior for attempting to overwrite a file with a directory, and gives a message for all cases where overwriting is not possible (file->dir,dir->file,dir->dir). Thanks for Alexander Litvinov for noting this problem. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 00:51:26 UTC
fbf8ac2 git-merge: make recursive the default strategy git-pull invoked merge with recursive as the default strategy for some time now; match it in the git-merge itself. Also avoid listing more than one strategy on default because we have only one strategy that can resolve an octopus and we are already counting heads here. This reduces the need to stash away local modifications. Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 00:23:11 UTC
b99a394 pack-redundant: type cleanups. Binary representation of object names are unsigned char[20], not signed. Also verbose output had %lu format printing size_t without (unsigned long) cast other places already had, so match that. Using format %zu was suggested but might not be supported as widely. Noted by Morten Welinder, fixed with input from H. Peter Anvin and Hideaki Yoshifuji. Signed-off-by: Junio C Hamano <junkio@cox.net> 24 November 2005, 00:10:11 UTC
c616421 Fixed git:// IPv4 address problem when compiled with -DNO_IPV6. Failure to dereference a pointer caused incorrect initialization of the IPv4 address when calling connect() when compiled with -DNO_IPV6. With this patch and yesterday's patch for git-daemon, it should now be possible to use the native git protocol for both the client and server on Cygwin. Signed-off-by: Paul Serice <paul@serice.net> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 20:38:27 UTC
d1ab157 arguments cleanup and some formatting Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 20:38:25 UTC
2b6e34c remove unused variable It is just assigned, nothing more. Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 20:38:23 UTC
60435f6 speedup allocation in pack-redundant.c Reuse discarded nodes of llists Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 20:38:21 UTC
bb931cf Make git-pack-redundant take a list of unimportant objs on stdin This lets us do "git-fsck-objects --full --unreachable | cut -d ' ' -f3 | git-pack-redundant --all", which will keep git-pack-redundant from keeping packs just because they contain unreachable objects. Also add some more --verbose output. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 20:38:16 UTC
302ebfe Merge http://www.kernel.org/pub/scm/gitk/gitk 22 November 2005, 09:55:15 UTC
c7d77da git-var: constness and globalness cleanup. var.c::git_var read function did not have to return writable strings; make it and the functions it points at return const char * instead. ident.c::get_ident() did not need to be global, so make it static. Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 07:44:35 UTC
9ce392f Move diff.renamelimit out of default configuration. Otherwise we would end up linking all the unneeded stuff into git-daemon only to link with git_default_config. Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 07:00:50 UTC
07f9247 max-count in terms of intersection When a path designation is given, max-count counts the number of commits therein (intersection), not globally. This avoids the case where in case path has been inactive for the last N commits, --max-count=N and path designation at git-rev-list is given, would give no commits. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 05:50:00 UTC
c3df856 GIT: Fix compilation error in connect.c Fix compilation error for gcc-2.95. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 04:51:22 UTC
d6ebd25 Introduce $(ALL_PROGRAMS) for 'all:' and 'install:' to operate on. Remove $(SIMPLE_PROGRAMS) from $(PROGRAMS) so buildrules don't have to be overridden. Put $(SCRIPTS) with the other target-macros so it doesn't get lonely. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 22 November 2005, 00:37:58 UTC
1b1480f rename/copy score parsing updates. Better variant, which handles stuff like "4.5%" and rejects "192.168.0.1". Additionally, make sure numbers are unsigned (I'm making them unsigned long just for the hell of it), to make sure that artificial wraparound scenarios don't cause harm. -hpa [jc: with this, -M100 changes its meaning back to 10%. People wanting to say "pure renames only" should now say -M100% or -M1.0; sounds a bit like an earthquake, but arguably things are more consistent this way ;-)] Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 22:54:33 UTC
f35230f git-daemon not listening when compiled with -DNO_IPV6 git-daemon was not listening when compiled with -DNO_IPV6. socksetup() was not returning socket count when compiled with -DNO_IPV6. Signed-off-by: Paul Serice <paul@serice.net> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 22:36:43 UTC
ef07618 git-repack: Properly abort in corrupt repository In a corrupt repository, git-repack produces a pack that does not contain needed objects without complaining, and the result of this combined with -d flag can be very painful -- e.g. a lossage of one tree object can lead to lossage of blobs reachable only through that tree. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 22:08:49 UTC
b17e659 Allow hierarchical section names A .git/config like follows becomes valid with this patch: [remote.junio] url = git://git.kernel.org/pub/scm/git/git.git pull = master:junio todo:todo +pu:pu [remote.ibook] url = ibook:git/ pull = master:ibook push = master:quetzal (This patch only does the ini file thing, git-fetch and friends still ignore these values). Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 22:04:28 UTC
3dd94e3 git-config-set: Properly terminate strings with '\0' When a lowercase version of the key was generated, it was not terminated. Strangely enough, it worked on Linux and macosx anyway. Just cygwin barfed. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 22:04:22 UTC
e814bc4 git-proxy updates. This builds on top of the git-proxy mechanism Paul Collins did, and updates its configuration mechanism. * GIT_PROXY_COMMAND environment variable is used as the catch-all fallback, as in the original. This has not changed. * Renames proxy configuration variables to core.gitproxy; this has become a multi-value variable per list discussion, most notably from suggestion by Linus. [core] ;# matches www.kernel.org as well gitproxy = netcatter for kernel.org gitproxy = netscatter for sample.xz gitproxy = none for mydomain.xz gitproxy = netcatter-default The values are command names, followed by an optional " for " and domainname; the first tail-match of the domainname determines which proxy command is used. An entry without " for " matches any domain and can be used as the default. The command name "none" is special -- it tells the mechanism not to use any proxy command and use the native git:// connection. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 21:48:58 UTC
f801477 proxy-command support for git:// Here is an updated patch that first looks for GIT_PROXY_COMMAND in the environment and then git.proxycommand in the repository's configuration file. I have left the calling convention the same argv[1] is the host and argv[2] is the port. I've taken the hostname parsing verbatim from git_tcp_connect(), so it should now support an explicit port number and whatever that business with the square brackets is. (Should I move this to a helper function?) Regarding internal vs. external hosts, the proxy command can simply run netcat locally to internal hosts, so perhaps that is sufficient. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 21:48:58 UTC
ce335fe daemon: further tweaks. - Do validation only on canonicalized paths - Run upload-pack with "." as repository argument Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 21:47:00 UTC
4dbd135 git-daemon support for user-relative paths. Dropped a fair amount of reundant code in favour of the library code in path.c Added option --strict-paths with documentation, with backwards compatibility for whitelist entries with symlinks. Everything that worked earlier still works insofar as I have remembered testing it. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 21:47:00 UTC
aa7f412 tutorial: setting up a tree for subsystem maintainers The "copying over packs" step is to prevent the objects available in upstream repository to get expanted in the subsystem maintainer tree, and is still valid if the upstream repository do not live on the same machine. But if they are on the same machine using objects/info/alternates is cleaner. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 21:42:55 UTC
9f70b80 rename detection with -M100 means "exact renames only". When the user is interested in pure renames, there is no point doing the similarity scores. This changes the score argument parsing to special case -M100 (otherwise, it is a precision scaled value 0 <= v < 1 and would mean 0.1, not 1.0 --- if you do mean 0.1, you can say -M1), and optimizes the diffcore_rename transformation to only look at pure renames in that case. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 20:21:24 UTC
88b5a74 format-patch: fix two-argument special case, and make it easier to pick single commits Luben Tuikov noticed that sometimes being able to say 'git-format-patch <commit>' to format the change a single commit introduces relative to its parent is handy. This patch does not support that directly, but it makes sense to interpret a single argument "rev" to mean "rev^1..rev". With this, the backward compatibility syntaxes still apply: - "format-patch master" means "format-patch master..HEAD" - "format-patch origin master" means "format-patch origin..master" - "format-patch origin.." means "format-patch origin..HEAD" But "format-patch a b c d e" formats the changes these five commits introduce relative to their respective parents. Earlier it rejected these arguments not in "one..two" form. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 20:21:24 UTC
60abce3 Fix hooks/update template. Make the example address RFC2606 (aka BCP0032) compliant. Also fix a couple of shell script errors. Noted and fixed by Matthew Wilcox and Andreas Ericsson. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 20:21:06 UTC
9242150 Make sure heads/foo and tags/foo do not confuse things. When both heads/foo and tags/foo exist, get_sha1_basic("foo") picked up the tag without complaining, which is quite confusing. Make sure we require unambiguous form, "heads/foo" or "tags/foo" in such cases. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 08:43:12 UTC
e0a8719 Fix "do not DWIM" patch to enter_repo" We wanted --strict to mean "do not DWIM", but the code required to see absolute path. daemon does its own path verification and chdirs to the verified repository, so enter_repo() called from upload-pack will always enter ".". Requiring absolute path does not make any sense. Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 07:37:13 UTC
936a234 git-reset.txt: Small fix + clarifications. This basically translates the man-page from 'git-developerish' to plain english, adding some almost-sample output from git-status so users can recognize what will happen. Also mention explicitly that --mixed updates the index, while --soft doesn't. I understood the old text to mean "--mixed is exactly like --soft, but verbose". Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 06:19:58 UTC
3d32051 Add Python version checks to the Makefile to automatically set WITH_OWN_SUBPROCESS_PY Also rearrange some path settings in the Makefile in the process. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 06:17:56 UTC
bd22c90 Fix sparse warnings Make some functions static and convert func() function prototypes to to func(void). Fix declaration after statement, missing declaration and redundant declaration warnings. Signed-off-by: Timo Hirvonen <tihirvon@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 21 November 2005, 06:14:16 UTC
757f17b gitk: Disable fastdate stuff for now It has a fatal flaw in that it only handles timezones that are a multiple of an hour. It's really only needed with Tk8.5, where the clock format command has been reimplemented in Tcl and is much slower than in Tk8.4. Signed-off-by: Paul Mackerras <paulus@samba.org> 20 November 2005, 22:56:07 UTC
8fc66df Merge http://www.kernel.org/pub/scm/gitk/gitk 20 November 2005, 20:18:13 UTC
f98d863 git-config-set: support selecting values by non-matching regex Extend the regex syntax of value_regex so that prepending an exclamation mark means non-match: [core] quetzal = "Dodo" for Brainf*ck quetzal = "T. Rex" for Malbolge quetzal = "cat" You can match the third line with git-config-set --get quetzal '! for ' Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 18:53:06 UTC
a6322d0 merge-recursive: Replace 'except:' Plain except:s are evil as they will catch all kinds of exceptions including NameError and AttrubiteError. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 18:47:16 UTC
9ae2172 merge-one-file: use rmdir -p The flag is universally available, even on VMS; use it. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 18:40:31 UTC
f6e2869 gitk: Fix some bugs introduced by speedup changes Commits that weren't read from git-rev-list, i.e. the ones displayed with an open circle, were displayed incorrectly: the headline was null if there was only one line, and the commit comment was put all on one line. Also, the terminal commits weren't displayed when -r was used. Signed-off-by: Paul Mackerras <paulus@samba.org> 20 November 2005, 12:08:22 UTC
13cfdfd Documentation: add hooks/update example. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 07:50:48 UTC
4ddba79 git-config-set: add more options ... namely --replace-all, to replace any amount of matching lines, not just 0 or 1, --get, to get the value of one key, --get-all, the multivar version of --get, and --unset-all, which deletes all matching lines from .git/config Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 07:15:07 UTC
7b5d895 Documentation update for user-relative paths. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:50:39 UTC
faea9cc Client side support for user-relative paths. With this patch, the client side passes identical paths for these two: ssh://host.xz/~junio/repo host.xz:~junio/repo Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:50:39 UTC
8d63013 Server-side support for user-relative paths. This patch basically just removes the redundant code from {receive,upload}-pack.c in favour of the library code in path.c. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:50:38 UTC
0870ca7 Do not DWIM in userpath library under strict mode. This should force git-daemon administrator's job a bit harder because the exact paths need to be given in the whitelist, but at the same time makes the auditing easier. This moves validate_symref() from refs.c to path.c, because we need to link path.c with git-daemon for its "enter_repo()", but we do not want to link the daemon with the rest of git libraries and its requirements. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:50:38 UTC
54f4b87 Library code for user-relative paths, take three. This patch provides the work-horse of the user-relative paths feature, using Linus' idea of a blind chdir() and getcwd() which makes it remarkably simple. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:50:37 UTC
942c1f5 Add test case for git-config-set ... includes the mean tests I mentioned on the list. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:47:30 UTC
2d2465c Add documentation for git-config-set Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:47:30 UTC
1b1e59c Add git-config-set, a simple helper for scripts to set config variables This is meant for the end user, who cannot be expected to edit .git/config by hand. Example: git-config-set core.filemode true will set filemode in the section [core] to true, git-config-set --unset core.filemode will remove the entry (failing if it is not there), and git-config-set --unset diff.twohead ^recar will remove the unique entry whose value matches the regex "^recar" (failing if there is no unique such entry). It is just a light wrapper around git_config_set() and git_config_set_multivar(). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:47:29 UTC
10bea15 Add functions git_config_set() and git_config_set_multivar() The function git_config_set() does exactly what you think it does. Given a key (in the form "core.filemode") and a value, it sets the key to the value. Example: git_config_set("core.filemode", "true"); The function git_config_set_multivar() is meant for setting variables which can have several values for the same key. Example: [diff] twohead = resolve twohead = recarsive the typo in the second line can be replaced by git_config_set_multivar("diff.twohead", "recursive", "^recar"); The third argument of the function is a POSIX extended regex which has to match the value. If there is no key/value pair with a matching value, a new key/value pair is added. These commands are also capable of unsetting (deleting) entries: git_config_set_multivar("diff.twohead", NULL, "sol"); will delete the entry twohead = resolve Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:47:29 UTC
0890098 Decide whether to build http-push in the Makefile The decision about whether to build http-push or not belongs in the Makefile. This follows Junio's suggestion to determine whether curl is new enough to support http-push. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:25 UTC
11979b9 http.c: reorder to avoid compilation failure. Move the static function get_curl_handle() around to make sure its definition and declarations are seen by the compiler before its first use. Also remove an unused variable. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:25 UTC
7b89996 http-push memory/fd cleanup Clean up memory and file descriptor usage Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:25 UTC
acf5957 Improve XML parsing in http-push Improved XML parsing - replace specialized doc parser callbacks with generic functions that track the parser context and use document-specific callbacks to process that data. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:25 UTC
5e3a769 Improve pack list response handling Better response handling for pack list requests - a 404 means we do have the list but it happens to be empty. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:24 UTC
e388ab7 Make http-fetch request types more clear Rename object request functions and data to make it more clear which type of request is being processed - this is a response to the introduction of slot callbacks and the definition of different types of requests such as alternates_request. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:24 UTC
29508e1 Isolate shared HTTP request functionality Move shared HTTP request functionality out of http-fetch and http-push, and replace the two fwrite_buffer/fwrite_buffer_dynamic functions with one fwrite_buffer function that does dynamic buffering. Use slot callbacks to process responses to fetch object transfer requests and push transfer requests, and put all of http-push into an #ifdef check for curl multi support. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 04:17:24 UTC
80e21a9 merge-recursive::removeFile: remove empty directories When the last file in a directory is removed as the result of a merge, try to rmdir the now-empty directory. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 03:57:54 UTC
397c766 merge-one-file: remove empty directories When the last file in a directory is removed as the result of a merge, try to rmdir the now-empty directory. [jc: We probably could use "rmdir -p", but for now we do that by hand for portability.] Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 03:50:44 UTC
22a06b3 Documentation: rebase-from-internal minor updates. git-commit -v flag has been the default for quite some time, so do not mention it. Also a typofix. Signed-off-by: Junio C Hamano <junkio@cox.net> 20 November 2005, 03:21:11 UTC
6ed6405 git-repack: do not do complex redundancy check. With "-a", redundant pack removal is trivial, and otherwise redundant pack removal is pointless; do not call git-redundant-pack from this script. Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 20:13:53 UTC
a4caa52 git-count-objects: dc replacement Johannes suggested this earlier but I did not take it so seriously because this command is not that important. But this probably matters on Cygwin which does not seem to come with precompiled dc. It is a mystery for me that anything that mimics UNIX does not offer a dc, though. I did the detection for the lack of dc command a bit differently from the verison Johannes did. Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 10:54:07 UTC
e3fe532 gitk: moving all three panes if clicking on an arrow. Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 08:24:40 UTC
fd913b3 gitk: use git-diff-tree --no-commit-id gitk switched to use git-diff-tree with one argument in gettreediffs and getblobdiffs. git-diff-tree with one argument outputs commit ID in from of the patch. This causes an empty line after "Comments" in the lower right pane. Also, the diff in the lower left pane has the commit ID, which is useless there. This patch makes git use the newly added -no-commit-id option for git-diff-tree to suppress commit ID. It also removes the p variable in both functions, since it has become useless after switching to the one-argument invocation for git-diff-tree. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 08:00:37 UTC
e246483 gitk: Specify line hover font Hovering over a line in gitk displays the commit one-liner in a box, but the text usually overflows the box. The box size is computed with a specified font, so this patch sets the text font as well. Signed-off-by: Frank Sorenson <frank@tuxrocks.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 07:55:50 UTC
36a7cad readrefs: grab all refs with one call to ls-remote. Instead of reading refs/heads/* and refs/tags/* files ourselves and missing files in subdirectories of heads/ and tags/, use ls-remote on local repository and grab all of them. This lets us also remove the procedure readotherrefs. Signed-off-by: Junio C Hamano <junkio@cox.net> 19 November 2005, 07:54:17 UTC
3eeb419 Merge http://www.kernel.org/pub/scm/gitk/gitk 19 November 2005, 01:43:38 UTC
52b6536 Merge branch 'master' 19 November 2005, 00:58:51 UTC
0b42769 Merge branches 'jc/branch' and 'jc/rebase' 18 November 2005, 23:54:23 UTC
7f59dbb Rewrite rebase to use git-format-patch piped to git-am. The current rebase implementation finds commits in our tree but not in the upstream tree using git-cherry, and tries to apply them using git-cherry-pick (i.e. always use 3-way) one by one. Which is fine, but when some of the changes do not apply cleanly, it punts, and punts badly. Suppose you have commits A-B-C-D-E since you forked from the upstream and submitted the changes for inclusion. You fetch from upstream head U and find that B has been picked up. You run git-rebase to update your branch, which tries to apply changes contained in A-C-D-E, in this order, but replaying of C fails, because the upstream got changes that touch the same area from elsewhere. Now what? It notes that fact, and goes ahead to apply D and E, and at the very end tells you to deal with C by hand. Even if you somehow managed to replay C on top of the result, you would now end up with ...-B-...-U-A-D-E-C. Breaking the order between B and others was the conscious decision made by the upstream, so we would not worry about it, and even if it were worrisome, it is too late for us to fix now. What D and E do may well depend on having C applied before them, which is a problem for us. This rewrites rebase to use git-format-patch piped to git-am, and when the patch does not apply, have git-am fall back on 3-way merge. The updated diff/patch pair knows how to apply trivial binary patches as long as the pre- and post-images are locally available, so this should work on a repository with binary files as well. The primary benefit of this change is that it makes rebase easier to use when some of the changes do not replay cleanly. In the "unapplicable patch in the middle" case, this "rebase" works like this: - A series of patches in e-mail form is created that records what A-C-D-E do, and is fed to git-am. This is stored in .dotest/ directory, just like the case you tried to apply them from your mailbox. Your branch is rewound to the tip of upstream U, and the original head is kept in .git/ORIG_HEAD, so you could "git reset --hard ORIG_HEAD" in case the end result is really messy. - Patch A applies cleanly. This could either be a clean patch application on top of rewound head (i.e. same as upstream head), or git-am might have internally fell back on 3-way (i.e. it would have done the same thing as git-cherry-pick). In either case, a rebased commit A is made on top of U. - Patch C does not apply. git-am stops here, with conflicts to be resolved in the working tree. Yet-to-be-applied D and E are still kept in .dotest/ directory at this point. What the user does is exactly the same as fixing up unapplicable patch when running git-am: - Resolve conflict just like any merge conflicts. - "git am --resolved --3way" to continue applying the patches. - This applies the fixed-up patch so by definition it had better apply. "git am" knows the patch after the fixed-up one is D and then E; it applies them, and you will get the changes from A-C-D-E commits on top of U, in this order. I've been using this without noticing any problem, and as people may know I do a lot of rebases. Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 23:53:15 UTC
eb77761 git-branch: -f to forcibly reset branch head. A new usage, 'git-branch -f branch [start]', resets the branch head at start (or current head). Should be considered a dangerous operation, but if you are like me to keep rewinding branches it is handy. Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 23:53:12 UTC
f9039f3 Do not show .exe in git command list. Truncate the result from readdir() in the exec-path if they end with .exe, to make it a bit more readable on Cygwin. Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 23:40:22 UTC
9a888b7 Document the "ignore objects" feature of git-pack-redundant Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 23:34:19 UTC
06a45c8 Improve the readability of git-pack-redundant Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 23:34:17 UTC
62af0b5 Remove all old packfiles when doing "git repack -a -d" No point in running git-pack-redundant if we already know which packs are redundant. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 22:26:31 UTC
4d16f8d Update pull/fetch --tags documentation When fetching/pulling from a remote repository the "--tags" option can be used to pull tags too. Document that it will limit the pull to only commits reachable from the tags. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 22:25:10 UTC
0cb022e Fix a bug in get_all_permutations. This line was missing in the previous patch for some reason. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 22:25:06 UTC
2e67a5f Cygwin *might* be helped with NO_MMAP When HPA added Cygwin target, it ran just fine without NO_MMAP for him, but recently we are getting reports that for some people things break without it. For now, just suggest it in the Makefile without actually updating the default. Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 19:22:27 UTC
a8aca41 Teach "approxidate" about weekday syntax On Fri, 18 Nov 2005, David Roundy wrote: > > Don't forget "high noon"! (and perhaps "tea time"?) :) Done. [torvalds@g5 git]$ ./test-date "now" "midnight" "high noon" "tea-time" now -> bad -> Wed Dec 31 16:00:00 1969 now -> Fri Nov 18 08:50:54 2005 midnight -> bad -> Wed Dec 31 16:00:00 1969 midnight -> Fri Nov 18 00:00:00 2005 high noon -> bad -> Wed Dec 31 16:00:00 1969 high noon -> Thu Nov 17 12:00:00 2005 tea-time -> bad -> Wed Dec 31 16:00:00 1969 tea-time -> Thu Nov 17 17:00:00 2005 Thanks for pointing out tea-time. This is also written to easily extended to allow people to add their own important dates like Christmas and their own birthdays. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 19:21:44 UTC
583122c Make "git fetch" less verbose by default When doing something like git fetch --tags origin the excessively verbose output of git fetch makes the result totally unreadable. It's impossible to tell if it actually fetched anything new or not, since the screen will fill up with an endless supply of ... * committish: 9165ec17fde255a1770886189359897dbb541012 tag 'v0.99.7c' of master.kernel.org:/pub/scm/git/git * refs/tags/v0.99.7c: same as tag 'v0.99.7c' of master.kernel.org:/pub/scm/git/git ... and any new tags that got fetched will be totally hidden. So add a new "--verbose" flag to "git fetch" to enable this verbose mode, but make the default be quiet. NOTE! The quiet mode will still report about new or changed heads, so if you are really fetching a new head, you'll see something like this: [torvalds@g5 git]$ git fetch --tags parent Packing 6 objects Unpacking 6 objects 100% (6/6) done * refs/tags/v1.0rc2: storing tag 'v1.0rc2' of master.kernel.org:/pub/scm/git/git * refs/tags/v1.0rc3: storing tag 'v1.0rc3' of master.kernel.org:/pub/scm/git/git * refs/tags/v1.0rc1: storing tag 'v1.0rc1' of master.kernel.org:/pub/scm/git/git which actually tells you something useful that isn't hidden by all the useless crud that you already had. Extensively tested (hey, for me, this _is_ extensive) by doing a rm .git/refs/tags/v1.0rc* and re-fetching with both --verbose and without. NOTE! This means that if the fetch didn't actually fetch anything at all, git fetch will be totally quiet. I think that's much better than being so verbose that you can't even tell whether something was fetched or not, but some people might prefer to get a "nothing to fetch" message in that case. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 19:21:22 UTC
3afd169 Fix bug introduced by the latest changes to git-pack-redundant I forgot to initialize part of the pll struct when copying it. Found by valgrind. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 19:20:34 UTC
c3e24a7 git-prune: quote possibly empty $dryrun as parameter to test Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 19:16:09 UTC
6eb668d Merge branch 'master' 18 November 2005, 08:11:28 UTC
087b674 git-am: --binary; document --resume and --binary. Now git-apply can grok binary replacement patches, give --binary flag to git-am. As a safety measure, this is not by default enabled, so that you do not let malicious e-mailed patch to replace an arbitrary path with just a couple of lines (diff index lines, the filename and string "Binary files "...) by accident. Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 06:36:31 UTC
6b7b042 Teach "approxidate" about weekday syntax This allows people to use syntax like "last thursday" for the approxidate. (Or, indeed, more complex "three thursdays ago", but I suspect that would be pretty unusual). NOTE! The parsing is strictly sequential, so if you do "one day before last thursday" it will _not_ do what you think it does. It will take the current time, subtract one day, and then go back to the thursday before that. So to get what you want, you'd have to write it the other way around: "last thursday and one day before" which is insane (it's usually the same as "last wednesday" _except_ if today is Thursday, in which case "last wednesday" is yesterday, and "last thursday and one day before" is eight days ago). Similarly, "last thursday one month ago" will first go back to last thursday, and then go back one month from there, not the other way around. I doubt anybody would ever use insane dates like that, but I thought I'd point out that the approxidate parsing is not exactly "standard English". Side note 2: if you want to avoid spaces (because of quoting issues), you can use any non-alphanumberic character instead. So git log --since=2.days.ago works without any quotes. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 06:34:50 UTC
751a71e Make git-pack-redundant non-horribly slow on large sets of packs Change the smallest-set detection algortithm so that when we have found a good set, we don't check any larger sets. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net> 18 November 2005, 05:29:12 UTC
back to top