summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-07-23Add a "git rename" to help with - surprise surprise - renamesLibravatar Linus Torvalds2-1/+8
It's stupid. We'd want to rename directories too, but this doesn't do that yet - easy enough to do per se, we just need to carefully list all the pathnames that got moved (and remember to ignore the files that weren't tracked but are in the subdirectory that got moved). Doing the directory case will require a bit more scripting.. Something like oldfiles=($(git-ls-files | grep '^$src')) newfiles=($(git-ls-files | sed ':^$src: s:^$src:$dst:')) mv $src $dst && git-update-cache --add --remove -- "${oldfiles[@]}" "${newfiles[@]}" might do it, except it needs to be done right, and carefully. Methinks perl is probably better at this. Hint hint..
2005-07-23Rename the "tools" programs to also have the "git-" prefixLibravatar Linus Torvalds3-2/+5
Hey, people are using them, and we have an install target for them, so make sure that we can actually install them sanely without disturbing the namespace.
2005-07-23[PATCH] Support cloning packed repo from dumb http servers.Libravatar Junio C Hamano3-3/+63
Using the information prepared with update-server-info, a truly dumb http server can allow cloning with this client side support. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Document update-server-info.Libravatar Junio C Hamano2-0/+46
This adds a minimum documentation to the new command. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Add update-server-info.Libravatar Junio C Hamano9-1/+1025
The git-update-server-info command prepares informational files to help clients discover the contents of a repository, and pull from it via a dumb transport protocols. Currently, the following files are produced. - The $repo/info/refs file lists the name of heads and tags available in the $repo/refs/ directory, along with their SHA1. This can be used by git-ls-remote command running on the client side. - The $repo/info/rev-cache file describes the commit ancestry reachable from references in the $repo/refs/ directory. This file is in an append-only binary format to make the server side friendly to rsync mirroring scheme, and can be read by git-show-rev-cache command. - The $repo/objects/info/pack file lists the name of the packs available, the interdependencies among them, and the head commits and tags contained in them. Along with the other two files, this is designed to help clients to make smart pull decisions. The git-receive-pack command is changed to invoke it at the end, so just after a push to a public repository finishes via "git push", the server info is automatically updated. In addition, building of the rev-cache file can be done by a standalone git-build-rev-cache command separately. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] git-ls-remote: show and optionally store remote refs.Libravatar Junio C Hamano2-1/+106
Retrieve and list the remote refs from git, http, and rsync repositories, and optionally stores the retrieved refs in the local repository under the same name. To access a git URL, git-peek-remote command is used. An http URL needs to have an up-to-date info/refs file for discovery, which will be introduced by a later update-server-info patch. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Documentation: git-peek-remote.Libravatar Junio C Hamano2-3/+59
Add documentation for the git-peek-remote and link it from the main index. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] git-peek-remote: show tags and heads from a remote repository.Libravatar Junio C Hamano2-1/+57
Add a git-peek-remote command that talks with upload-pack the same way git-fetch-pack and git-clone-pack do, to show the references the remote side has on the standard output. A later patch introduces git-ls-remote that implements a UI to store tag values retrieved using this command. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23Update tutorial.txt branches/tags to use the nicer helper syntaxLibravatar Linus Torvalds1-21/+31
Teach people to use "git tag <tag-name>" instead of writing the current HEAD by hand into the .git/refs/tags/<tag-name> file. Most people probably don't really want to know about how git does things internally.
2005-07-23Make "git tag" create both simple and signed tagsLibravatar Linus Torvalds1-12/+38
A simple tag is just a direct pointer to the object, while a signed tag is a pointer to a "tag object" that has a pgp signature and points to the object we tagged. Use "git tag -s tagname" to create a signed tag. The "-f" flag overwrites any previous tag of that name (useful if you update a tag to point to a newer version for things like "latest" etc tags that aren't necessarily static versions).
2005-07-23[PATCH] mailinfo: handle folded header.Libravatar Junio C Hamano1-37/+27
Some people split their long E-mail address over two lines using the RFC2822 header "folding". We can lose authorship information this way, so make a minimum effort to deal with it, instead of special casing only the "Subject:" field. We could teach mailsplit to unfold the folded header, but teaching mailinfo about folding would make more sense; a single message can be fed to mailinfo without going through mailsplit. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23Fix git protocol connection 'port' overrideLibravatar Linus Torvalds1-1/+3
It was broken by the IPv6 patches - we need to remove the ":" part from the hostname for a successful name lookup.
2005-07-23[PATCH] GIT: Try all addresses for given remote nameLibravatar YOSHIFUJI Hideaki1-28/+43
Try all addresses for given remote name until it succeeds. Also supports IPv6. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Deb packaging needs two more configuration filesLibravatar Ryan Anderson2-0/+2
The deb package building needs these two new files to work correctly. debian/compat sets the rules under which the debhelper scripts (dh_*) operate. debian/git-core.install tells dh_install what files to install in each package that is generated. There is only one package being generated, so all files go into it. (I missed these in the last patch, mostly because I needed to do this to find stuff I had missed: find . -name .git -type d -prune -o -type f -print \ | grep -v -e .tree1 -e .tree2 \ | sed -e "s/^\.\///" \ | sort >.tree1 git-ls-files | grep -v -e .tree1 -e .tree2 \ | sort >.tree2 diff -u .tree1 .tree2 ) Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23[PATCH] Deb packages should include the binariesLibravatar Ryan Anderson3-7/+13
The Deb packages were missing a dependency on "build install" from the binary target - this fixes that, and cleans up some inconsistencies elsewhere in the rulesets. Traditionally, Debian packaging uses a file called "build-stamp" (or "install-stamp", etc) in the main source tree. The initial deb package support for Git tried to move this "build-stamp" file into the debian/ directory, but some instances were missed. That problem, however, was incidental - the real fix is the missing dependency mentioned above. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-23Be more aggressive about marking trees uninterestingLibravatar Linus Torvalds1-1/+25
We'll mark all the trees at the edges (as deep as we had to go to realize that we have all the commits needed) as uninteresting. Otherwise we'll occasionally list a lot of objects that were actually available at the edge in a commit that we just never ended up parsing because we could determine early that we had all relevant commits. NOTE! The object listing is still just a _heuristic_. It's guaranteed to list a superset of the actual new objects, but there might be the occasional old object in the list, just because the commit that referenced it was much further back in the history. For example, let's say that a recent commit is a revert of part of the tree to much older state: since we didn't walk _that_ far back in the commit history tree to list the commits necessary, git-rev-tree will never have marked the old objects uninteresting, and we'll end up listing them as "new". That's ok.
2005-07-22[PATCH] tutorial: mention "git clone" records .git/branches/originLibravatar Junio C Hamano1-22/+18
Update the recommended workflow for individual developers. While they are tracking the origin, refs/heads/origin is updated by "git fetch", so there is no need to manually copy FETCH_HEAD to refs/heads/ anywhere. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] git-clone-script: store where we cloned from in .git/branches/originLibravatar Junio C Hamano1-18/+23
A bit more usability enhancement, while retaining Cogito compatibility (and fixing the "-u" flag). Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Test framework: prettyprint the failed command.Libravatar Junio C Hamano1-1/+3
The output from a failure case had the test description message and the first line of the actual test script concatenated on the same line, which was ugly. Correct the output routine a bit to make it more readable. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Install tools with "make install-tools".Libravatar Junio C Hamano2-2/+15
Match the main Makefile by separating COPTS from CFLAGS, defining INSTALL, prefix, and bin. Add a new target 'install-tools' to the main Makefile to install them. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Audit rev-parse users.Libravatar Junio C Hamano5-12/+12
This patch changes rev-parse users that pass a single argument that is supposed to be a rev parameter to use "--verify". Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] git-branch: avoid getting confused by empty or nonexisting branches.Libravatar Junio C Hamano1-1/+7
When not specifying the start point explicitly, we ended up emitting ^0 in addition to the default HEAD. Be careful to see if we have "$2" before finding out which commit to base the new branch on. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Help scripts that use git-rev-parse to grok args with SP/TAB/LFLibravatar Junio C Hamano2-6/+37
The git-rev-parse command uses LF to separate each argument it parses, so its users at least need to set IFS to LF to be able to handle filenames with embedded SPs and TABs. Some commands, however, can take and do expect arguments with embedded LF, notably, "-S" (pickaxe) of diff family, so even this workaround does not work for them. When --sq flag to git-rev-parse is given, instead of showing one argument per line, it outputs arguments quoted for consumption with "eval" by the caller, to remedy this situation. As an example, this patch converts git-whatchanged to use this new feature. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Document "curl" requirements.Libravatar Junio C Hamano1-2/+4
Not just libcurl, but now we require curl executable as well. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Support more http features: https no cert, .netrc -> authLibravatar Darrin Thompson2-2/+11
Cause setting environment variable GIT_SSL_NO_VERIFY to turn off curl's ssl peer verification. Only use curl for http transfers, instead of curl and wget. Make curl check ~/.netrc for credentials. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Install git-verify-tag-scriptLibravatar Eric W. Biederman1-1/+1
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Cleanup: git-verify-tag-scriptLibravatar Eric W. Biederman1-4/+3
- Use git-rev-parse to allow sha1 tags references - When the tag does not verify set an appropriate exit status - Use git-sh-setup-script to verify the .git directory Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] Fix a typo in git-unpack-objects documentation.Libravatar Jan Veldeman1-1/+1
Fix a typo in git-unpack-objects documentation. Signed-off-by: Jan Veldeman <jan@mind.be> Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] debian/ fixesLibravatar Ryan Anderson2-1/+1
Make debian/rules executable, and correct the spelling of rsync in debian/control. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] format-patch: --mbox and --check.Libravatar Junio C Hamano1-6/+43
Add --mbox option to export patches in a format resembling UNIX mbox, so that later they can be concatenated and fed to applymbox. Add --check to look for lines that introduce bogus whitespaces. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] git-format-patch-script and mailinfo updates.Libravatar Junio C Hamano2-8/+40
- avoid duplicating [PATCH] in the commit message body if the original commit has it already (happens for commits done from mails via applymbox). - check if the commit author is different from the one who is running the script, and emit an appropriate "From:" and "Date: " lines to the output. - with '--date', emit "Date: " line to preserve the original author date even for the user's own commit. - teach mailinfo to grok not just "From: " but "Date: ". The patch e-mail output by format-patch starts with the first line from the original commit message, prefixed with [PATCH], and optionally a From: line if you are reformatting a patch obtained from somebody else, a Date: line from the original commit if (1) --date is specified or (2) for somebody else's patch, and the rest of the commit message body. Expected use of this is to move the title line from the commit to Subject: when sending it via an e-mail, and leave the From: and the Date: lines as the first lines of your message. The mailinfo command has been changed to read Date: (in addition to From: it already understands) and do sensible things when running applymbox. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] tools/applymbox: allow manual fixing and continuing after a failure.Libravatar Junio C Hamano1-10/+38
With "-c .dotest/0002" flag, the applymbox command can be told to use existing .dotest/patch file after hand-fixing the patch conflicts for the second patch in the mailbox, and continue on from that message, skipping the already applied first patch in .dotest/0001. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] apply.c: --exclude=fnmatch-pattern option.Libravatar Junio C Hamano1-7/+38
Adds --exclude=pattern option to the "git-apply" command. This was useful while reimporting the BKCVS patchset dump of the Linux kernel, starting at 2.4.0 and ending at 2.6.12-rc2 Ingo announced some time ago to exclude BitKeeper directory. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-22[PATCH] apply.c: handle incomplete lines correctly.Libravatar Junio C Hamano2-1/+40
The parsing code had a bug that failed to recognize an incomplete line at the end of a fragment, and the fragment application code had a comparison bug to recognize such. Fix them to handle incomplete lines correctly. Add a test script for patches with various combinations of complete and incomplete lines to make sure the fix works. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-19Add "git commit --all" since everybody seems to want it.Libravatar Linus Torvalds1-1/+5
This replaces git-diff-files --name-only | xargs git-update-cache git commit with a new "--all" argument to "git commit".
2005-07-19git-send-pack: verify that sender is a proper superset of receiverLibravatar Linus Torvalds1-10/+26
This should make sure that if you have multiple people pushing to the same tree, they cannot overwrite each others work, but have to merge before being able to update the common reference tree.
2005-07-18Merge master.kernel.org:/pub/scm/gitk/gitkLibravatar Linus Torvalds1-81/+434
2005-07-18Make the diff display less gaudy.Libravatar Paul Mackerras1-14/+32
The old style is still available as an option (we still need a preferences window so we can set/clear it though).
2005-07-18Allow short SHA1 IDs in the SHA1 entry field.Libravatar Paul Mackerras1-1/+18
2005-07-17Fix display of mode changes in details pane.Libravatar Paul Mackerras1-33/+13
Also simplified the parsing of the git-diff-tree -p output and got rid of the unused 'seenfile' variable.
2005-07-17First cut at displaying the diffs for a merge.Libravatar Paul Mackerras1-19/+34
We display the files where the child differs from the first parent first in black in the file list window, followed by the second parent in blue, and so on using different colors for each parent (provided you don't have more than 6 parents; if you do we cycle around).
2005-07-16Make searching in files changed faster, and fix some bugs.Libravatar Paul Mackerras1-43/+137
We now kick off a single git-diff-tree -r --stdin and feed it all the commit pairs we want to know about, instead of doing a separate git-diff-tree invocation for each.
2005-07-16Merge three separate "fetch refs" functionsLibravatar Linus Torvalds5-109/+67
It really just boils down to one "get_remote_heads()" function, and a common "struct ref" structure definition.
2005-07-16git-send-pack: add "--all" option to send all refs to the other sideLibravatar Linus Torvalds1-10/+28
This affects only refs that the other side doesn't already have. The ones it has are still filtered by the ref selection.
2005-07-16git-fetch-script: fix http:// breakageLibravatar Linus Torvalds1-1/+1
We were trying to fetch using the merge-head name rather than the merge-head SHA1 that we just got. Now, http:// is broken anyway right now for packing, but this should make it work for nonpacked repositories again.
2005-07-16Fix git-fetch-script breakageLibravatar Linus Torvalds1-0/+2
It had the test for the destination reversed.
2005-07-16Merge git-tools repository under "tools" subdirectoryLibravatar Linus Torvalds5-0/+527
Thanks to Ryan Anderson for setting me up to do this. I'd have used his work, but I wanted to clean up the old git-tools repository before merging it: it had old-style file modes etc that needed a round of git-convert-cache to fix up.
2005-07-16Prepare git-tools for merging into the main git archiveLibravatar Linus Torvalds7-358/+5
Rename into a "tools" subdirectory, and change name of "dotest" to "applymbox". Remove stripspace (which was already copied into git) and cvs2git (which was likewise already copied into git, and then replaced by a much better perl version). All of this was brought on by Ryan Anderson shaming me into it. Thanks. I guess.
2005-07-16git-convert-cache: fix up file modes in trees tooLibravatar Linus Torvalds1-0/+29
git-fsck-cache complains about some of the odder ones, and is quiet about the old (S_IFREG | 664) case, but that's wrong too. Converting the kernel tree is too painful right now, but at least we know how to do it if we ever want to.
2005-07-16[PATCH] Documentation: describe short-hand used in fetch/pull.Libravatar Junio C Hamano5-6/+130
Describe short-hand for remote repository used in fetch/pull. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>