summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2005-11-10GIT 0.99.9gv0.99.9gJunio C Hamano
Another snapshot, as slow and steady marth towards 1.0 continues. Major changes include: - Jim Radford's RPM split. - Fredrik's recursive merge strategy is now default for two heads merge. - Yaacov's SVN importer updates. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-08GIT 0.99.9fv0.99.9fJunio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-08Merge branch 'master'Junio C Hamano
2005-11-07Introducing: git-cvsexportcommitMartin Langhoff
A script that can replay commits git into a CVS checkout. Tries to ensure the sanity of the operation and supports mainly manual usage. If you are reckless enough, you can ask it to autocommit when everything has applied cleanly. Combined with a couple more scripts could become part of a git2cvs gateway. Should support adds/removes and binary files. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-07GIT 0.99.9ev0.99.9eJunio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Use fink/darwinport paths for OSXRandal L. Schwartz
There's no standard libexpat for OSX, so if you install it after-market, it can end up in various directories. Give paths used by fink and darwinports by default to CFLAGS. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Merge in http-push first stage.Junio C Hamano
2005-11-06Add support for pushing to a remote repository using HTTP/DAVNick Hengeveld
Add support for pushing to a remote repository using HTTP/DAV Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Package split: Debian.Junio C Hamano
As discussed on the list, split the foreign SCM interoperability packages and documentation from the git-core binary package. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Simplify CFLAGS/DEFINES in MakefileJunio C Hamano
I think the original intention was to make CFLAGS overridable from the make command line, but somehow we ended up accumulating conditional makefile sections that wrongly appends values to CFLAGs. These assignments do not work when the user actually override them from the make command line! DEFINES are handled the same way; it was seemingly overridable, but the makefile sections had assignments, which meant overriding it from the command line broke things. This simplifies things by limiting the internal futzing to ALL_CFLAGS, and by removing DEFINES altogether. Overriding CFLAGS from the command line should start working with this change. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-05GIT 0.99.9dv0.99.9dJunio C Hamano
This is primarily to include the 'git clone -l' (without -s) fix, first spotted and diagnosed by Linus and caused James Bottomley's repository to become unreadable. It also contains documentation updates happened on the "master" branch since 0.99.9c Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-03GIT 0.99.9cv0.99.9cJunio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-03Add 'ours' merge strategy.Junio C Hamano
This adds the coolest merge strategy ever, "ours". It can take arbitrary number of foreign heads and merge them into the current branch, with the resulting tree always taken from our branch head, hence its name. What this means is that you can declare that the current branch supersedes the development histories of other branches using this merge strategy. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-03[PATCH] Clean up the SunOS Makefile rulePeter Eriksen
Don't set a non-standard CURLDIR as default, and fix an error in Solaris 10 by setting NEEDS_LIBICONV. Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-03Make test-date buildable again.Junio C Hamano
Now we define and use our own ctype-replacement, we need to link with it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-02GIT 0.99.9bv0.99.9bJunio C Hamano
This contains the changes made on the master branch since 0.99.9a. The workaround for building RPMs has not changed since 0.99.9a, mainly because I haven't heard back if it was good enough for kernel.org consumption, or otherwise what changes are needed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-02Do not install backward compatibility links anymore.Junio C Hamano
This is a companion patch to 4f9dcf7e5cf6c82455925102d315daf3b833e6d6 which stops mentioning the old command names. As promised, we do not install symlinks to let people use backward compatibility names anymore. cmd-rename.sh script is still shipped to help people who installed previous git by hand to clean up the leftover symlinks. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-01Remove git-findtags.perlPetr Baudis
This script was superseded by git-name-rev, which is more versatile, actually documented, faster, and everything else... Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-31GIT 0.99.9av0.99.9aJunio C Hamano
... to contain the RPM workaround. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-31GIT 0.99.9 master branch.Junio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-29GIT 0.99.9v0.99.9Junio C Hamano
Done in 0.99.9 ============== Ports ~~~~~ * Cygwin port [HPA]. * OpenBSD build [Merlyn and others]. Fixes ~~~~~ * clone request over git native protocol from a repository with too many refs did not work; this has been fixed. * git-daemon got safer for kernel.org use [HPA]. * Extended SHA1 parser was not enforcing uniqueness for abbreviated SHA1; this has been fixed. * http transport does not barf on funny characters in URL. * The ref naming restrictions have been formalized and the coreish refuses to create funny refs; we still need to audit importers. See git-check-ref-format(1). New Features and Commands ~~~~~~~~~~~~~~~~~~~~~~~~~ * .git/config file as a per-repository configuration mechanism, and some commands understand it [Linus]. See git(7). * The core.filemode configuration item can be used to make us a bit more FAT friendly. See git(7). * The extended SHA1 notation acquired Peel-the-onion operator ^{type} and ^{}. See git-rev-parse(1). * SVN importer [Matthias]. See git-svnimport(1). * .git/objects/[0-9a-f]{2} directories are created on demand, and removed when becomes empty after prune-packed [Linus]. * Filenames output from various commands without -z option are quoted when they embed funny characters (TAB and LF) using C-style quoting within double-quotes, to match the proposed GNU diff/patch notation [me, but many people contributed in the discussion]. * git-mv is expected to be a better replacement for git-rename. While the latter has two parameter restriction, it acts more like the regular 'mv' that can move multiple things to one destinatino directory [Josef Weidendorfer]. * git-checkout can take filenames to revert the changes to them. See git-checkout(1) * The new program git-am is a replacement for git-applymbox that has saner command line options and a bit easier to use when a patch does not apply cleanly. * git-ls-remote can show unwrapped onions using ^{} notation, to help Cogito to track tags. * git-merge-recursive backend can merge unrelated projects. * git-clone over native transport leaves the result packed. * git-http-fetch issues multiple requests in parallel when underlying cURL library supports it [Nick and Daniel]. * git-fetch-pack and git-upload-pack try harder to figure out better common commits [Johannes]. * git-read-tree -u removes a directory when it makes it empty. * git-diff-* records abbreviated SHA1 names of original and resulting blob; this sometimes helps to apply otherwise an unapplicable patch by falling back to 3-way merge. * git-format-patch now takes series of from..to rev ranges and with '-m --stdout', writes them out to the standard output. This can be piped to 'git-am' to implement cheaper cherry-picking. * git-tag takes '-u' to specify the tag signer identity [Linus]. * git-rev-list can take optional pathspecs to skip commits that do not touch them (--dense) [Linus]. * Comes with new and improved gitk [Paulus and Linus]. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-26Add git-name-revJohannes Schindelin
git-name-rev tries to find nice symbolic names for commits. It does so by walking the commits from the refs. When the symbolic name is ambiguous, the following heuristic is applied: Try to avoid too many ~'s, and if two ambiguous names have the same count of ~'s, take the one whose last number is smaller. With "--tags", the names are derived only from tags. With "--stdin", the stdin is parsed, and after every sha1 for which a name could be found, the name is appended. (Try "git log | git name-rev --stdin".) Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-26pack-objects: Allow use of pre-generated pack.Junio C Hamano
git-pack-objects can reuse pack files stored in $GIT_DIR/pack-cache directory, when a necessary pack is found. This is hopefully useful when upload-pack (called from git-daemon) is expected to receive requests for the same set of objects many times (e.g full cloning request of any project, or updates from the set of heads previous day to the latest for a slow moving project). Currently git-pack-objects does *not* keep pack files it creates for reusing. It might be useful to add --update-cache option to it, which would allow it store pack files it created in the pack-cache directory, and prune rarely used ones from it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-24Add git-shell.Linus Torvalds
This adds a very git specific restricted shell, that can be added to /etc/shells and set to the pw_shell in the /etc/passwd file, to give users ability to push into repositories over ssh without giving them full interactive shell acount. [jc: I updated Linus' patch to match what the current sq_quote() does.] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-24Add git-mvJosef Weidendorfer
It supersedes git-rename by adding functionality to move multiple files, directories or symlinks into another directory. It also provides according documentation. The implementation renames multiple files, using the arguments from the command line to produce an array of sources and destinations. In a first pass, all requested renames are checked for errors, and overwriting of existing files is only allowed with '-f'. The actual renaming is done in a second pass. This ensures that any error condition is checked before anything is changed. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-23GIT 0.99.8gv0.99.8gJunio C Hamano
Primarily to update the maintenance branch deployed on kernel.org machines with the git-daemon updates. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-23Split up tree diff functions into tree-diff.c libraryLinus Torvalds
This makes the tree diff functionality independent of the "git-diff-tree" program, by splitting the core functionality up into a library file. This will be needed for when we teach git-rev-list to only follow a specified set of pathnames, rather than the global revision history. Most of it is a fairly straightforward code move, but it also involves some calling convention cleanup, and moving some of the static variables from diff-tree.c into the options structure. The actual tree change callback routines also become paramterized by the diff_options structure, allowing the library functionality to do something else than just show the diff on stdout. Right now the only user of this functionality remains git-diff-tree itself. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-21Make git-cherry-pick in target "all"Johannes Schindelin
Since git-cherry-pick is simply a copy of git-revert, it can be created before installing (so that it can be used without installing, too). Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-19GIT 0.99.8fv0.99.8fJunio C Hamano
Yes I said 0.99.8e was the last maintenance release for 0.99.8, but it turns out that there was another backport necessary after git-daemon was unleashed on kernel.org servers. Contains the following since 0.99.8e: H. Peter Anvin: revised^2: git-daemon extra paranoia, and path DWIM Johannes Schindelin: Fix cvsimport warning when called without --no-cvs-direct Junio C Hamano: Do not ask for objects known to be complete. Linus Torvalds: git-fetch-pack: avoid unnecessary zero packing Optimize common case of git-rev-list Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-18GIT 0.99.8ev0.99.8eJunio C Hamano
Linus Torvalds: make checkout-index '-a' flag saner. Junio C Hamano: whatchanged: document -m option from git-diff-tree. Functions to quote and unquote pathnames in C-style. Update git-apply to use C-style quoting for funny pathnames. Do not quote SP. git-checkout-index: documentation updates. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-16Merge branch 'svn' of http://netz.smurf.noris.de/git/gitJunio C Hamano
[jc: I have my pre-commit hook enabled to catch trailing whitespaces, and fixed them up while merging.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-16Makefile entry for git-svnimport contained a small typo.Kalle Valo
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
2005-10-16GIT v0.99.8dv0.99.8dJunio C Hamano
Contains the following changes since v0.99.8c. Johannes Schindelin: Teach git-status about spaces in file names also on MacOSX t5400-send-pack relies on a working cpio Jonas Fonseca: git.sh: quote all paths Junio C Hamano: Also force LC_ALL in test scripts. OpenBSD needs the strcasestr replacement. git-check-ref-format: reject funny ref names. Refuse to create funny refs in clone-pack, git-fetch and receive-pack. Ignore funny refname sent from remote Introduce notation "ref^{type}". Martin Langhoff: cvsimport: don't pass --cvs-direct if user options contradict us Ralf Baechle: rsh.c: typo fix Note that "funny ref" bits are not strictly fixes but rather backport from the "master" branch. They will prevent refs and heads with funny names from being created. In addition, what is in the master branch will start feeding the clients unwrapped tag information to help Martin's findtags and possibly later Cogito. These backported "funny ref" changes are to prevent clients on the "maint" branch from getting confused when talking with newer git-upload-pack and when reading from info/refs file prepared with newer git-update-server-info. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-16git-check-ref-format: reject funny ref names.Junio C Hamano
Update check_ref_format() function to reject ref names that: * has a path component that begins with a ".", or * has a double dots "..", or * has ASCII control character, "~", "^", ":" or SP, anywhere, or * ends with a "/". Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure that newly created refs are well-formed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-15git-check-ref-format: reject funny ref names.Junio C Hamano
Update check_ref_format() function to reject ref names that: * has a path component that begins with a ".", or * has a double dots "..", or * has ASCII control character, "~", "^", ":" or SP, anywhere, or * ends with a "/". Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure that newly created refs are well-formed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-15Unlocalized isspace and friendsLinus Torvalds
Do our own ctype.h, just to get the sane semantics: we want locale-independence, _and_ we want the right signed behaviour. Plus we only use a very small subset of ctype.h anyway (isspace, isalpha, isdigit and isalnum). Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-13Add findtags - reworkedMartin Langhoff
A short perl script that will walk the tag refs, tag objects, and even commit objects in its quest to figure out whether the given SHA1 (for a commit or tree) was ever tagged. This version is reworked incorporating sanity, feature and style fixes from Junio. Usage: git-findtags.perl [ -t ] <commit-or-tree-sha1> Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-13Add git-index-pack utilitySergey Vlasov
git-index-pack builds a pack index file for an existing packed archive. With this utility a packed archive which was transferred without the corresponding pack index can be added to objects/pack/ without repacking. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-12Use git config file for committer name and email infoLinus Torvalds
This starts using the "user.name" and "user.email" config variables if they exist as the default name and email when committing. This means that you don't have to use the GIT_COMMITTER_EMAIL environment variable to override your email - you can just edit the config file instead. The patch looks bigger than it is because it makes the default name and email information non-static and renames it appropriately. And it moves the common git environment variables into a new library file, so that you can link against libgit.a and get the git environment without having to link in zlib and libcrypt. In short, most of it is renaming and moving, the real change core is just a few new lines in "git_default_config()" that copies the user config values to the new base. It also changes "git-var -l" to list the config variables. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-12Export template_dir in Makefile.Tom Prince
If somebody set template_dir in config.mak. Then git-init-db would be compiled with the correct location but the templates would be installed in the default location. Fix it. Signed-off-by: Tom Prince <tom.prince@ualberta.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-11Support custom build options in config.makJohannes Schindelin
With this patch, it is possible to store configuration options like NO_CURL=YesPlease or NO_OPENSSL=YesPlease into a file named config.mak, which will be included in the Makefile. [jc: redone with suggestion from Daniel Barkalow to just use -include] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10Add ".git/config" file parserLinus Torvalds
This is a first cut at a very simple parser for a git config file. The format of the file is a simple ini-file like thing, with simple variable/value pairs. You can (and should) make the variables have a simple single-level scope, ie a valid file looks something like this: # # This is the config file, and # a '#' or ';' character indicates # a comment # ; core variables [core] ; Don't trust file modes filemode = false ; Our diff algorithm [diff] external = "/usr/local/bin/gnu-diff -u" renames = true which parses into three variables: "core.filemode" is associated with the string "false", and "diff.external" gets the appropriate quoted value. Right now we only react to one variable: "core.filemode" is a boolean that decides if we should care about the 0100 (user-execute) bit of the stat information. Even that is just a parsing demonstration - this doesn't actually implement that st_mode compare logic itself. Different programs can react to different config options, although they should always fall back to calling "git_default_config()" on any config option name that they don't recognize. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10Merge branch 'fixes'Junio C Hamano
2005-10-10Merge branch 'fixes'Junio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10Deal with $(bindir) and friends with whitespaces.Junio C Hamano
... using HPA's shellquote macro. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10OpenBSD needs the strcasestr replacement.Junio C Hamano
Noticed by Randal L. Schwartz. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10New: git-svnimport.Matthias Urlichs
As the name suggests, this script imports from SVN. Only "normal" SVN repositories (with single trunk/, branches/, and tags/ subdrectories) are supported. Incremental imports require preserving the file .git/svn2git. Signed-Off-by: Matthias Urlichs <smurf@smurf.noris.de>
2005-10-10GIT 0.99.8cv0.99.8cJunio C Hamano
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10Merge branch 'fixes'Junio C Hamano
2005-10-10Merge branch 'fixes'Junio C Hamano
with minor hand resolving on git-tag. Signed-off-by: Junio C Hamano <junkio@cox.net>