summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-07-27Deb Packaging fixes: Build against Mozilla libs for Debian, conflict with "git"Ryan Anderson
This patch includes two fixes to the git-core Debian package: * Conflict with the GNU Interactive Tools package, which _also_ wants to install /usr/bin/git. * Compile against the unencumbered Mozilla SHA1 code, instead of the iffy OpenSSL code, as much as possible. This makes it easier to get the package included for distribution with Debian. This has been based upon the original patch by Sebastian Kuzminsky <seb@highlab.com>, but has been fixed up based upon feedback. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-27Fix potential send-pack SIGSEGVLinus Torvalds
The check that the source is ahead of the destination incorrectly expects pop_most_recent_commit() to gracefully handle an empty list. Fix by just checking the list itself, rather than the return value of the pop function. [jc: I did the test script that demonstrated the problem] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-27Name it 0.99.2v0.99.2Junio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26Adjust diff-raw tests to the status letter change.Junio C Hamano
We use 'A' for added files instead of 'N' to make the it visually easier to distinguish from 'M' now. While we are at it, make the test scripts executable. Yes, I know it does not matter because t/Makefile runs them explicitly with "sh tXXXX-blah.sh", but being consistent is always better. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26diff-raw: Use 'A' instead of 'N' for added files.Junio C Hamano
This actually changes the diff-raw status letter from N to A for added files. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26Use symbolic constants for diff-raw status indicators.Junio C Hamano
Both Cogito and StGIT prefer to see 'A' for new files. The current 'N' is visually harder to distinguish from 'M', which is used for modified files. Prepare the internals to use symbolic constants to make the change easier. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26Documentation: describe git-ls-files --exclude patterns.Junio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26git-ls-files: --exclude mechanism updates.Junio C Hamano
Add --exclude-per-directory=<name> option that specifies a file to contain exclude patterns local to that directory and its subdirectories. Update the exclusion logic to be able to say "include files that match this more specific pattern, even though later exclude patterns may match them". Also enhances that a pattern can contain '/' in which case fnmatch is called with FNM_PATHNAME flag to match the entire path. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-25Update the documentation for git-tag-script to reflect current behavior.Ryan Anderson
[jc: I updated Ryan's patch to mention -a to create an unsigned tag.] Signed-off-by: Ryan Anderson <ryan@michonline.com>
2005-07-25git-tag-script updates.Junio C Hamano
This adds -a (annotate only but not sign) option "A Large Angry SCM" <gitzilla@gmail.com> sent to the list, after fixing up the whitespace corruption in the patch, with some of my own fixes. Namely: * A new flag '-a' can be used to create an unsigned tag object; * The '-f' flag logic did not do the right thing; * When creating a signed tag, we did not check for GPG failure as we should; * Try to use the key for the tagger identity when signing the tag. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-24Fix up applymbox script for the addition of "git-" prefixLinus Torvalds
Ehh, it works much better that way ;)
2005-07-24[PATCH] diffcore-pickaxe: switch to "counting" behaviour.Junio C Hamano
Instead of finding old/new pair that one side has and the other side does not have the specified string, find old/new pair that contains the specified string as a substring different number of times. This would still not catch a case where you introduce two static variable declarations and remove two static function definitions from a file with -S"static", but would make it behave a bit more intuitively. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-24Add a "git rename" to help with - surprise surprise - renamesLinus Torvalds
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-24Rename the "tools" programs to also have the "git-" prefixLinus Torvalds
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-24[PATCH] Support cloning packed repo from dumb http servers.Junio C Hamano
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-24[PATCH] Document update-server-info.Junio C Hamano
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-24[PATCH] Add update-server-info.Junio C Hamano
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-24[PATCH] git-ls-remote: show and optionally store remote refs.Junio C Hamano
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-24[PATCH] Documentation: git-peek-remote.Junio C Hamano
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-24[PATCH] git-peek-remote: show tags and heads from a remote repository.Junio C Hamano
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 syntaxLinus Torvalds
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 tagsLinus Torvalds
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.Junio C Hamano
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' overrideLinus Torvalds
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 nameYOSHIFUJI Hideaki
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 filesRyan Anderson
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 binariesRyan Anderson
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 uninterestingLinus Torvalds
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-23[PATCH] tutorial: mention "git clone" records .git/branches/originJunio C Hamano
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-23[PATCH] git-clone-script: store where we cloned from in .git/branches/originJunio C Hamano
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-23[PATCH] Test framework: prettyprint the failed command.Junio C Hamano
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-23[PATCH] Install tools with "make install-tools".Junio C Hamano
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-23[PATCH] Audit rev-parse users.Junio C Hamano
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-23[PATCH] git-branch: avoid getting confused by empty or nonexisting branches.Junio C Hamano
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-23[PATCH] Help scripts that use git-rev-parse to grok args with SP/TAB/LFJunio C Hamano
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-23[PATCH] Document "curl" requirements.Junio C Hamano
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-23[PATCH] Support more http features: https no cert, .netrc -> authDarrin Thompson
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-23[PATCH] Install git-verify-tag-scriptEric W. Biederman
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-23[PATCH] Cleanup: git-verify-tag-scriptEric W. Biederman
- 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-23[PATCH] Fix a typo in git-unpack-objects documentation.Jan Veldeman
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-23[PATCH] debian/ fixesRyan Anderson
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.Junio C Hamano
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.Junio C Hamano
- 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.Junio C Hamano
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.Junio C Hamano
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.Junio C Hamano
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.Linus Torvalds
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 receiverLinus Torvalds
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/gitkLinus Torvalds
2005-07-18Make the diff display less gaudy.Paul Mackerras
The old style is still available as an option (we still need a preferences window so we can set/clear it though).